I've been pondering mobile platforms lately, particularly Apple's iOS walled garden vs. Android's open platform. Owning iPads 1 & 2 and having recently switched to a Nexus S phone running stock Android Gingerbread, it's been interesting to compare the experience that each OS provides.
Let's start with one of the first things that hit me: Steve was right. When Jobs adamantly refused to allow flash on his devices many people (myself included) saw this as little more than a spirited defense of the walls around Apple's garden. I still believe that was a significant part of Apple's thinking, but on the first day I had my phone Steve's argument that flash's user experience was terrible on mobile hit home.
He was right! It didn't take much time surfing the web on my Nexus before I hit a site using flash and was invited to download the player from the Android market. Well, flash... leaves much to be desired. Running animations and video dramatically slows down responsiveness, way more than video encoded with H.263, Apple's alternative. Yes, I could now view the content, but the experience was a disappointment.
The more I used Android, the more I understood the value of iOS' walled garden and focus on user experience. Again and again, things you have to manage on Android just work on iOS. For instance Android gives me the battery consumption of all services running on the phone and allows me to force close them. On iOS? Nothing. You expect the apps to work properly and they pretty much do. Apple's framework makes it a lot harder for developers to hog resources or impact usability. Yes, it hampers devs a little too, though that clearly hasn't prevented over 400,000 apps from being written.
All this reminded me of that old article, The Cathedral and the Bazaar
. In it, author Eric Raymond posits that the Windows "cathedral" (monolithic, slow moving, unwieldy, and, obviously, yucky) is doomed because the Linux "bazaar" (vibrant, innovative, fast paced, and, clearly, cool) can't help but overtake it. Roughly 15 years on, I'd say the results have been mixed: Linux mostly won on the server, definitely won in the appliance / embedded category, and failed on the client side.
Today few worry about Microsoft the way we used to. The cathedral these days is clearly Apple, and it's a much more invasive cathedral than MS ever was. Apple has a very long reach: they own the hardware, the OS, control what you can do on the OS (at least on iOS), the distribution mechanism (App Store), much of the content (iTunes, and the 30% "tax" on 3rd party subscription services), and soon storage (iCloud). Oh, let's not forget they own the tablet space. And to top it all off, Apple rules from a design perspective: Their products set the standards for the industry.
Focusing on the iPhone and extending the metaphore, I'd argue that Apple has two cathedrals: AT&T and Verizon. The buildings are in different parts of town, and you have to sign slightly different agreements to pray there (yes, pray
). Once you're inside, though, almost everything is the same. From a user's perspective you don't identify with the location of the Cathedral (the carriers) you identify with what's inside it (Apple). AT&T and Verizon compete against each other by convincing you that their part of town is nicer.
What about Android? Well, it's clearly no bazaar. There's no PC-equivalent of a cell phone that manufacturers compete to build and that you then install Android on. Moreover Android development is largely done by Google. Instead of a cathedral, each manufacturer of Android handsets is more like a department store. That means they compete primarily by adding floors (i.e. new hardware capabilities, like a 3D screen in the latest Evo), and redesigning the interiors (i.e. adding customizations on top of the stock Android, like Samsung's Sense UI). And, in contrast with the iPhone cathedrals, each carrier neighborhood has a few department stores to choose from.
This gives users more choice at the expense of confusion and usability. The custom UIs and different revisions of Android make both picking and using a phone harder than it should be.
The situation is much worse for developers. It is easy to develop for iOS devices. There are only a handful of devices to choose from, they experience each provides is extremely consistent, and the development tools excellent.
Not so for Android: While browsing the Android Marketplace I was struck by the many apps stating which phones they do / don't support, and the number of one or two star reviews along the lines of "Your latest updates sucks, now the app won't start! Evo 4G" or "Crashes randomly on DroidX, please fix".
Google is recreating the fragmented market we had in the early Windows years when fiddling with device drivers, TSRs, and config.sys files were the norm. (Apparently, version 4 of Android, aka Ice Cream Sandwich, will address some of these issues).
Despite this I really like my Nexus S phone: The voice commands are amazing, the notifications are refreshingly useful (Apple's finally fixed this in version 5), maps & navigation rock, and, as a heavy Google user, the integration with Google's many apps is excellent. In my opinion Android's features today are more advanced than those of iOS.
However all this comes at price: having to manage battery life & services much more closely, and the occasional reboot to kickstart "dead" services.
If someone told me they wanted a phone, tablet, or even computer today, I'd be hard pressed not to recommend an Apple product.
Looks like the Cathedrals are winning.
Most of my blog posts are written in small increments over a few weeks or months. This post was finished a couple weeks ago while on vacation in Belgium. With impeccable timing, Google made a very important announcement on Monday: the acquisition of Motorola's Mobility division, i.e. their cell phone manufacturing arm. This has a number of interesting angles (esp. with regards to patent acquisition) but as far as this article is concerned it signals something important...
Google's going to build cathedrals of its own.