Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Enable Battery Saver settings #240

Closed
bbinto opened this issue Jan 23, 2019 · 14 comments
Closed

Enable Battery Saver settings #240

bbinto opened this issue Jan 23, 2019 · 14 comments
Labels
Feature:Battery feature request 🌟 New functionality and improvements

Comments

@bbinto
Copy link
Contributor

bbinto commented Jan 23, 2019

This is about packaging existing features that help users save battery.

User Story

As a user, I want to be able to enable battery saver mode in my browser, so I can browse for longer without having to charge my phone.

Requirements

Surface a battery saver mode that includes the following battery saving features:
-Block Trackers
-Disable media autoplay
-Enable dark theme
-Enable dark mode (webpage)
-Auto Reader Mode (when available)
Later:
-Lower Image Quality
-Throttle Streaming Bandwidth (use lower quality video streams)

Acceptance Criteria

  • I can enable battery saving mode (enabling all features)
  • I can individually toggle off each feature

image

┆Issue is synchronized with this Jira Task

@bbinto bbinto added this to the MVP Metas milestone Jan 23, 2019
@bbinto bbinto added the Epic label Jan 23, 2019
@bbinto bbinto added this to Milestone 4 in Fenix MVP Jan 23, 2019
@st3fan st3fan closed this as completed Jan 24, 2019
@st3fan
Copy link
Contributor

st3fan commented Jan 24, 2019

@bbinto Can we reference the ideas we previously talked about? I don't know where to find those. Maybe @shorlander knows?

@st3fan st3fan reopened this Jan 24, 2019
@shorlander
Copy link

@st3fan this is the list I have of things we have discussed that could potentially create battery savings:

  • Block Ads
  • Block Trackers
  • Disable Autoplay
  • Reader Mode as Default
  • Dark Mode (Theme)
  • Lowering Image Quality
  • Throttle Streaming Bandwidth (use lower quality video streams)

There was also some discussion around things we might not being optimizing on the platform side because we haven't been thinking about them primarily from an energy saving perspective. This included some discussion around maybe more aggressively caching things to avoid using the radio.

@colintheshots
Copy link
Contributor

I guess I misunderstood the feature based on older discussions. We'd mentioned removing native apps and replacing them with PWAs or web apps. Also, we seemed to indicate we'd somehow measure the benefit of various steps, which is tremendously hard on Android.

The list you mention doesn't seem too difficult, but there's the overhead of keeping extra code branches across the app. We could probably handle this type of configuration with the component architecture we have planned-- the same way we're handling layout A/B experiments.

@bbinto bbinto added the 🙅 waiting Issues that are blocked or has dependencies that are not ready label Jan 25, 2019
@bbinto
Copy link
Contributor Author

bbinto commented Jan 25, 2019

This includes the UI to enable it, the individual functionalities should be split into different tickets

@sblatz
Copy link
Contributor

sblatz commented Jan 25, 2019

@Cheap-Skate
Copy link

Some suggestions on power saving

  • Reduce frame rate

I think animating, scrolling and flinging use quite a lot of CPU power (GPU in the case of WebRender). You could reduce layout.frame-rate to 30 fps. (I think Firefox Desktop is talking about doing this on low power machines but to speed things up not save battery???).

IIRC my previous Sony Xperia phone had "Stamina" mode which I think downclocked the GPU and limited the frame rate, on Android native animations at least. It got quite janky.

  • Downclock CPU cores??

A guess but...

Most phone CPUs have some kind of big.LITTLE architecture. The big cores will likely use more energy for a given task than the LITTLE cores, but will do the task faster. Is it possible to force a phone to use only its LITTLE cores for page load, JS etc? Even with no big.LITTLE, energy consumption should drop somewhat with a bit of downclocking, so e.g. a CPU limited to say 1500 MHz might use a bunch less energy than clocked right up to 2000 MHz.

For example, you might see 30% longer page loads by doing this, but get but 20% power saving. Or something. No idea if it's practical.

My Galaxy S7 has a power saving mode which allegedly reduces the CPU speed.

  • Reduce screen resolution

Doubt it's possible but again GPU workload could be reduced by forcing the phone to use a lower resolution. I doubt you can do this app by app, it's probably a system wide setting. Again my Galaxy S7 has a power saving mode which reduces screen resolution to HD.

