Google's vision for the next version of Android is incomplete, and we should treat it as such.
As Android users we are no strangers to the excitement that comes with something new. Google announces new things for Android, and hardware manufacturers spend the next year bringing that vision to life in various shapes and sizes. Some of us live for the bleeding edge, focusing on the next processor generation or what the pixel density of the next screen is. Google has made software a part of that experience in a couple of ways, and recently this has resulted in an almost electrical charge of excitement or frustration aimed at the features found in the Android M Developer Preview.
As cool as it is that Google lets everyone take a look at the next iteration of Android — for free as long as you have a Nexus device — sometimes it's easy to lose sight of what's important in these previews. Developers are the key focus here, and in Android M more than just about any previous version of Android, the stuff under the hood matters a whole lot more than the stuff we see on the surface.
For Kit Kat users, the Android L Developer Preview was like a window into a whole new world. Google's Material Design ran rampant across the screen, and everything felt alive and new. Plus the 5,000+ new APIs meant developers had a lot of new toys to play with, and the early adopters would flock to whatever apps supported Material and took advantage of the new features when the Nexus 6 launched. When that day finally came, it was immediately clear that a number of substantial changes were made to Android L before it became Lollipop. While it was a lot of fun to play with the L Developer Preview, what we saw there wasn't a complete thought — and that's the takeaway we should be applying to the Android M Developer Preview.
It's cool to see Google experimenting, but it's important to remember that none of this is anywhere near set in stone
There are a couple of things in the M Developer Preview that most folks seem to either love or hate. Google is trying out a refresh on the old vertical scrolling app drawer from back in the day, Do Not Disturb seems to have not only come back but taken up permanent residence in the Quick Settings panel, and if you know the right combination of button presses you can access an incomplete dark theme and a mostly broken multi-window implementation. It's cool to see Google experimenting, but it's important to remember that none of this is anywhere near set in stone, or even fully functional. That's because this stuff isn't what's important for getting developers ready for the next version of Android, which is the stuff that is truly important.
Look at Doze, Google's new deep sleep mechanism, for example. This is a system designed to kill network access for everything but high priority Google Cloud stuff, including WiFi scans, and disable things from AlarmManager and JobScheduler. The great news here for users is almost nothing, including wake locks, will kill the battery on your device when it is left idle. To handle this behavior change gracefully, developers need to be able to make sure their apps don't cause a chaotic flood of notifications when the user picks up their device, otherwise that app is sure to get uninstalled after a while.
App Permissions are another huge win for the users that developers need to prepare for. Specifically, it will be important for developers to have a way to communicate to the user in plain English why a permission is important. As tempting as it may be for someone to go and turn off the location and microphone access for everything, it's going to break some basic functionality in a handful of apps along the way and those developers need to ensure they aren't the ones to blame for that behavior. Graceful failure and simple communication will solve a lot of that, but it needs to be baked into the app on launch day.
These are two of dozens of things under the hood in Android M that developers need to prepare for, and that's why the M Developer Preview exists. Google's entire focus right now is on developers making better apps, and this is a critical part of that process. While we also get a glimpse at what the Android team is working on as they prepare for the next Nexus, it's important to remember we're not looking at a finished product. This year moreso than last year, since we know already there will be several updates to the M Developer Preview along the way. We're sure to see some visual changes as the next version takes shape and becomes a complete thought, and as folks who enjoy living on the bleeding edge you get to be a part of that. Your best bet at this point is to kick back, relax, and enjoy the ride. Who knows, changes you don't agree with at first might even grow on you.