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