As expected, Google today announced the developer preview release of the next version of Android at its I/O developer conference in San Francisco. With Android M (which will get its full name once it’s released to users), Google focuses mostly on fit and finish, but the company also added a number of new features to its mobile operating system.
It’s no surprise that Android M won’t feature any major new design elements. The last release, Android Lollipop, introduced Google’s Material Design language, after all, and there are still plenty of developers who haven’t even migrated their apps over.
As Google’s Director of Product Management Brian Rakowski told me earlier this week, the company has learned a lot since the team introduced Lollipop at last year’s I/O and quite a bit of that learning has found its way into Android M.
The preview release includes updated SDKs, system images for testing on the Android emulator and the Nexus 5, Nexus 6, Nexus 9 and the Nexus player. Google says it has fixed “thousands of bugs” in this release and that it will provide updated preview system images regularly during the preview program. The consumer launch is scheduled for fall.
In addition to Android M for phones, Google also today announced an update to Android Wear, as well as Android for the Internet of Things.
Here are some of the highlights of the new release:
Google Now On Tap
The highlights of the release include a new, more contextual variant of Google Now called Google Now On Tap that can give you more information about the things you are currently looking at in any given app on your phone or tablet. According to Google, this new service provides you with a contextual assistant that can help you get stuff done faster.
Here is how this works: say you are having a text chat with a friend in Hangouts about Mad Max and when you bring up Now On Tap by tapping and holding the home button on your phone (hence the ‘on tap’), Google will know what you’ve been talking about in the app and give you more info about it (in this case, that’s probably movie times, a list of actors in the movie, relevant apps, etc.).
While developers won’t have to do anything to enable this feature for their apps (it’s built-in at the OS level), they can help Google understand the context in their apps better by adding a bit of metadata to their apps.
We have a full post about this new feature here.
With Apple Pay looming large, the failure of Google Wallet as a mobile payments system was pretty apparent in the last few months. Now, with Android Pay, Google is taking a new stab at this market and this time, it’s cooperating with a number of vendors, including AT&T, Verizon (soon to be the parent company of TechCrunch) and T-Mobile, who will pre-load Android Pay on their phones. Google says Pay should work with all phones that have an NFC chip and run Android KitKat forward.
The focus with Pay, Google says, is on simplicity, security and choice. The company also stresses that this is an open platform. Banking partners include American Express, Discover, Visa and MasterCard. Google has already worked with a number of app developers to integrate Pay into their apps, too.
Like Apple Pay, Android Pay will work for both in-app purchases and purchases in brick-and-mortar stores. Developers who want to support it can simply call the Pay API. Google says it wants to give developers as much choice as possible, down to who they want to use as they payment provider.
Users will be able to use Android’s usual unlock mechanisms to access Pay, as well as the new fingerprint scanner support in Android M. In apps, developers will be able to support the fingerprint scanner to quickly authenticate users for payments, too.
Google Wallet will continue to exist in parallel with Pay for the time being, but it’s focus will be on peer-to-peer payments now.
OS-Level Support For Fingerprint Scanners
As rumored, Android M will also feature support for fingerprint scanners. While some OEMs already built this into their devices, there has never been system-level support for this in Android. After looking at what OEMs were doing in this area — and surely Apple’s efforts around Touch ID — Google decided it was time to create a system-wide standard for this feature. As you would expect, users will be able to unlock the phone with their fingerprints and authorize payments.
Until now, users had to give apps permission to access their contacts, files, camera, photos or whatever else the app needed when they installed the app. Often, though, users may not even fully understand why an app would want access to their contacts, for example, and simply choose to abort the install process there. Too many apps, after all, tend to overreach when it comes to permissions.
Android M feature a completely revamped permissions process. Instead of asking users for all of their permissions in a single dialog when they install the app, Google will now move the process to when users run an app for the first time. And instead of asking for all permissions at once, developer can choose to ask them only when the app needs them. So a camera app may ask for camera, microphone and camera roll access right when you first launch it, but then it will ask for access to your contacts only once you want to share a photo or video. That way, developers can ask for permissions in the right context and users will understand why the app is asking for access to this info.
Developers who don’t update their apps will see that their apps will still use the old permissions model, but they will have to modify their apps to enable these more granular permissions. No matter whether developers update their apps or not, users will be able to change every aspect of their permissions in the Android settings menu.
Google tells me the Android team also worked hard on improving performance and memory usage across the board. The one feature the team is most proud of, though, is the new ‘doze’ mode that will help improve the battery life of devices that stay stationary for a while.
This new mode is different from Android current ‘battery saver’ mode, which is meant for when you are actually using the device. Rakowski tells me that the new mode is meant for when you put your tablet or phone away for a while. Google already powers most of the device’s hardware down at that point, but because many apps love to pull in new data every few minutes, the phone or tablet tends to wake up regularly to download your email, for example. Now, Android will manage this and slow down the syncing rate automatically. When you’re not using the device, you don’t really care how long it takes to download your emails, after all, and when you pick it back up, all your information will still be in sync
Rakowski tells me that this can increase the battery life of a Nexus 9 tablet by up to 50%, for example. Google also stressed the real-time alarms will still work as expected and high-priority messages will still arrive just like before.
Android M also makes it easier for developers to link between Android apps. Android, of course, has always allowed apps to register to natively handle certain URLs. The Android platform always had support for intents, but if you had a number of apps that used the same URL scheme, though, Android would have to pop up a disambiguation prompt (and in my experience, it often forget your choice). Now, developers can set what Google calls the “autoVerify” attribute in their app manifest that will ensure that users can be linked right into their native app with that prompt.
On the web front, Google also launched Chrome Custom Tabs. This means that when you tab on a web link in a native app, the web link will open in a custom tab that feels native to the app, even with custom buttons back into the app. The content is pre-fetched, so the web content will launch extremely fast.
Google tells me the team has also worked on bringing USB-C support to Android. Google says it is working with device manufacturers to bring devices with USB-C to users soon.
“With this release, we focused on product excellence, and polish to file down the rough edges that have been bothering us over the years — as well as things that we didn’t get done in time last year,” Rakowski said.
Other updates to Android M include easier word selection, a new sharing feature that highlights the people and apps you share with most often, simplified volume controls that allow you to control music, a unified settings menu, alarms and other volume setting more easily.
Developers who want to make use of the features in this new release will likely want to install the latest update of Android Studio (1.3) from the Canary release channel. This new version supports Android M, but it also introduces features like code editing and debugging for C and C++ code (something game developers, who tend to use these languages for their apps, have long asked for).