This page was last updated 7 November 2010.

iPhone vs. Android shoot-out

There is a fairly fundamental difference in the design goals for the iPhone and Android devices. The iPhone is designed for a range of separate sequential tasks that it does very beautifully. You ask it to do something - like checking your mail, calling up a web page, or looking up map directions. You ask the iPhone a question and it's very good at giving you the answers. There are rather few things it does on its own, like waiting for incoming calls or emails, and the operating system is tailored to permit exactly those few things.

The Android system, on the other hand, is more like an assistant who is constantly scouring the Internet for you, and telling you when something happens that interests you. Both devices are always-on, but Android takes it to a new level because it has its fingers in all sorts of Internet services at the same time. Whenever something happens on any of your social web services - any chat service, Facebook, Twitter, RSS news, Flickr (I can't think of an exception right now), it will see it and alert you. You do not have to call up an app to check Twitter, and then another one for Facebook, and then a third one for news. That would defeat the whole purpose.

People who debate the merits of OS arcana like multitasking, activity sharing, notification systems, impact on battery life, and so on miss the point. Even the iTunes debate seems beside the point to me - the entire notion of hooking up a cable or pressing buttons to "sync" data from one physical device in your hand to another physical device on your desk seems outdated, no matter how elegantly iTunes does its job. You might as well connect an RS232 cable and start Xmodem; same principle. A device like Android isn't about explicit syncing to be brought up to date with a desktop or the Internet. Instead, it's an integral part of the Internet.

If you'll forgive the hyperbole, the iPhone now seems like the ultimate refinement of 20th-century design dogmas, while Android is a 21st-century design - often not yet as refined as the iPhone, but a generation ahead.

But let me quickly add that much of the time, you do want to have a specific problem solved like looking up Wikipedia or finding the nearest bus stop, and here the devices are far closer and implementation designs do matter. If you aren't into social webs, the decision is pretty open. Much of the remainder of this page is about those implementation details, so you can decide which matter to you and choose accordingly.

It's also important to distinguish between the operation system (Android) and the hardware it runs on. For most phones, with the exception of the iPhone, different companies write the software and build the hardware. My hardware is an HTC Desire, which is cheaply thrown together and highly unreliable.

I am not lucky with cell phones: both my new iPhone and my new Desire had to be sent in for repairs. In the process I found that it takes some getting used to Android after using an iPhone for two years, but it is very painful to return to an iPhone after using Android. Any new OS is awkward at first because old habits no longer apply, but for some very basic things like app switching just aren't there on the iPhone. Steve Jobs wants to keep things as simnple as possible, and I commend the idea, but I'll stick with Einstein: "make things as simple as possible, but not simpler".

Ok, on to the comparison. In a nutshell:

iPhone Android
Simplicity, elegance, polish, consistency. Very easy to learn. Powerful, open, innovative, occasionally playful.
Spartan, artificial limitations. More core design features, such as active widgets and mingling of app features and data, that make things possible the iPhone's high walls between apps prevent.
Walled garden, censorship, closed, Apple police behind every bush. Difficult to store and exchange data; relies on USB cable connection to iTunes on a single desktop machine. Open standards, free data exchange, no police - but also noone who stops standards violations. You are free to choose providers but also required to choose providers.
Always puts form over function, good at omitting unnecessary toy features but occasionally also omits necessary features. For example, an iPhone cannot answer the question "what's going on" at a glance, by design. On balance, there is more to learn, more to explore, and occasionally uneven quality and multiple ways to present data and to do things. The Android world is moving forward very rapidly compared to the iPhone's very placid progress, and sometimes things feel like they aren't mature yet.
If a feature is missing, you aren't supposed to need it. If a feature is missing, someone is already working on it.

Before we get down to the details, here is a bird's-eye comparison of features that matter to me:

iPhoneiPhone with mobile meAndroid
Telephony* One or two providers per country,
SIM lock
One or two providers per country,
SIM lock
any,
free
Browser Webkit-based (Safari) Webkit-based (Safari) Webkit-based
Email Apple Mail Apple Mail Android Mail, Google Mail,
third-party: K9 mail
Calendar sync none (iTunes cable sync),
limited support for CalDAV
mobile me Calendar,
limited support for CalDAV
any CalDAV, eg. Google Calendar
Contacts none (iTunes cable sync) mobile me: Address Book Gmail address book
RSS news third party, eg. Free RSS third party, eg. Free RSS builtin,
third party, eg. Sparse RSS
Photo galleries none (iTunes cable sync) mobile me: iPhoto Gallery
(with extra app)
many, eg. Google Picasa
Builtin chat Apple iChat, only when app is running Apple iChat, only when app is running Google Jabber, always online
Skype* yes yes not yet, chat only
Podcasts iTunes iTunes third party, eg. dPod
Online maps Google Maps, limited functionality Google Maps, limited functionality Google Maps, almost full functionality
Offline maps third party, eg. OffMaps third party, eg. OffMaps third party, eg. Map Droyd
Tethering* extra cost extra cost free
network disk third party, eg. Dropbox.com mobile me: iDisk,
third party, eg. Dropbox.com
third party, eg. Dropbox.com

* Assuming an unbranded Android phone, which, unlike iPhones, are freely available. Branded and subsidized phones can be arbitrarily butchered, regardless of brand or manufacturer.

Just to get it out of the way: Android is sometimes referred to as a "Linux phone", trying to imply that only geeks could love it, like a Linux desktop 20 years ago, and sensible people should stay away. That's nonsense. Despite all their differences, both phones live in the Unix OS family tree, and the OS does not shine through on either phone. Why should it?

The discussion below compares my HTC Desire Android phone with my iPhone 3G. All of HTC's phones have some extra apps and skins designed by HTC, called Sense. I'll refer to naked Android, and iOS 4 occasionally. I'll mark Android wins green, and iPhone wins red. You'll see more green than red, but that just reflects my decision to switch from iPhone to Android.

General user interface

Android's title line is much more useful than the iPhone's. Both show basic stuff like the time and battery, GSM receptions meters, and wireless status for GSM/Edge/GSM, WLAN, and Bluetooth. Android has a slight advantage since it has a roaming indicator and shows ongoing GSM up/down data activity.

But the key difference is that Android puts important events there, like when a mail or chat request arrives, a call bounces, a download finishes, news arrive, and so on. All at one glance on any screen and in any app (that doesn't claim the entire screen space at least - but you'll still see the flashing LED). If you want to learn more, tap the status bar and drag it down to reveal details and buttons that take you to the appropriate app - all without leaving the current app. With the iPhone, you'd have to exit the current app periodically and scroll through the home screen pages to search for badges superimposed on app icons, and then call up each one with a badge separately to see what's up.

This is not a minor issue, it's a key design win of Android. Whenever something interesting happens, regardless of which app you are using and which other app has detected the event, you'll be told and can call up details and respond. A phone that's always on, and tries to be your window to the Internet and not just a fancy query device, must have such a way to communicate events in realtime. Icon badges don't count.

The Android home screen is limited to 7 pages, but they don't just show a 5x4 grid of icons. They can also show configurable widgets that can take up as much space as they want, and show real data. The phone comes with a big clock widget, an email widget, a messenger widgets, and others preset. This fixes one of the iPhone's biggest flaws: there is no one-stop home page that gives an overview of what's currently happening. On the iPhone you must start many apps and kill them again to get the same info. The best the iPhone can do is put a little number on an icon with the number of mails or whatever. That's pathetic, even Nokia never had anything this impractical. Apps you have installed but didn't place on a home screen are accessible through a button. That said, some of those widgets are awfully large...
The iPhone puts all programs it knows onto the home screen, where you can arrange them on up to 11 pages and their folders. Android has a program list, and you decide which programs you want to put on the home screen. Android comes with more apps, so if you don't want an app you won't see it on your home screen at all. With iOS 4, you can at least drag unwanted icons into a junk folder.
There is a major flaw in Android's home screen rearrangenment method: you can hold and drag an icon to a new empty spot, but you can't drag it between two existing icons, moving the one at the target position aside. In practice, if you want to swap two icons on a full home page, you have to remove and re-add one. The iPhone doesn't win this one because iOS 4 makes it very difficult to drag an icon between two others; you'll probably inadvertently create a folder if you try that.
Overall, I expected a much less polished look from the Android than I was used to from the iPhone. This is not the case, at least not from the apps it came with, and I am testing HTC's Sense, not the vanilla Android interface. Still, it actually feels a step ahead of the iPhone. If you don't like the 4x4 app launcher, Android lets you choose another one, but the iPhone doesn't.

The iPhone's 4x4 grid of app icons is so boring and poorly designed, like someone had cast the simplest possible design in stone regardless of how inconvenient and lacking of functionality it is. And the iPhone's configurability seems awfully spartan - it's like a breath of fresh air to see Android do all the things that fell through the cracks at Cupertino, or fell victim to the minimalist design. (To Apple's credit, they got the major options right, it's the smaller things such as font size selection that they left out.)

At the same time, Android doesn't degenerate into Symbian's maze of confusing and overlapping option dialogs; everything seems nicely sorted away where you'd expect it. This is partly a matter of taste - why does the iPhone put the three different wireless enable switches (Wifi, cell network, Bluetooth) in three different menu nesting levels, for example? Whether you like Androids more powerful preferences or not depends on whether you subscribe to the Spartan philosophy, I suppose - I like minimalist elegance but not if it imposes artificial barriers that prevent me from doing things I need; your mileage is certain to vary.

Connectivity and data exchange

An iPhone cannot live without iTunes on Mac or Windows computer. That's the only way to transfer music, video, photos, address books, calendars, and pretty much everything else. If you pay for Apple's mobile me service, it syncs at least calendars, address books, and some minor stuff over the air, but nothing else (but these two work extremely well). And it must be a single iTunes computer, you can't load more videos on the road if you brought a notebook. And the connection to iTunes is by USB cable. It feels like a time warp back to 1970 with RS-232 serial cables and Xmodem.

Android is not shackled to a PC program. It's a modern always-online device that talks directly to the network for all its needs, wherever you are. Google offers several of these services, like calendars and address books, but it's all based on open standards so other providers can be used as well. The downside is that you'll need to configure each provider; there is no "single sign-on" outside of the Google services.

the keyboard can be calibrated. I make fewer mistakes on it than on the iPhone. Hold-for-symbols is very convenient too because you always see everything on the key caps. But the little popup that shows which key you have pressed is too indistinct and too far removed from the key.

Multiple typo suggestions are great but I often switch between three languages, and since Android has no dedicated keyboard key for that, this makes the typo fix mode two button taps harder to use for me. I guess I need to try out some of Android's alternate keyboard apps. Yes, Steve, on Android there is an app for that. Several, in fact.

no Skype calling, only chat. Supposed to come later in 2010. Skype is lame.
An iPhone must be activated by Apple to work at all. An Android doesn't ask you to do this, but there are important apps - like Gmail push mail and the App Market - that will ask you to create a Google account. You need to agree to Additional Privacy Policies that I haven't been able to find. My first attempts failed with a message "Can't establish a reliable data connection to the server". I think it wants 3G, not WLAN.
The builtin Android mailer does not support an unified inbox. However, it only takes one tap to see all inboxes, with number of unread messages, and a second tap switches to that inbox. Better than iPhone 3, worse than iPhone 4. Annoyingly, it always sends alternative base64 / HTML; There is no option to set it to plain text. The mailer has a useful thread view mode and attachment finder, and it can save attachments to the memory card.

But Android doesn't limit you to the builtin mailer - I switched to K9, and I am very happy with it. My only minor complaint is that it takes a while to tell it exactly which mail accounts and folder contents are important and should be sorted to the top of the unified inbox, although I am glad it has such a feature.

the browser is as good as Apple's, since it's also webkit. It supports double-tapping, but the meaning is not "2D-zoom until the block fits the screen width", but "make the block readable with a standard font size, even if this means re-layouting". Android zooms text better, but Apple zooms images better. Android can play embedded movies, what a relief! No more exiting the browser and starting a YouTube app.
A first non-representative impression is that the Android Marketplace and the Apple app store are similarly well-stocked, although both have gaps. Android apps seem to be a little more expensive but also more powerful, and I see more apps with ad bars than on the iPhone (they are about the same size). Apple's iAd is still relatively new. Both shops are hard to search, you can't tell which of the 50 hits is the right one for you. iPhone apps tend to follow Apple's spartan motif. This is also true for the builtin apps: Google Maps for Android is light-years ahead of Google maps for the iPhone. The number of apps in either store (Apple is ahead) means very little because so many apps are useless or redundant. So what if Apple has 50 Twitter apps and Android has only 25?

Hardware

This applies to the HTC Desire; there are many Android phones with different specs and better quality.

The iPhone is beautiful hardware design. Compared to the iPhone, the HTC Desire is shoddy Taiwan junk. Plastic all over, often overheats and reboots. It's the most unreliable piece of hardware I have ever owned. The iPhone overheats rarely and when it does, it shows a tasteful warning display. If you look for quality or if you depend on your phone, avoid HTC - but with Android, the choice is yours.
Exchangeable battery!
Battery life seems similar. Better than the iPhone 3 though.
Exchangeable micro-SD memory card! (But exchangeable only when powered off, on the HTC Desire; that's lame.)
My Desire has much better reception than my iPhone 3. It sees 15 WLANs here at home; the iPhone shows 6. My Bluetooth headset stays connected if the phone is in my front pants pocket.
Screen is far better than on the iPhone 3, and similar to the iPhone 4 despite a slightly lower resolution. It works in bright sunlight, but it's very pale, and dark areas lose contrast altogether. I haven't been able to compare it to the iPhone 4 because the only iPhone 4 owner I know refused to let me take it outside into the sun :-)
The iPhone's antiglare and anti-fingerprint display coating is better.
The Back button is great. It goes back wherever you are. on the iPhone, it's usually a little arrow button at the top left, sometimes it's Ok/Cancel, and sometimes (when you are at whatever the app calls its top menu) it's the hardware home button.

The "Menu" hardware button is great as well. All the options and preferences in one easy to find place. The iPhone puts all preferences into a separate app, but this is so inconvenient that many apps ignore that convention and find some place to put a preferences button right into the app. And options are typically in a button at the bottom. Consider the "Menu" hardware button Android's answer to MacOS X's Apple-comma shortcut.

In general, the idea of using hardware buttons for those things that all apps need very much appeals to me. Suddenly the iPhone's standard key operations like Back, Home, menu, and Search seem convoluted and awkward to me. Odd, I didn't feel that way before I compared them to the Android.

The GPS receiver is about on par with Apple's. Both compare to a pro navigation receiver like the Garmin eTrex in the same way that the builtin miniature camera compares to a dedicated compact camera (let alone a DSLR) - slow, imprecise, hard to use in difficult situations, but good enough for placing you on a map and simple navigation. But the Android API permits third-party apps like GPS Status that can tell you how many satellites it sees, where they are, and signal strength. That's invaluable for getting a fix in difficult situations because you'll know if you need to move to a better place to get a fix. iPhones can't do that.
No mute switch. Seems minor but makes a big difference to me. The stock Android is better than HTC's Sense interface here because it puts mute on the unlock screen.

Default Apps

The big Flash controversy is about two independent observations: first, Flash is said to be bad technology because it's heavy, slow, and integrates poorly into a browser. Second, many web sites are accessible only if you have Flash, so regardless of whether you like Flash or not, you need it. Maybe, in many years, HTML 5 supersedes Flash, but this is very obviously not the case today.

Apple takes the high road and doesn't support Flash at all, although the move looks motivated more by maintaining absolute control - Apple forbids any form of scripting or any other kind of interpreted language on the iPhone! If you think you own your iPhone after you bought it and can do anything you like with it, think again... Android doesn't have a full Flash implementation but it's good enough to make most web sites accessible that remain closed to iPhone users.

Android stole Apple's trick of rotating the calculator to show extra functions. But Android is rather lobotomized, it doesn't even have a memory.
The pictures taken with the camera are quite good if there is enough light. The picture viewer has a Share menu item that shows 11 different things you can do with it, depending on how many apps you have installed that know how to send data. For example, I have installed the Google Goggles app, which analyzes pictures and tells you what you are seeing; it shows up as one of the Share targets. Brilliant. On the iPhone you can email your photo or send it to Mobile Me (an Apple service), that's it.
Twitter, Facebook, Jabber, and Flickr are fully integrated. You'll feel left out if you don't have accounts there. (Personally, I do not have a Facebook account because I don't like to hand over my private data to Facebook for them to sell to anyone.)
During my experiments I turned on Google Latitude, which lets friends track my location. Google sent a mail explaining what has happened, with instructions for turning Latitude off. It's opt-in and protects you against accidental opt-in. Well done, especially for a company with such a cavalier attitude towards privacy.
Mobile me is a closed Apple ecosystem, and you have to pay $99 for what you get for free from other vendors. What you do get for your money is a polished and well-integrated experience, but it's more limited and often unreliable (see http://www.bitrot.de/macmobileme.html).
Address book: I would trust Apple more with my personal address book than Google, but to be honest, that's more because Google has always been in the business of monetizing data and Apple is just now getting into it.
Bought the Oxford French Dictionary from the Android Market for 20 Euro. Very bad integration: it's an in-app purchase and the Market doesn't handle this at all. The app opens a web page where you have to enter contact and credit card info. Got into trouble at first because I didn't have cookies enabled and had to do it all over again. Not sure if this is Oxford's fault or a flaw in the Android Market.
Folders: I had to ask Google for instructions to place folders in the main iPhone menu. It's actually reasonably intuitive, but less so than the rest of the iPhone. Android wins: a folder is simply one of the things you can add if you press the "+" button. I can't decide which presentation I like better - the iPhone doesn't visually distinguish folder contents much and the folder contents have an arrow that points to the folder icon, even though I went FROM the folder TO its contents; on the other hand Android doesn't let me rearrange folder contents even though folders hold more icons (16 instead of 9).
Developing: I used to be a paid-up iPhone app developer for a year. It was a highly frustrating experience. Apple uses a language a friend calls "objectionable C" that nobody else uses, which is a creaky mixture of C and Smalltalk. It's one of the early groping attempts at object-oriented languages in the early 1980s, and its age is painfully obvious. Because of Apple's draconian legal obstacles to sharing, it's a totally closed ecosystem with poor documentation and borderline-fascist certificate limitations. In hindsight, much of the required documentation exists, but it's a very steep learning curve and you quickly get a bloody nose from running into the artificial barriers erected by Apple. I am used to open software development, not boot camps with armed guards at the fence.

My general impression with both programming environments is that Apple has circumscribed the feature set. You can do anything that Apple has anticipated and provided an API for, but anything they left out is not possible at all. It's closed. Android, on the other hand, gives you access to pretty much everything and does not limit what you do with it. Imho, both system have comparable complexity and learning curve (except you probably know Java already but probably not Objective C).

Minor observations

Here are some other observations that I think are not important enough to influence an Android/iPhone decision, but I have talked to friends who disagree.

Setting up WLAN is just as easy as on the iPhone, and centuries ahead of Nokia.
Android has an interesting Wifi sleep policy to save power.
Data roaming is off by default, like on the iPhone.
Android has a neat info screen that shows battery usage per app or feature.
On Android, dragging past the end stops abruptly; iPhone overscrolls and snaps back.
HTC's Sense weather app is pretty but over-engineered. You just want to know whether it will rain, and see clouds move across your screen.
Android bug: the weather widget shows the configured places, and also the place I am currently in but that's always wrong on my phone. Marseille is misspelled Marseilles. .
Android has a scroll button at the bottom, like an inverted mouse. It's occasionally useful, especially for positioning the text cursor, but kind of redundant, the touch screen is very good.
Android has an FM radio. What is that good for?
The Desire's weight and size are almost the same as the iPhone 3, but the Desire looks smaller because of its rounded edges. It even looks smaller than the iPhone 4 which is much thinner. Its screen is a little bigger than the iPhone 3's. The iPhone looks bulkier, but the Desire's two-tone bezel may not meet everybody's taste.
Cool Android idea: reduce ringer volume when the phone is picked up.
Many Android menus have a "more" button with the same three-dot icon as on the iPhone. If you press it, the extra options replace the original menu while on the iPhone the original menu options remain visible. A friend of mine who favors the iPhone assures me that this is a major point for Apple. (I don't really care so I filed it under "minor".)
The phone preferences are well laid out on both phones. Android has a slight advantage because app preferences don't fill up the toplevel preferences screen, and Android had no need to hide away half the phone preferences behind a rather nondescript "General" submenu like the iPhone does.

Interesting link: http://blog.louisgray.com/2010/07/why-i-turned-in-my-iphone-and-went.html.

Tell me if you found this information interesting or useful, or if you have comments.