Rumour has it we’ll know all about the look and features of the next version of Android, codenamed Gingerbread, as early as next week.
Which makes it time for me to round up what’s good, what’s bad and desperately needs fixing with Android 2.2 (Froyo). Because Android, as much as I completely adore it, has some serious issues which I believe will only get worse unless Google makes some structural, architectural and political changes to the platform. To put it shortly, this android is suffering not only from intricate technical issues (that can not be solved by an oilbath), but a full blown identity crisis.
Did I mention I love Android? I do. I love that it’s so completely easy to set up calendar, email and contacts sync by just signing in. I love that every app on the phone can and will automatically sync in the background. I love that when there are system updates I get a notification, and that I can then go on to update the phone over the air, without ever connecting to a computer.
Mostly, I love the notification system — the ubiquitous bar along the top of the screen which literally serves as a tray for email alerts, calendar appointments and even tells you if Skype is running. Then of course, Google Listen, which automatically downloads my podcasts so that I can listen to a new Macbreak Weekly every wednesday on my way to work. Recently I’ve learned to love the wireless hotspot capabilities, which allows the girlfriend to check her email on her wi-fi iPad, even when there really is no wi-fi nearby.
When Android works for me, it’s blissfully and outrageously delightful.
When Android goes bad on me, it fails to kill rogue apps that reside in the background using power yet providing no clear exit strategy (Skype, for instance). When it’s really bad, it’s so open and liberal that it provides every other app the ability to run at startup, on a change in connectivity, or even after startup, pretty much respawning itself with no lasting way to stop it from running unless you want it1, which is especially annoying when this bad egg of an app is un-uninstallable (more on that later). It quickly becomes a confusing mess.
One thing that is especially stupid, is the limits Android imposes on app data storage. No doubt due to technical reasons, Android only provides an embarrassing 256 mb storage for apps and app data. Things were slightly improved with Froyo which allowed you to move your apps from internal storage to the SD card, but app data is still stuck in those 256 mb. Which quickly fills up, since that space is used by both Gmail, Calendar and every other app you install. Once it’s full, you won’t get any new emails until you “resolve the situation”, which means clear the data from one or more apps — wiping every customization you ever did for that app, or even uninstalling apps2. Yes, this is ridiculously stupid, and no doubt why Google themselves tout that Android is not tablet ready. Amen.
But all of that is fixable. Androids multitasking, while technically impressive from the start, has continually improved — significantly with Froyo, to the point where it’s almost there. The best type of multi-tasking is the one that becomes completely invisible and completely out of mind. Google can get there by iterating. And I believe Google will fix these things. My biggest bet for Gingerbread? A sensible storage solution for Android apps and data.
What desperately needs fixing before it’s too late
The preceding pros and cons all sidestep the real issues Android faces. The fact is that Android is up against some pretty good competitors (and has been from the start). A large group of people swear by Apples iOS devices for their polished and coherent UIs and much prefer that they just work over Androids growing feature-set. On the horizon, Windows Phone 7 is set to bring a new, pretty and unified looking UI experience which may or may not work in day to day life. Common to both iOS and Windows Phone 7 is a much larger chunk of control on part of the software vendors. Apple controls operating system and devices, and while it’s a lot longer between releases compared to Android, when an iOS release is let into the wild, it’s up to each user individually to upgrade — not carriers and hardware vendors. Windows Phone 7 comes with a bunch of requirements that ensure something similar is possible on that platform. Neither of those platforms is likely to suffer from Androids fragmentation issues — the fact that some devices still run Android 1.5.
Why is this the case with Android? This is rooted deeply in the gamble on “open”. Which means Android is open source. Which means if you’re a carrier, you can take Android, pre-install a Nascar app, remove wifi tethering, and sell it to a willing mob of morons clearly unwilling to speak with their wallets. It also means you can tweak Android and install it on a television, a GPS device, a music player, a car, a fridge, a toilet or a dog collar. Which someone is likely to do. So on the one hand, by letting go of control of the Android experience, Google has instead gained a freight-train of momentum for a platform which has now grown so large that it’s impossible to ignore.
How could this possible go wrong in a marketshare sense? Actually, all Google has to do for this freight-train to derail into a flaming catastrophe is — nothing. That’s what we’ve learned from every huge company, colonial country or historical empire. Having used Android for almost a year now, I’ll peg these issues to be the biggest threats to Androids future:
- deeply rooted vendor skins and core app replacements
- no readily available driver framework such as DirectX for Android
Which I’ll go over now.
The skin thing
I’ve talked about this before, and every time HTC fans have asked me what my beef is with Android skins. Since it’s apparently not obvious, I’ve thought long and hard about it, in order to be as succinct in my explanation as possible. Here’s my attempt:
The problem with Android skins is that they extend their tendrils deeply into the operating system, making it difficult and slow for vendors to get with Googles frantic update pace. It gets worse when vendors like HTC replace core Google apps with their own branded versions. The lateness of system updates and fundamental UI difference between phone experiences, dilutes and confusing the definition of an Android phone, and slows down platform as a whole.
So to sum things up:
- I don’t mind the visuals of HTC Sense.
- I don’t mind a black menu bar.
- the lateness of updates
- the inability to choose NOT to use the vendor skin
- the replacement Browser
- the replacement Gmail
- the replacement Calendar
- the replacement Phone app
- the replacement Contacts app
- any other core app replacements
- the inability to replace these apps with their core counterparts
The essential smartphone experience is one where the core experience has to work. The core experience is about making phone calls, browsing webpages, dealing with notifications and managing contacts. Google has convinced me they can get this experience right; make it accessible. HTC hasn’t.
The next big Android release is just around the corner, symbolized by the arrival of a giant gingerbread man on the Google campus. It’ll be interesting to see what the update brings phones, and it’ll be even more interesting to see how vendors react to it. Google’s not stupid, so I would be betting on the fact that they might de-couple core apps from their system (as we’ve already seen with Gmail), and maybe even build the core UI experience into the OS, making it impossible for vendors to actually remove. I firmly also believe the app storage situation will be resolved — Google simply has to do that in order to make a tablet.
Android is in trouble, and its openness is part of it. But Google has a single ace up their sleeve, one which might let them have the best of the open and closed worlds. They control access to the official Android Market, and unless your Android phone is up to snuff, you might not get access. Since consumers are unwilling to punish Samsung, HTC and Motorola, perhaps it’s time Google does.
While this has actually been the case for a while, it’s become especially evident after Google killed task-killers with Froyo — yep, the infamous task-killers no longer work — which means an autostarting app is going to bug you incessantly. Already there are apps such as Autostarts which help you disable these “self-healing” apps, but these apps require “root” access, making it inaccessible for the 99%. ↩