– 🕓 5 min read

Android First Impressions

Like a number of disgruntled users and developers, I recently decided to trade my iPhone in for an Android device. My distaste for Apple's app store policies, design philosophy and corporate culture had been pushing me in that direction for some time.  The final straw, though, was iOS 4, which rendered my iPhone 3G almost unusably slow while failing to grant any of the most noteworthy new features. The inordinate difficulty of downgrading iOS exacerbates the problem for users who are still stuck with the iPhone 3G.  To be fair to Apple, Wednesday will see iOS 4.1 released, and they've claimed that it will fix the iPhone 3G performance issues.  For me, though, 4.1 is too little, too late.

The phone I switched to is the HTC Desire on Telus:

HTC Desire

With a 1Ghz CPU and 576MB of RAM, the Desire packs some powerful hardware. So far, I've been quite impressed by the hardware, but that's all I'll say about it for now. I'm more interested in relating my first impressions of the Android platform. In no particular order:

  • The openness of the Android market and of the platform itself is immediately apparent as an ex-iPhone user.  I love it. I love being able to download emulators directly from the app store.  I love being able to install interactive programming environments on my phone.  I love having a native Latitude app.  I love that Google Voice is available, even though it's currently US-only.  Most of all, I love that neither Apple nor any other company can tell me what I can and cannot install on my phone.

  • Widgets provide an extremely convenient way to access information without having to switch between apps.  While there aren't as many widgets available as I wish there were (or perhaps they're just difficult to find - more on this later), the built-in widgets alone have made the switch worthwhile for me.  I frequently check my phone for Twitter updates, new e-mail from work, news, and what have you; with Android, I can do all of this without ever leaving the home screen.  It's delightful.  Beyond widgets, Android offers supreme customizability with themes, home screen replacement apps, and even (if you're adventurous) custom device ROMs.

  • Although openness and customizability are boons to the Android platform, they also result in serious fragmentation which could hurt the platform in the long run.  I've already encountered widgets and apps which don't quite display properly on my device, presumably because of HTC's custom Sense UI.  What's worse is how sluggish some manufacturers are to release critical operating system updates for their devices.  I'm picking on Sony because they don't have a single device running Android 2.x, but even among other manufacturers, it doesn't seem unusual for ROM updates to lag behind Google releases by several months. Worse still is that carrier locks can prevent these updates from being pushed to devices. Android 2.2 "Froyo" has been available for the HTC Desire since late July, but Telus customers (who haven't unlocked their phones) still haven't received the update.  Supporting custom UIs, old operating system versions and varied hardware will force Android developers to commit more resources to testing and fewer to innovation, and the platform as a whole will suffer for it.

  • Android is fast.  Remarkably fast.  I don't presently have enough information to objectively compare it to iOS, but I can say that I've been very impressed.  Five years ago I would have doubted that such performance would ever be possible with Java running on a mobile device.  (I'm aware that most of the core of Android is written in C, but the apps and UI are still Java. See correction below.1)  Having just purchased my Desire three days ago, I haven't had a chance to install Froyo, either, but benchmarks show that it increases performance by up to 700%.2

  • Navigation and searching in the Android Market is absolutely terrible.  I find it hard to believe that the Market is Google's doing, because searching the market never seems to bring up what I'd consider to be the "best" results, unless you type in the exact name of a specific app you're looking for.  The aren't nearly enough categories, either.

  • On a related note, Android does lack some of the polish that iOS offers.  There's not as much consistency in terms of UI elements and general design patterns.  Customizing home screens and managing multiple apps which run simultaneously may not be something that typical phone users will care to do.  For power users, though, it's not a problem.  (Some sort of built-in task manager would be nice, though.)

  • Android is just a much better communication platform than iOS ever has been, and perhaps ever will be.  Apple has finally grudgingly implemented something akin to multi-tasking (if you own an iPhone 3GS or better), but there's still no good way for iPhone apps to notify users of important events.  When participating in a conversation using an instant messenger app (or any similar activity), it's crucial that you're notified of incoming messages, but notifications shouldn't be obtrusive and interrupt whatever else you may be doing.  Android's notification bar is perfect for this.  iOS doesn't even have what I'd call a serious attempt at a solution.  And with Google Talk a core platform feature, Android devices can actually compete with the ease and convenience of BlackBerry Messenger. Meanwhile, Apple's just introduced... Ping. Snore.

I fully intend to do some serious Android development, so I'll surely write more about the platform as I become more familiar with it.  For now, though, the bottom line is this: I love Android.  Switching from iOS was an excellent decision and I doubt I'll ever look back.  I'd urge anyone thinking about a phone upgrade to consider Android as well.

  1. A reader on Reddit brought to my attention the fact that the Android Dalvik virtual machine and its bytecode are significantly different from their Java equivalents, so although Android apps are written in Java, compiled Android apps are not really Java. (Apparently Oracle disagrees, mind you.) 

  2. Another Redditor pointed out that the 700% figure may be something of an exaggeration. I've heard varying figures - anywhere from 2x to 10x - but 700% was based on the specific video I linked to. However, it's true that real-world performance will likely differ significantly from the results of synthetic benchmarks.