Why I don't write for the iPhone (Or, Why I'm Not Scared to Invest in Android)

One of the things I say a lot is the quote “Incentives make the world go round”, and that, my friends, is true.  So why do I develop for the Android platform and not the iPhone?  The iPhone certainly has that “cool” factor about it.  I even own a MacBook pro and have access to an iTouch for testing, so I have everything I would need.  When I was looking for a new phone last November, one of the top priorities for me the prospect of developing and releasing new applications for my device of choice.  So why then didn’t I pick up an iPhone?  Let me explain…

There were three major phone platforms out in the Winter of 2009: iPhone, Windows Phone, and Android.  I knew iPhone would currently be the most popular device to release an app for.  Second would be Android, since its market share was (extremely) rapidly increasing.  Then, there was Windows Phone, which showed great promise with Zune integration (I LOVE my ZuneHD).  There were a few different things that I had to consider when I was picking out a phone (and ultimately, a platform), but let’s focus on the ones that matter from a software development and business aspect:

  • Current and Future Popularity
    • iPhone was definitely leading the pack at the time, but Android was passing it up quickly, and is doing quite well now.  Windows Phone looked great, but was late to the party for me to consider it at the time.
  • Interfaces
    • No lie here, iPhone has an amazing interface, partly due to no (and now minimal) multitasking.  Android is good, but could use some work, partly because screens are different across devices, so apps have to be built in such a way that all devices have a great experience.
  • SDK
    • The SDK for both are great.  There are lots of APIs to hook into and lots of functionality to leverage (I wrote a very light iPhone app for version 2).  The documentation for iPhone is good, with several videos explaining the development process.  However, Android’s developer center is absolutely top-notch.  They have videos and in-depth tutorials that are the best I’ve seen in a long, long time.  The best part, however, is that Android’s developer forums (used for Q/A) is actually officially integrated as a part of StackOverflow.  That community is amazing and very quick to help you understand anything you’re banging your head against.
  • Development Language
    • If you’ve ever switched from Java to C#, or vice versa, you’ll know they are very, very similar.  Windows Phone is C# (.NET) based.  Android is Java based.  Both are popular, solid languages with tons of support and lots of community involvement.  iPhone development uses objective-C, an extremely popul…wait…objective-C?  Oh, you didn’t say C?  Not even C++?  So, wait, wait…is it anything like those?  The syntax is totally different you say?  Oh…well, looks like you had better start your steep learning curve so you can get that app out the door.  Also, you better ask your boss for an extension, because this could take a while.  Or, you could always write for the iPhone using a mixture of .NET and the convolutedness of the the way objective-C and development on the iPhone is structured.  Good luck with that.
  • Marketplace
    • The marketplace on both are good…once you get and stay there.  The iTunes store feels like the cheapest app is $0.99, whereas the norm for Android apps is Free.  So, if you’re after making money, iPhone is probably the way to go.  Of course, you have to be approved…and stay approved…and Apple has to not change their mind.  You see, on Android, Google and the community builds in functionality like tethering, and cool apps like the Google shopping app.  Also, you have community options like ShopSavvy.  Just because ShopSavvy’s functionality is the same as one of Google’s apps, Google just tries to BUILD A BETTER APP, whereas Apple simply bans you from the marketplace altogether and causes your app to shut down.  From Apple’s perspective this reduces competition, provides a more consistent interface, and cleans out duplicate apps (read: anti-capitalism).  From an app developer’s business point of view, this increases risk DRAMATICALLY.  Would you be willing to invest hundreds of thousands of dollars into an app, only to have Apple steal your idea, integrate it, and then kick you out?  Tough luck, chump.  Android is the only sure bet that you will 100% have a chance.

So that, in a nutshell, is why I write for Android and not the iPhone.  Or, it could just be that I have a Droid and AT&T service is terrible where I live.  You know what they say, “Incentives make the world go round”.