No idea if it's any help!

@Sdaswani
Copy link

Sdaswani commented Feb 5, 2019

@sblatz this may not have been ready for breakdown, did someone ask you to break it down?

@sblatz
Copy link
Contributor

sblatz commented Feb 5, 2019

@Sdaswani I must have mistakenly thought this was ready when I was looking for work last week (and was directed to breakdown meta tickets). Sorry for any confusion

@Sdaswani
Copy link

Sdaswani commented Feb 5, 2019

No worries @sblatz ! We may want to reverse the breakdown as what we are doing here is still not clear.

@bbinto bbinto self-assigned this Feb 12, 2019
@bbinto bbinto changed the title [Meta] Enable Battery settings [Meta] Enable Battery Saver settings Feb 20, 2019
@bbinto
Copy link
Contributor Author

bbinto commented Mar 14, 2019

@bbinto
Copy link
Contributor Author

bbinto commented Mar 15, 2019

We decided on March 15 that we will take individual features out of the batter context, add them individually and in the future, in "past MVP" versions, we might bundle it all back together, once we have all instrumentation in place and data gathered to make a claim how these individual features can and will save battery.

More info: https://docs.google.com/document/d/1W2eImtB_7AQQpJOaCwK3w3y0sGV_HOgesP7_k_4EP-E/edit#

This was referenced Mar 18, 2019
@vesta0 vesta0 removed should 🙅 waiting Issues that are blocked or has dependencies that are not ready labels Jun 7, 2019
@vesta0 vesta0 removed the Epic label Jul 5, 2019
@vesta0 vesta0 changed the title [Meta] Enable Battery Saver settings Enable Battery Saver settings Jul 5, 2019
@sblatz sblatz added the feature request 🌟 New functionality and improvements label Jul 11, 2019
@vesta0 vesta0 added feature request 🌟 New functionality and improvements and removed feature request 🌟 New functionality and improvements labels Jul 23, 2019
@vesta0 vesta0 removed this from the Feature Backlog milestone Jul 26, 2019
@vesta0 vesta0 added could and removed feature request 🌟 New functionality and improvements labels Sep 19, 2019
@vesta0 vesta0 added this to To be Triaged in Fenix Sprint Kanban via automation Sep 19, 2019
@vesta0 vesta0 moved this from To be Triaged to Prioritized UX Backlog in Fenix Sprint Kanban Sep 19, 2019
@vesta0 vesta0 removed this from Could in Fenix Q4 Feature Backlog Sep 23, 2019
@vesta0 vesta0 removed this from Prioritized UX Backlog in Fenix Sprint Kanban Sep 23, 2019
@vesta0 vesta0 removed the could label Sep 23, 2019
@sblatz
Copy link
Contributor

sblatz commented Sep 24, 2019

@vesta0 can this get a could or should or must. If it doesn't have a feature request label nor any of those, it gets kicked back to our triage list.

@sblatz sblatz added the feature request 🌟 New functionality and improvements label Sep 24, 2019
@vesta0
Copy link
Collaborator

vesta0 commented Sep 25, 2019

Thanks for adding back the Feature request label. We need more investigation before building this so it's on the roadmap but not prioritized.

@vesta0 vesta0 removed this from Extend reach in Fenix Feature Requests May 12, 2020
@vesta0 vesta0 added this to Q3 Investigations in Fenix Product Backlog May 12, 2020
@data-sync-user data-sync-user changed the title Enable Battery Saver settings FNX3-16294 ⁃ Enable Battery Saver settings Aug 11, 2020
@kbrosnan kbrosnan changed the title FNX3-16294 ⁃ Enable Battery Saver settings Enable Battery Saver settings Aug 25, 2020
@vesta0 vesta0 moved this from Q3 Investigations to Later in Fenix Product Backlog Sep 10, 2020
@kbrosnan
Copy link
Contributor

As part of #26855 this report is closed. I think we would want to do this differently.

@kbrosnan kbrosnan closed this as not planned Won't fix, can't repro, duplicate, stale Dec 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Feature:Battery feature request 🌟 New functionality and improvements
Projects
No open projects
Blocking Fenix
Blocked by Other
Development

No branches or pull requests

9 participants