On November 26h I started The Android Experiment:
Given my known addiction for All-Things-Apple and my fairly open bias when it comes to Android with all of its attributed iPhone killer potential, I decided to give Android a fair chance to win my heart.
I handed my iPhone to my wife for her to store it in a secret place and force myself to solely use the Motorola Milestone.
The Milestone is the European version of the US market’s Motorola Droid and is known as a flagship Android based smart phone. It ships with the latest version 2.1 2.0 of Google’s mobile phone operating system and I got it bundled with a Vodafone flat data tariff.
I believe from the hardware & services perspective it would be fair to say that I’ve chosen a leading Android setup for my experiment, thus making sure that in case of a failure nobody blames the device or mobile operator.
Many reviews have been published about Motorola’s device, the Android 2.1 software in general and how both play together. While most of them acknowledge the somewhat ugly clunky overall user experience delivered by the hard- and the software, they generally tend to be positive.
I’m not going to add another full-blown review of the Motorola Milestone, if you’re looking for one, a Google search will reveal many great articles.
Why I learned to hate Android
Instead, here is my official list, why Android does not work at all for me, why I believe it will not kill the iPhone anytime nsoon and why in fact I totally disagree with most of the hype that comes along with Android as a perfect smart phone platform.
Disclaimer: I consider myself pretty tech-savvy. There might be solutions, workarounds, tweaks and updates available for some of the issues, that I have not been able to find. However, I don’t consider it to be a consumer’s primary task to fix a flawed smart phone OS, so I gave up after four weeks of trying to workaround the many annoyances I’ve found in Android 2.1.
Should you be aware of anything that relates to my points and could help others, feel free to submit via the comments!
And now to the list
1. Initial Setup
It sounds almost unbelievable but unfortunately it’s true: Possibly the most serious bug kicked in right after I unboxed the Milestone and switched it on for the first time.
As part of the setup wizard you’re forced to configure a Gmail account. Android expects your phone to have Internet connectivity at that stage.
Now, here’s the deal: Possibly you’ve password protected your WiFi network and your mobile operator requires you to adjust Access Point Names (APNs) to use mobile data connectivity.
Hence, in the majority of the use cases Android will not be able to connect to the Internet while guiding you through the initial setup routine, simply because you haven’t had any chance to hook up to your WiFi network, yet, nor to configure the device for mobile Internet access.
Consequently the wizard fails and returns an error message complaining about a (quote) “unreliable data connection to Google servers”.
One could argue this should be no big deal, just skip the Gmail configuration part for now, set up WiFi connectivity and add the required account later. Well, quite obvious that’s what I thought, too, but I did not count in the single most annoying issue I’ve ever had with a smart phone:
2. Setting up and adding Gmail accounts regularly requires a hard reset!
Yes, you’ve read that right.
As outlined above I couldn’t set up Gmail connectivity via the setup wizard, so I went ahead and configured Vodafone APNs and connected the Milestone to my home WiFi network. Worked like a charm. Next firing up the Gmail app, entering my credentials and hitting the add account button.
After watching the progress bar for some three minutes, Android complains:
“Can’t establish a reliable data connection to the server. This could be a temporary problem or your SIM card may not be provisioned for data services.”
I’m 100% sure I set up everything correctly but let’s double check: Firing up Android’s browser and trying to surf the web works perfectly fine. Even using the Gmail web interface works like a charm. So data connectivity wise everything was fine. Maybe I’ve misspelled my Gmail credentials?
Back to the Gmail app, adding my account credentials (again) watching each character very carefully while I type… same problem. Android cannot establish a reliable data connection to the freaking Google servers.
Rebooting, double checking Internet connectivity and firewall settings of my home network, trying Gmail desktop apps on my Mac – you name it.
One hour and a half after switching on my first Android phone and I didn’t even get email going, gimme a break!
A Google search for the error message returns some stunning 211.000 results as of this writing. Thanks god – and for some reason sadly enough – I’m definitely not alone with this annoying behavior.
Turns out that the problem not only occurs during initial setup but users frequently report it when trying to add additional Gmail accounts after using the Android for a while.
But there is an official solution: Hard reset your Android phone!
I’m serious: Two years after this extremely serious issue has first been reported, an issue which effectively prevents you from getting push email and buying apps from the Android market, the only solution available to date is to hard reset Android – thus wiping all your data, eliminating everything you’ve configured and deleting all installed apps.
Even if there were no other issues with Android, this alone renders it entirely useless for anybody who requires reliable access to his or her email account.
Two weeks later, I ran into the issue again, when I tried to add my Google Apps based yourdomain-email address to the Gmail application as a second account.
Certainly, I had to hard reset the Milestone, lost all of my data and had to go through the nightmare of manually restoring my important apps from a backup. All of this because I’d wanted to add a second email account.
3. No multi-language keyboard
Roughly 60% of my daily written conversations happen to be in English, the rest in German. For whatever reason Google does not deliver an on-screen keyboard that’s capable of supporting multiple languages.
This means that whenever I respond to a German email, tweet or Facebook post, I’ve got to go through settings, locale and switch the entire Android UI to German.
Now, if the next email happens to be from a US based friend, I gotta go through all that again.
To the contrary the iPhone allows me to configure as many simultaneous keyboard languages as I need, switch between them right from the keyboard while I type and they do not impact the UI language.
Because of the many other minor flaws with the Android’s on-screen keyboard, there are lots of keyboard alternatives available on the Android Market. None of those solve the problem that potentially any international customer will face.
It kind of speaks for itself anyway, that developers seem to see a vital business opportunity in improving exactly the piece of software that’s responsible for something as basic as text input. I never felt I had to look for a “better keyboard” on the iTunes App Store.
4. No central place for application updates
Having worked around the crappy implementation of setting up Gmail on an Android powered phone I moved forward to Android Market, looking for some great apps (and a better keyboard).
While the Android Market looks & feels a bit like websites of the late 80s, purchasing and installing apps worked fine for me. The shopping experience is not as pleasant as the iPhone App Store’s, but from a technical point of view it’s been pretty seamless. You do need to be a Google Checkout member to buy paid apps however.
When I read somewhere on a blog about major feature updates for some apps I had installed, I was starting to wonder how I could quickly download those.
The iPhone App Store provides a convenient view which lists all apps with available updates and allows you to do one-click updates or updating all at once.
I launched Android Market and searched for some similar functionality. By now you might already guess what: There is none.
In case you accidentally stumble upon an app you’ve got installed on Market again, it does let you know that there’s an update. But there’s no such thing as a central place for managing all application updates.
In light of the absence of yet another essential feature, another third party tries to fix Android and produced the strangely called aTrackDog app.
It’s one of the most popular apps on Android Market, so I guess many users would actually love to have a better handling of application updates build right into the OS.
(If you take a brief look at the aTrackDog website, you get an idea of how the Android Market feels…)
5. No good Twitter app
But those cannot hide away the fact, that iPhone Twitter clients are light years ahead of every single Twitter app for Android.
I’ve tried both. If you’ve ever used Tweetie on an iPhone, you will hate the basic, unresponsive and complicated UI of twidroid PRO. Seesmic does a little bit better usability-wise but does not support multiple accounts.
Twidroid recently added the ability to handle multiple accounts but lacks overall usability for quickly tweeting stuff.
None of them support the official Retweet function.
All of the prominent iPhone Twitter apps do all of the above perfectly fine and come with a beautiful user interface.
Seriously, anybody who states that there are better Twitter clients for Android as compared to those available for the iPhone is simply lying.
6. No easy way to take screenshots
This post lacks first hand images.
I would have loved to show you more, but unfortunately something as basic as taking screenshots requires you to install the Android SDK, configure a debug connection and run a command line tool on your computer! For those who don’t mind the hazzle, a good tutorial is available by another third party.
Remember: On the iPhone it’s pressing the Home and the Power button and you get a beautiful photo sitting right in your camera roll waiting to be shared.
I would have loved to show you some screens, but frankly didn’t want to spend another two hours of my time to set up screenshot capabilities just because Google decided to not give us a convenient way.
7. Just three home screens
When I first encountered this, I thought it’s me doing something wrong.
Why on earth should Android only provide three home screens given the Android Market and the potentially hundreds of fantastic apps I’d like to have neatly arranged on my mobile desktop.
Well, I don’t know why, but Android seriously limits the number of home screens to three, providing space for a maximum of 48 apps. One page to the left, one to the right, that’s it.
If you’re adding widgets to the home screen, this number gets even smaller.
It comes as no surprise that Android Market offers complete Home Screen replacements. The ones I tried all sucked heavily, caused frequent crashed and significant performance decreases.
8. Inability to install apps to the SD card
Many Android powered phones ship with SD card support which potentially allows you to upgrade to anything from 2GB to 64GB.
But: Google does not support installing apps to the SD card (and likely never will), so developers are limited in what they can create. For most applications, we want a small file size to limit the download times. When it comes to 3D games though, we need a ton of space for all the high-res textures, audio, and video.
Have you seen all the awesome iPhone and iPod Touch games? Hardly any of them would ever make it onto an Android phone. It is not uncommon for popular titles to easily exceed 100 MB. For example, the game Myst takes up a whopping 727MB.
Having installed only Seesmic and Twidroid on my Milestone the amount of space left to install apps is already down at as little as 139MB.
Maybe that explains the three page home screen limit: You cannot install that many apps on an Android anyway.
(I am aware of hacks and workarounds that include rooting your device and will then allow you to transfer apps to the SD card, but as stated before, I don’t want to waste my time to make up for fundamental Android architecture flaws.)
9. Android’s fragmentation
I’m generally a strong believer in openness but only if project owners have a clever strategy to prevent fragmentation. This is clearly even more important when we specifically talk mobile operating systems.
We already have a situation where Android is not like Android and I’ve seen many apps on the Android Market that do require not only a specific device but also a specific minor version of Android.
That raised the question of how to update the Milestone operating system itself. I am running on 2.1 which is considered the latest and greatest as of today, but what will happen if Google rolls out a major update?
Let’s see. We’ve got Settings > About phone > System updates. After confirming that normal data rates may apply I get:
“Unable to connect. The device is unable to connect to the server. Try again later.”
Thank you. By now, I don’t have to mention that checking for an update never worked so far. Not later. Not later than later. Simply never.
While this specific issue might be more Motorola’s fault than Google’s, frankly, I don’t care.
It’s Google’s freaking operating system and they should have imposed at least basic means of quality assurance to make sure that Android partners provide a consistent experience to consumers.
I’m not asking for simplicity, easy of use, a beautiful user interface, consistency in applications and all of the other stuff, the iPhone does right, but a working mobile operating system in key areas would be a good start.
10. Java exceptions
I have to admit that I did not experience many crashes. The once that did occur, though, were ugly.
Having installed some 25+ apps from Market, I regularly ran into Java exceptions not only in the downloaded apps but also in native Android apps. The only option given was to force quit those processes.
One particular case finally made me drop the Milestone entirely and beg my wife to hand back to me my iPhone 3GS: An unresolvable crash of Android’s email app.
I ultimately set up email to handle four IMAP accounts and Microsoft Exchange integration. It worked for almost two weeks. Then it crashed for no obvious reason. Checking memory consumption and clearing the cache for all Google applications (both of which I never ever had to perform on my iPhone), did not help.
I had to revert to the final solution and the only one, which seems to help with many Android issues: Hard resetting the phone. Losing all my data. Losing all my applications. Losing all my settings.