24 hours with the Android M developer preview
I installed the Android M developer preview on my Nexus 5 yesterday, not because I’m looking to test and optimize any apps, but mostly because I can and I gain some sort of perverse joy out of being on the bleeding edge and submitting bug reports. I was helping run MomoCon over the weekend, so I didn’t get to install it right away, but it was one of the first things I did after I got back from my trip and slept a little.
In case you missed it, Google I/O was last weekend, and they announced what is essentially a public beta for their forthcoming release of the newest version of Android (among a TON of other things). It’s only for the Nexus 5, 6, and 9 devices (leaving my poor Nexus 7 out in the cold), and they make super extra sure to tell you that this is an unfinished version of Android and that it’s not meant to be a “daily driver.” And the first time I flashed it to my phone, I was inclined to agree, except it turned out I’d made one big mistake…
I didn’t follow the instructions and didn’t wipe my device before installing it.
Now, in my defense, I manually update my phone all the time. It’s kind of a regular thing since OTA updates don’t install automatically on a rooted device, and even if they did, I don’t like waiting around for updates to get pushed to me. Since for whatever reason my Nexus 5 has never particularly liked to sideload the smaller OTA updates (even though my Nexus 7 doesn’t mind), I’ve always had to go and flash the whole new image every time I want to update. I use the Nexus Root Toolkit for this since it pretty much automates everything you’d ever want to do to your Nexus device (and I have 3 of them, all of which operate slightly differently, so this really makes upgrading and testing out different system images very convenient).
So there I am, going through the usual process of flashing a new image and not wiping the device, because that’s what I always do. Install goes fine, phone boots up, everything looks pretty good on the surface. Then came the “Unfortunately [App] has stopped” errors. Dozens of them. And hardly any apps worked. And about a dozen other really weird and interesting defects. At first, I thought, “Yeah, I can see what they meant by it being unfinished and not recommended as a daily driver.”
As I took note of what worked and what didn’t, some of the apps that didn’t work updated and suddenly worked. My first thought was, “How nice that they seem to be right on top of fixing whatever was keeping them from working.” But then I wondered if they just started working because they’d functionally just been reinstalled. So I uninstalled and re-installed a couple of apps just to see. They worked. But there were still several other, non-app-related things that weren’t working for me that were working for seemingly everyone else. So I poked around the internet a little bit only to find that most people were finding the Android M preview to be perfectly functional as a daily driver and no one was experiencing any of the truly weird things that I was. (I’ll make another post about what those weird things were, because some of them were legitimately interesting.)
And then I saw the admonition on several articles about the preview, which in my hasty excitement, I had missed: You must perform a wipe of your device before installing the preview system image.
In the back of my mind, I’d vaguely suspected this might be the case, but I may have been hoping that it wasn’t going to come to that. Wiping my device is always nerve-wracking. Pretty much everything on it is backed up regularly in some way or another, and Google automatically backs up so many more things now than it did in the days when I was doing app usability testing on the Nexus One or when I first started using my Nexus S, but there’s still that nagging voice of “what if you forgot something?” Not to mention the whole time-consuming process of waiting for your apps to re-download, then re-logging in to everything, and telling Facebook that no, you don’t want it to beep at you for every little notification (although word is, Google will start backing up some of those app settings here pretty soon, so that’s at least some time shaved off the setup process in the future).
But I did it. And I’m glad.
As it turns out, the process of setting up a phone from scratch is one that often forces you through all of the menus and most of the settings, making it a wonderful time to soak in tweaks to the options, features and UI, as well as a great opportunity to sniff out bugs. Here are some highlights of what I found:
- During setup after first boot, when your apps are being restored, your homescreens are restored to the layout from your last backup (minus third-party widgets) and app shortcuts are greyed out until they’re redownloaded. As they’re being downloaded, a status ring appears around the app icon showing its installation progress.
- You can set the menus to a dark theme in the Developer Options menu! I already keep the keyboard set to a dark theme (too much white hurts my eyes, especially if I’m using my device in low light), so this makes it all nice and unified.
- Holy advanced app preferences. Go to Settings->Apps->(three dot menu)->Advanced.
- App permissions lets you view apps by the permissions they have. So if you’re wondering what all apps have a specific permission, you can get a list of everything that requests that permission and turn them on or off.
- App links shows what apps can/will open certain links and let you set custom values. So if you always want links to Facebook to open in the Facebook app no matter where you click them, this should do that. You can sort of do this in Lollipop, but this is one-stop-shopping for it.
- You can set apps to ignore battery optimizations (such as low battery mode, I’m assuming). I don’t think you could do this before.
- Memory gives you a really nice historical overview of the memory consumption of apps and services as well as your whole system.
- Calculator has added an option to swap between RAD and DEG modes and has improved access to scientific calculator functions on small screens.
- Camera adds a little round thumbnail of the photo you just took above the menu button.
- Opening Email brings up a screen that tells you that it’s now unified with Gmail app and provides the option to map the shortcut (in case that’s the icon you’d been used to clicking on).
Of course, there are plenty of other features and exciting things, many of which were either covered in the I/O keynote, and on blogs that focus way more on this stuff than I do. These are just a few things that I found notable and appreciated.
Truly, the other reviewers are right about the Android M Developer Preview–you really can use it as a functional daily driver. Sure, there are still some bugs, including one I noticed during setup, but so far, most of them seem minor and largely no different than what you’d often find in stable releases. I mean, you’d have to figure that for something released into what’s essentially a public beta, it’d have to be at least pretty stable, but maybe that was all expectations management.
Right now, the only things that don’t seem to be working for me are things that aren’t working for other people, either. The Uber app crashes while trying to load, and I’m having trouble pairing my Fitbit to my phone (which seems to be a problem with Bluetooth). All told, both very minor things that I can live with until they get fixed.
So, should you install the Android M preview? If you have the patience to deal with minor functionality flaws and the possibility of things not working 100% right on your primary device, or if you really like sniffing out bugs and reporting them, then sure. If you have a secondary device that’s compatible and you have any curiosity at all, then definitely yes.
As for me, I think it kind of gave my Nexus 5 that “new phone smell” again for awhile.