We Know What Works Well in Android, Here's What Needs Some Tweaking
Alberto Vildosola of Droid Dog has a new opinion piece up called 7 things Google needs to fix about Android. I'm a huge Android fan, but I believe in the "relentless pursuit of perfection" (I realize that was an automobile manufacturer's slogan, but it fits) and believe it ought to be better.
Now there's some I agree with in this piece and some I don't, which is why I went three better with a Top Ten List. Starting from the article opening I already find myself arguing with him; Microsoft isn't going to cede the mobile market to Apple and Google if they lose this round (Microsoft is already seriously losing this round). If Windows Phone 7 isn't embraced, MS has Nokia's platforms and then they'll just buy RIM for the Enterprise server piece of the mobile pie. Buying BES is the only way they'll ever get RIM to support their ho-hum mobile OS. But I'll say it here, Google, you better snap that Enter-prize up before Bellevue does.
On to how to make Android better!
10. Google Music and Media
Google has been seriously behind in getting their Google Music app from a concept to a must-have on every Android device and every Android owners' desktop browser(s). Is it just intractable music labels getting Google down? They could afford to buy a few recording companies if that were the only issue. But the biggest news of all was how Amazon managed to come from nowhere and leapfrog every player in this game with their Cloud Service. I think Amazon out-Googled the smartest kids in the room, and those smart kids are still recovering from the shock. That's why we're hearing rumors like Google trying to buy Spotify.
Vildosola notes that just as Apple's iTunes store has movies, the Android market could have video, ringtones, podcasts, any kind of content at all. Let's see if Google Music makes an appearance at Google I/O next week before we worry about the long tail of podcasts and ringtones, though.
9. Android Market
Sure, the Market could be made a lot more awesome. For one, it should be integrated with the media store Google hasn't opened yet, and have those podcasts, ringtones, and videos along with music and apps, apps, apps. Google probably has their hands full trying to fix Honeycomb and the Tablet Market. It's one thing to have 150,000 apps you could download to your Motorola Xoom, it's another to call out which of them would actually work properly on your Xoom rather than running in a phone-sized window.
No Android Needs Fixing piece is complete without addressing Fragmentation. It's the Apple Fanboy's favorite prepackaged complaint about the little green robot, and some of them even understand that there's more than one way that the Android OS is fragmented. Some of these issues are more under Google's control than others, though.
Hardware Fragmentation, Two Kinds
Hardware Fragmentation has two issues: the sheer number of devices, CPUs, and other hardware types that run the OS, and then hardware fragmentation within the exact same device. The Samsung Galaxy S II comes with 2 different CPUs depending on where it is sold, either Samsung's own Exynos 4210 or the NVIDIA Tegra 2. We saw the HTC Incredible switch from AMOLED screens to SLCD when Samsung decided to reserve all of them for itself. As to fragmentation across the world of Android devices, even ARM isn't the only game in town. Intel has talked of producing 32 nm Medfield chips that would run the Android OS.
I'm also thinking of all those apps that were labeled they didn't work with particular devices, in particular the Samsung Galaxy S line. Supposedly Samsung implemented GPS in a rather non-standard way, which has led to some developers not willing to support those devices. And some apps are so hardware-dependent that they list the few apps they will work with. Think about how thrilled we all are that Netflix will only allow their app on one line of processors.
User Interface Fragmentation
Manufacturers love Android for many reasons, but then they declare their devotion by making our favorite OS just a little more Special. HTC's Sense, Motorola's MotoBlur, and all the other skins turn a stock Android device into something else.
Some things just aren't done that well in stock Android, and this is where the device makers try to fix that themselves. Not only are they making their devices different from the other Android smartphones and tablets out there, they have their own way to play music or video or manage your notifications.
The manufacturers think they're adding value, to the users; it's either a cool widget you can't get elsewhere, bloatware you can't delete, or an annoying task that can't ever be killed for good. No wonder so many Android users talk about rooting their phones: it's to get rid of this "added value" that somehow becomes a negative by the time the sophisticated consumer checks it out.
The unsophisticated consumer sees that an HTC phone has a completely different look and feel than one from Sony Ericsson, and wonders how they're both Android devices.
OS Version Fragmentation
This is what the Apple Fans are referring to when they shout "Fragmentation" whenever they hear the term Android. This was a much bigger issue when there were many Android OS 1.6 (Donut) devices out there that couldn't run the new 2.x apps and features. But now, the number of working 1.x devices is a whopping 5.3% as of May 2nd. For phones, the Great Divide is between the newest OS 2.3 (Gingerbread), which is running on the Nexus S, the Nexus One, and not much else unless you like installing custom ROMs; OS 2.2 (Froyo), which is what most smartphones sold today are packing, and OS 2.1 (Eclair), which was such a leap from OS 1.6 (Donut).
Fragmentation is an issue when features are implemented in a software update that everyone wants, but not everyone gets the update. That's because except for the small community of modders, most people get a new software version when their phone manufacturer decides to implement it and then their carrier decides to send it. Some manufacturers are better than others (cough Samsung cough) about issuing updates quickly. Or in some cases, at all.
7. App Dev: You're doing it wrong
Vildosola says it's too difficult to develop an Android app, and that people with ideas aren't necessarily software engineers. I don't see this as a huge problem, because unless you want something very basic such as inputting some things and which outputs some other things, there are a lot of components that need to work together. If a doctor comes up with a great idea for an app, then she's not going to sell a lot of copies unless that app is done well. I have some great ideas on how that doctor could make my visit to her office better, but I don't think you want me giving you your next physical.
Could Android use a good integrated development environment (IDE)? Sure. But that doesn't mean if you need a software development kit to use it now that there's something wrong with Android. That means someone out there may make a lot of money putting together a good IDE. Has Vildosola never heard of Eclipse? IDEA? Netbeans? Has he looked into AppsBar? There are IDEs out there, so neither his complaint nor his premise seem valid.
That said, a number of companies seem to be pretty late with Android apps despite their users clamoring for them. Is the issue really that Android is difficult to develop for, or is it because they're convinced their users don't know what they want? See item 3 below for more on how often this happens.
Does Android need a gaming center that's social, easy and fun to use? Does Android need to copy Apple's features? Games by different companies aren't linked in any way, should they be? Come on, if Microsoft will "beat the Xbox drum for Wp7 until the end of the world," then doesn't that mean they're beating the WP7 drum too (see item 10)? Gaming is more important to some users than others, but is this really a problem with Android itself?
Do you think of Android as a platform for gaming? Is that different from the Market handling apps well? Should anyone compare Android Market to Xbox Live? And if we must, I'm going to think of the clusterfunk that Sony's PlayStation has become with their whole system getting hacked. Twice. And that means we have to talk about...
Vildosola wants more due diligence in the Android Market, thinks open source shouldn't apply there. That's silly. The strength of Android is we don't need to use the Market anyway, and even AT&T customers and their crippled devices can go elsewhere (Sideload Wonder Machine, anyone?) Hell yeah we need antivirus for our phones, that's because our phones are computers. Viruses will always be with us because just as there are people who love to build cool things there are always those who love blowing things up.
I ought to say that those who would sacrifice their freedom for security deserve neither, but I don't want to start a political flamewar. Your tablet and your smartphone are computers. Use them wisely, don't download things just because they're shiny and blinky, and yes, get yourself a good security app. I use Lookout Mobile Security, and there's even a free version of it, so there's really no excuse to not have something.
4. Misc Little Crap
Here's the kitchen sink of Android problems: how about screenshots without rooting? Why not allow volume down without unlocking the device? But then Vildosola proposes that Google remove the Menu button. The readers vehemently object to the idea accuse the writer of being a closet iPhone PhanBoi. I would have to ask why remove something useful. Are four buttons really that overwhelming? Perhaps that just exposes the real purpose of the piece: to generate controversy and lead to comments in response. Haha, I'm replying to it on this site instead. Nice try.
I can throw my little complaints in here too, like the camera software not supporting tap to focus, or how so many apps chew up my battery life by not going to sleep like good little software programs.
But I said this would be a Top Ten List, so I need to add my three:
3. Contacts, Tasks, Calendar and Projects
It is high time Google realized that people need to be able to use Contacts, Tasks and the Calendar properly. If I put a contact on my phone I want to be able to specify that this is a work contact or a school contact or a friend or a business or a doctor. I shouldn't have to assign a group on my desktop "later." It's ridiculous that I can't access the Groups field, or a lot of other fields, from my device. If it's there, I should be able to view it, sort by it, edit, or delete it.
I want an integrated To Do list, too. You know who did To Do lists really well? The Franklin people (later FranklinCovey) with their fat binders and all those different kinds of special pages that went into those binders. Why the hell isn't there a Franklin app for Android? Hell, why hasn't Google bought FranklinCovey and put all their ideas into Android? (Actually, that link is a really sad thing to read. FranklinCovey had a great product in those planning systems, and from reading how poorly they keep their customers informed, you know they aren't eating their own dogfood or downing their own Kool-Aid anymore.)
I want something beyond task lists that's more project planning, with subtasks, prioritizing within subtasks, time estimation, lists of who to contact, and links to resources needed. How hard is this to do? I have Astrid, and I can't even set an alarm for the time of day I want a notification, just the day it's due.
But why isn't a Todo list part of Android in the first place? Why is Google's Tasks so underwhelmingly meh? You can't even get the desktop version of subtasks to behave with Astrid, and GTasks, a better Google Tasks tool, doesn't always do what you expect.
And do any of these apps talk to my calendar? Shouldn't they? It's like four different firms that don't talk to each other, just throw their apps on the Market and it's my job to get the info from one app to another. That's why I want these capabilities within Android itself.
2. Email Done Right
I wasn't joking when I said Google should buy RIM for the BlackBerry Enterprise Server end of things. BlackBerry did mail better than anyone else.
I use K-9 Mail for my non-GMail mail on my Android phone. (I have this quaint notion that I don't want Google to process every message I send. Funny, huh?) K-9 is pretty good, but it's quirky, as you'd expect with an open source volunteer project. Some bugs just aren't going to get fixed because none of the developers find that problem interesting enough to work on. The stock email client is borderline unusable, since it won't allow you to delete mail off your server. K-9 will, but it won't do something that BlackBerry implemented right.
I want to be able to decide that some email messages need to be deleted from my phone because I would read them later on a bigger screen, some need to be deleted from my server because I no longer needed them but I wanted to carry the information in my phone so I knew where I was meeting someone, some need to be deleted both places because while I buy Viagra and inherit money from Nigerian banks at the same time, and some need to stay on both places because they were super, super important. My BlackBerry let me do that with a simple menu that appeared when I hit Delete.
K-9 won't let me make the choice on the fly. It's all or nothing; delete mail on the server when you delete from the phone, or always leave it on the server. Since I need to save some things on the phone that I don't need on my desktop, that means I end up deleting messages in both places, which is also silly.
When will Android implement deleting mail from a mail server, and allow the choice per message of which one to delete?
1. All Those App Updates Zap my Phone!
If you're as app-happy as I am, any trip to the Android Market means getting a pile of update notices (well, it does if you're running Android OS 2.2 (Froyo) or later). And when I try downloading more than one app at a time, my phone ends up rebooting from the stress. I had to stop that automatic update business because the reboots would then delete the apps in question from my device.
Clearly, handling app updates needs to be done more smoothly, yet in a way that the user doesn't have to baby the process by updating one at a time (or like you still do if you're on Eclair, or, horrors, Donut). Updates need to be queued, and saved somewhere so the process can recover more smoothly. Usually a reboot during an app update results in the app disappearing completely from my device.
Have I left Google enough time to fix everything with Android in time for Google I/O to start next Tuesday? Of course not. But they could have this all wrapped up by the time the party's over Wednesday night.
Since I began this piece, I found another one of these ten things wrong with Android posts, but I didn't find as much of interest in that one. At least Alberto Vildasola makes me want to have a discussion.
Top Image courtesy of norebbo.com