Smart phones: Open, Closed, and Fragmented

Android is Open, iOS is closed.  Well, that is one way to look at it.  Steve Jobs would prefer: Integrated vs. Fragmented.  As we've learned from politics, (Estate Tax vs. Death Tax), how you name something can dramatically change people's perceptions.

I don't believe most of the facts in this discussion are in dispute.  Apple and Google take a very different approach to their mobile operating systems.

Apple takes a very controlling closed/integrated approach.  You can only publish an application on an iPhone if Apple approves it.  The approval process can be opaque at times, though it is getting better.  As Henry Ford said: "Any customer can have a car painted any colour that he wants so long as it is black"; the iPhone comes in one color, one screen size, one form factor.  Old devices are supported for a while with the latest OS, but users are certainly encouraged to run the latest OS, with a somewhat recent version of the hardware.

Google's approach is open and free.  You can build any application you want for Android.  You can launch your own Application Store.  You can ship Android using Bing as your search engine.  You can use any screen size, form factor, or even any color!  Android is a platform on which you can build a mobile operating system for your device from.  You can choose the defaults, or you can customize it.

Both of these approaches have costs/pains associated with them...

iPhone Limitations: You can only use your iPhone to do what Apple approves of.  Well, that is partially true.  You can use any part of the Internet (excluding Flash) using the browser, but there are a large number of applications that Apple will never approve, and therefore cannot be used on an iPhone.  Interested in Swype for the iPhone?  Sorry, not approved.

Android Fragmentation: There has been much discussion of late about the fragmentation of the Android space.  Netflix stated that they will support Windows Phone 7 before Android, and that their Android support will be on a device by device basis.  This is because there is no unified security model that they can use to insure people won't 'steal' the streaming content (a ridiculous limitation).  Rovio came out with a list of unsupported Android smart phones for its popular Angry Birds game.  It seems the different hardware configurations make the game play different across devices.  These are two very popular applications that are struggling to provide a solution on the Android platform due to its 'openness'.  Developing for Android is harder than iOS because you must handle the different physical and software configurations that exist.  That is a much smaller issue on iOS.

In addition to these issues, other questions have been raised about the state of applications on Android.  John Gruber, a noted Apple enthusiast, asked: "Where Are the Android Killer Apps?"  While he is certainly biased towards Apple, I think the question is valid.  Does Android have killer apps, or simply ports/clones of iOS applications?

Android 'Free' Fallout: Scoble has a post about the iPhone and Android application ecosystems.  He points out that regardless of overall market-share, the perception is that iPhone users spend more money per device than Android users.  And that the iOS market is where developers want to be.  The integrated Apple approach drives more eyes to their (single) app store.  And those uses are more likely to already have accounts setup and be able to do 'one click purchases'.  Google has also been slow to enable application purchases globally, which has driven more developers to release free 'ad supported' versions on Android than iOS.

So who wins?  Neither.  Both ecosystems have their issues.  iOS is and will continue to be a major success and huge market for paid applications.  If you are developing a non-controversial (to Apple) application, it is a great bet.  The Android platform will be huge.  Android will drive nearly every non-Microsoft or Apple based mobile device made in the next few years.  There will be a wide variety of hardware and customized software versions released, and it will enable the development of some exciting 'custom' mobile solutions that are simply not feasible (or even possible) on iOS.

As a developer, both platforms have a lot of appeal, but they are very different to work with.  There is no clear winner.