I’ve been doing a comparison between the iPhone and Android platform for quite sometime and have come to an interesting conclusion that not many people seem to have seen.
Before I begin, I shall list some of the key differences between the two platforms and then proceed to demonstrate some parallels to formerly failed or failing platforms.
iPhone is best known by its 100, 000 application strong App Store, closed and managed eco-system, but balanced by very powerful and easy to use SDK. Interface-wise, it’s the first to pioneer large-scale finger only screen manipulations, with a very polished and unified UI. Flicking the screen to scroll a list were rare when the iPhone was first introduced and it brought a revolutionary change in smartphone UIs, and so did pinching. It has a seamless sync capability powered by iTunes, only seen previously on iPods, and formally inspired by Palm’s very own HotSync.
Android on the other hand is like the dialectic twin to the smartphone solution. It also has an app store but it’s open for listing quite freely. Applications are not signed nor controlled — a user can choose to install anything he wants with no restrictions. That’s where the similarities end, if any. The platform offered by Google is rather generic, leaving much of the integration work to the hardware makers. There’s no out-of-the-box sync solution provided by Google’s Android, leaving each hardware maker to come up with their own, and possibly incompatible sync solutions. Also, they are forced to create UIs for their phones for better hardware integration. This leaves each hardware maker to come up with their own set of UI design and philosophy, diluting the visual identity of the Android platform.
Another side-effect for having hardware makers integrate the OS into the phone is that new Android versions from Google cannot be pushed down to consumers immediately, compared to the iPhone OS updates. Individual hardware makers have to reintegrate the OS with their hardware before they can, if they choose to, release to their customers.
With that, the iPhone eco-system reminds me of the formerly glorious PalmOS platform (v4), albeit with tighter application quality requirements, but better development SDK. Unified interface across all applications, large developer community, and that every piece of software written for the PalmOS works on all PalmOS devices. It’s like a Mac, in a handheld form-factor.
Android however, reminds me of the now fractured and declining Symbian platform. With S60 and UIQ3 interfaces as the main branches, applications are largely split between the two due to different display UI philosophies and input capabilities. Although the Android claims to have a JavaVM as a base component, the varying types of input methods and screen capabilities increases the coding complexity for any piece of software. Without direct vertical integration from the OS maker, Google, customers will have a hard time getting the OS in their phones upgraded should the hardware makers choose to give up on them. It reminds me of the Windows Mobile OS and the PalmOS with no upgradability, requiring the purchase of new hardware to stay current in software — it puts customers off.
From the way the two platforms are positioned, I can tell that Apple is marketing the iPhone as a full-fledged miniature computer, while Google is positioning the Android as a software development platform for hobbyists and hackers to tinker around with.
The future I believe thus would lie in the iPhone platform.