Saturday, July 4, 2009

iPhone vs. Android: Will Apple-Microsoft history repeat itself?

Consider the following:
1) iPhone OS is only available on Apple devices, which currently means 2 iPhones ( 3G and 3GS), and 3 iPod Touchs. Basically 2 devices, but total 5 models.
  • Android is currently available on just T-Mobile G1, but T-Mobile G2 (HTC Magic), Samsung I7500, HTC Hero, and HTC Dream will available soon. In addition several other manufacturers have announced Android phones. According to Google about 18 new phones are expected this year.
2) iPhone was hugely disrupted when announced but others are slowly beginning to catch up.
3) Apple is the ruthless gatekeeper of all apps that can/cannot be sold via it's app store. A lot of developers are unhappy over this situation. The only way to get around this is to jailbreak your iPhone, not really a good option.
4) iPhone OS is Apple's proprietary and unlikely to be available on non-Apple hardware.
  • Android is free and open source, so if something is missing today it sure will be added soon. Also, since it's free, manufacturers have a huge incentive to use it over creating something on their own.
5) iPhone SDK requires developers to learn Objective-C, a new language for most folks and you need a Mac.
  • Android SDK on the other hand uses Java, a language with a huge existing developer base, and moreover the SDK is available for most major platforms including Win, Mac and Linux. Recently announced Android NDK lets you create apps in C/C++.
6) Computer manufacturers like HP, Acer and others are experimenting with putting Android on Netbooks.
  • This means that if you create an application for Android, not only would it target Android phones but a whole bunch of Netbook computers. A huge reason for any new developer to target Android as the application development platform over iPhone, or at least make sure they port to both.
Note: I'm not comparing the two on a feature basis, since both win some and lose some.
9) Adode recently demoed Flash on HTC Hero.
  • This will allow all those Flash game developers to also target phone without requiring to learn new skills.
Given the above, are we going to see a repeat of Microsoft - Apple situation with Apple ultimately losing it's current lead in the mobile space and settling around 10-20% of market share, with Android becoming the dominant mobile/handheld/netbook OS?

4 comments:

  1. Yes! I'm a firm believer of the Android platform because of the reasons you've already outlined but also because I think G1 and the follower Android phones are technically superior (availability of a separate physical keyboard is just one example)

    ReplyDelete
  2. The NDK doesn't let you write Android apps in C/C++, it just lets you call routines written in C/C++ *from* an Android app. You still need to write the remainder of the program in Java.

    ReplyDelete
  3. @aurora72 - Thanks for reading my blog and for your comment. Yes, personally for me also a separate physical keyboard is essential. The only reason I didn't mention it in my list is because I have found that different people have different preferences. But that indeed works in favor of Android since there will be a lot of devices, both with and without keyboards, giving users a choice.

    @JohnQ - Thanks for reading my blog and for correcting me. You're right, the entire app cannot be built in Java, NDK just allows you to use C/C++ components. But that is still a huge win for developers if you want to use existing C/C++ libraries rather than having to re-write everything.

    ReplyDelete
  4. I like your blog creativity.This is one of the successful and useful information.
    Android app developers

    ReplyDelete