Google’s tactic to ensure developers build power-efficient apps for Android O is to let users see exactly what processes are chewing up battery life.
The new battery menu will arrive with Android O’s new power-saving rules via limitations on background processes, such as how often a background app can ask for the device’s current location and Wi-Fi.
The other area where it’s imposing restrictions are broadcasts, or the signal to other apps when, say, a user takes a photo. Apps listening for this action will wake up in preparation, which also consumes memory and power.
These efforts in Android O build on previous Android battery-saving techniques, such as Doze and Doze Lite for devices that are idle for a period of time, and Standby.
Expecting perhaps that some developers will try to bypass these restrictions, say, by foregrounding apps, Android O will make this and other bad behavior visible to the user via new details in the battery menu that highlight foreground and background processing for each app.
In its current form the menu simply shows which apps are consuming energy along with a percentage. Though it is technically accurate, it’s not so useful at providing the context of how the user was using apps, leaving the user to try to calculate which app was chewing up battery life.
As Android Police notes, the Android O battery menu will focus on “actionable interaction” making it easier for the user to find out what’s causing battery drain and take action.
Google product manager Ben Poiesz detailed the battery menu and its purpose at IO yesterday. The new details are not just to pressure developers into good behavior but also to offer the user a realistic account of their app usage that day.
Indeed, user education about battery impact is part of Google’s longer-term strategy to achieve a multi-day battery life on Android. For example, it wants users to understand that playing Pokemon Go for two hours straight or live streaming for lengthy periods will drain a battery.
The multi-day target will take time, given the complexity of the Android ecosystem. As Poiesz noted, app developers currently need to deal Android OEMs different strategies to boost battery life. Google plans to introduce “crisper” rules about when apps can run in the background.
It’s also trying to devise an alternative to uninstalling the app if the user isn’t happy with how the app impacts the battery. And it wants to eliminate users’ uncertainty about whether an Android device will make it through a day.
A key plan is figuring out how Android can defer jobs by apps in the background. On the visibility front, Android may flag to the user when an app is consuming lots in background processes.
“If a single large install base application makes a unilateral decision to increase its wake lock time, the OS and the user is powerless to do anything about it,” explained Poiesz.
Google wants the user to be able to select what features the application is given, based on the perceived value of it running in the background. The user should be able to express that preference but currently cannot.
“The default for all these things is ‘On’, and the model you can think of is, ‘As long as you’re cool, the OS is cool and everybody will be cool’,” said Poiesz.
“In this scenario, applications start getting aggressive, battery use starts getting high, scanning rates getting higher. We may start informing the user, ‘Hey this stuff is getting heavy on your battery. Do you really want it to run in the background?’ And they can articulate that back to the OS and we can begin to have a control surface for the user to manage these applications.”