Tech —

Android M Dev Preview delivers permission controls, fingerprint API, and more

Android M also brings battery and performance improvements.

Android M Dev Preview delivers permission controls, fingerprint API, and more
Google

SAN FRANCISCO—The next version of Android is official—Google just announced "Android M" at Google I/O 2015. This isn't a full version of Android; it's a developer preview like "Android L" (which launched at I/O last year). As a dev preview, it will largely be only the core OS, and it isn't suitable for day-to-day use (but try to stop us). It remains a tantalizing look into the future of Android, though, and we expect all of this will hit consumers before the end of the year.

App Ops is back! Permission controls come to Android

The biggest change for developers in Android M will be user-selectable permissions. Currently, Android permissions are an all-or-nothing affair—you give the app the full list of permissions it wants or your don't install it at all. In Android M, Google will be letting users pick and choose which permissions they allow in an app, and the company will provide a control panel for managing permissions.

The system looks a lot like App Ops—Android 4.3's hidden permissions manager—which was promptly removed after it was discovered by users. Just like in App Ops, you pick an app in the permissions manager and you'll get a list of every permission it has access to alongside on-off switches for each. You can also look at apps by permission type if you want to, for instance, see every app with access to your microphone.

Google will also revamp the way it displays and explains permissions to users. We were able to talk to Google VP of Product Management Brian Rakowski before the show, and he says permissions have been "dramatically simplified" and reorganized into a "smaller, more understandable list."

"We have permissions mapped to things people understand and want to exert control over," Rakowski told Ars.

Permissions are also changing from a big list at time-of-install to individual prompts at time-of-use, similar to iOS. So when an app first asks for your location, you'll get a popup asking if you want to allow it.

When Google killed App Ops in Android 4.3, we suspect app compatibility concerns were a part of the reason. For instance, if you block an app from camera access and  it tries to access the camera, it would often just crash. With Android M being a dev preview, developers now have the heads-up they need to gracefully degrade their apps if users block a permission.

Rakowski gave us an example of how the system will work when a user blocks the location permission: "In a pre-M SDK app, it would just look like you couldn't get a location. In post-M world, we'll let the app know 'Hey, you don't have the permissions' and they can throw up whatever UI they would like to handle that case or tell the user why the feature isn't working." One of the potentially confusing things in Android 4.3's implementation of permission controls was that things would just be broken if a user forgot they messed with App Ops. Now, apps will know when a permission block is causing a problem, and they can alert the user as to why something doesn't work.

The fingerprint API is real

The fingerprint API that we posted about back in December is finally making it to developers in Android M. Google is integrating the fingerprint sensor into the Android lock screen, and it will be used to authorize payments through Android Pay NFC and for purchasing apps in Google Play. An API will be available to let any developer build fingerprint compatibility into their app.

The biggest problem when it comes to Android and fingerprints is that there are currently no Android M devices with a fingerprint sensor. During the development of the Nexus 6, a fingerprint sensor was almost added to the dimple on the back, but it never happened. Without a sensor, developers will be adding purely theoretical fingerprint support until the release of a new Nexus device.

This is part of the reason the fingerprint API is so important, though. Now that it's out, OEMs can start putting fingerprint sensors in devices knowing that they'll eventually get used by developers. Xiaomi has even stated that it won't add a fingerprint sensor to its devices until Google added support to Android. Samsung pushed out its own fingerprint API in the Galaxy S5 and 6, but hopefully it will switch to Google's "whole ecosystem" version rather than try to fragment the fingerprint landscape with its own custom API.

“Doze” mode and better battery life

While Project Volta focused on battery improvements in Lollipop, Google still isn't satisfied with Android's longevity. In Android M, the company is adding a "Doze" mode, which uses motion detection to learn if a device has been left unattended. If the feature determines that your device isn't being used, Android M will "exponentially back off background activity, trading off a little bit of app freshness for longer battery life."

During its research for Project Volta, Google took a Nexus 5 and put it in airplane mode and measured how long it took to die with the screen off. In normal use, the device struggles to last a full day, but while idling like this, it lasted a full month. The takeaway was that if you can just get the phone to stop doing stuff, your battery life will greatly increase. After this research, it's no surprise to see Google focusing on deeper sleep modes.

"Doze" shutting down background processes while the device is stationary means that Android will go into a deep sleep overnight, but it won't shut down when it's in your pocket during the day. If you forget the phone at home, you should come back to a relatively full battery, or if you're at home or work using a desktop computer or tablet instead of your mobile phone, you likely won't burn much juice. It will also help out less frequently used devices like tablets.

The missing “Googley” parts

Remember, Android M is just a developer preview, so most of the user-centric features are being withheld for now. Just compare Android L to what eventually launched in Android 5.0, Lollipop. Google is also using the OS to launch "Google Now on Tap" with the assistant API, and it's revamping Google Wallet into Android Pay. Rakowski says Google has also done a "ton of work on improving overall performance" with this release.

Android M should be available any day (or minute?) now, and we'll have a full walkthrough up as soon as possible.

Listing image by Google

Channel Ars Technica