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
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
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
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
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.