The Problem With Android
Sunday, April 10, 2011 at 6:06AM 
After using an iPhone for almost two months and having used two separate Android based phones for over a year I have come to a few conclusions about the overall problem with the Android platform. This is not to say that I do not like Android, I do. Rather this is based on my overall experiences using several different platforms over a period of years. In other words I'm not out to "bash" anything, just point out some problems and shortcomings.
Too Much Reliance On The "Cloud"
From the original launch of Android Google touted cloud based integration of their various services such as Gmail, contacts, and calendar. On the one hand this is a great feature set and allows the easy transfer of information between devices and platforms. In fact, I have used cloud based syncing with Google on multiple platforms including my iPhone for my contacts and calendar today. I like having access to that information on which ever platform I happen to be sitting in front of or holding. However, out of the box Android limits its syncing to the cloud only. While there are third party work arounds to getting that information on your personal computer they are still third party work arounds and the best ones cost quite a bit of money (for the record my favorite was The Missing Sync for Android by Markspace). With the Hero and Evo HTC kindly included on the installed micro-SD card a simple Windows program to sync data to the device but it was a limited application for contacts only.
The other problem with relying on the cloud is media syncing. Yes, with an Android device I can "mount" it as a USB drive and copy my music and videos over to the device but if I want to transfer playlists you once again have to rely on third party solutions. It may not seem like a big deal. When an Android device was my daily go to phone it was an inconvenience, or so it seemed. Once I got my iPhone synced up with iTunes and imported all my playlists I realized just what a pain media syncing was with Android. Heck, I could even sync playlists from Windows Media Player to my old Windows Mobile devices without resorting to third party solutions!
As more and more people start buying smartphone devices this could become an issue that comes back to bite Google. While I am a long time user of cloud based syncing of contacts and calendar data I still like to have it on my local desktop computer as well for those "just in case" moments of either internet or remote server failures. I admit that for most people today that is not such a hot button issue but media syncing can be. Streaming services such as Pandora and Netflix are nice but unless you are in a Wi-Fi hotspot one is burning through their data allotment and as much as it pains me to no end, unlimited cellular data is on the way out. Media consumption on smartphone devices IS important and not having a personal computer client capable of handling this will become something of an issue for Android. Say what you will about Apple but they recognized early on how to do this right. Look at how Microsoft integrated their Zune services on their new Windows Phone 7 to see how right Apple was.
Android Is Fragmented
Android is a fragmented platform and it's not all about which version one is running or which custom UI overlay a manufacturer has created. It's all about the internal hardware.
Right now with Android there are several different CPU options (both single and dual-core), screen sizes, installed memory, and graphics subsystems. If you're an app developer you have to write a larger code base to your programs to account for all that different hardware out there. So what, you may ask. What's the big deal with multiple hardware platforms?
Let me use the various flavors of Windows from Microsoft as an example.
By show of hands how many Windows users reading this have had blue screens of death, locked up computers, crashed computers, or other such maladies that plague the platform? How many have Intel based processors? How many have AMD based ones? Who is rocking a nVidia graphics card? An ATI card? Integrated graphics chipsets? VIA based motherboard chipsets? Intel chipsets?
Get the idea yet?
Because Windows has to support SO many different hardware configurations it tends to be bloated and buggy. It's not as bad as it used to be but it still isn't all that great. Android is on the way to just such a problem with developers having to either write larger programs to account for coding to handle all that hardware diversity or separate programs for each base system (Tegra 2 or Snapdragon for example). While Google has set a few standards for what sort of hardware will be supported it's still too large a list for any sort of long term stability. Take a look at the tablet space created by Apple last year with the original iPad. It used an already existing operating system, iOS, that was scalable but relied on essentially the same internal hardware as the iPhone. Many manufacturers of Android phones tried to slap a non-scalable OS into a larger device (Samsung Galaxy Tab for example) that yielded not-so-great results. The recent Motorola Xoom uses a version of Android developed specifically for Tablets but doesn't have a unified "feel" of Android on smartphones. Again, further fragmentation of the platform.
Android is not the only one with this problem. Microsoft is probably heading this way with their Windows Phone 7 devices though probably not as bad in the short term.
It's All About The Apps
Everyone who has a smartphone device has downloaded at least one app to their phone. Some have installed many apps. There are games, ebook readers, news readers, weather apps, social networking apps, local information apps, augmented reality apps, camera apps, streaming media apps, and many others out there. And it's not all about the number of apps any particular platform has, it's the quality of apps and how they run on your device that matters.
Again, Apple got it right in 2008 when they launched their App Store in providing a pre-installed user base (the iPhone was one year old when the App Store launched), an ease of installing apps via iTunes or direct download to the device, and a profit sharing model that has been emulated by others. Further with iOS powered devices programmers only have to write code for a specific set of hardware specs (see above about fragmentation) making it cheaper to develop for those devices. Yes, there is a rather draconian acceptance process for getting an app approved by Apple but it does tend to lead to much more stable experiences.
Google launched their own App Catalog for Android that has much looser acceptance standards making it easier for developers to get their apps onto user devices. However, one only has to read the user reviews to see numerous posts about programs not working on specific devices to get an idea about how hardware fragmentation has an effect on the overall platform.
While Android is growing in its installed user base the growing number of hardware configurations will make it harder for smaller developers to get their products into the hands of that user base. At least in a 100% stable form.
Conclusions
Google has painted itself into a corner with how they have deployed Android. The very openness they touted when they launched the platform has become their largest obstacle. While some may deride the closed ecosystem of Apple and its iOS devices it's that closed nature that has helped cement their position in the smartphone and tablet space. Tight integration between hardware and software lends itself to a more stable end-user experience than an open ended hardware-software solution. Ask any Mac user and they will probably tell you the same thing (it's why I made the switch to a Mac!).
Andy Rubin, the head of Android and mobile at Google, has started to make some moves in that direction by not releasing the source code of Honeycomb (the tablet version of Android) until a suitable version is ready for smartphones as well as tablets.
For Google to take Android to the next level is a tighter control over the internal hardware that future versions of Android will support. This could be as simple as saying only two CPU families will be supported, a set of supported screen resolutions (or something scalable like in WebOS), and a unified set of UI standards. They also need to look at personal computer sync options for their users and not count on people using streaming services exclusively from the cloud. I'd recommend they strike some sort of licensing agreement with the makers of the Missing Sync to include a copy with all Android devices as it would save them time in the long run and probably a bit of cash too (or either buy the company).
It's clear that something will have to be done to address these issues or else Android will suffer a fate similar to that of Windows.


Reader Comments