As a technology enthusiast and as a person who missed the iphone app bandwagon in the first year and half, I have been pondering with this question of whether to get on to android over the last few months. So, I thought I would share my thoughts here...
First let me disclose that I have an iphone and I just started writing iphone apps myself. However the iphone app market seems extremely competitive such that, so far every single idea that I come up with has already been done as an app. Plus I ask myself the same question that John Nash asks his friends at the bar scene in the movie "The Beautiful mind" - "Why should everyone compete by all of us going for the blond? Instead can each of us go for her friends (may not be as pretty as the blond) but atleast we have a chance of getting laid...". This is the basis of Nash's theory and equilibrium for which he was given the Noble Prize. I m asking the same question to myself - "Should I compete in an overly crowded iphone app market or should I start learning and developing in the android platform so that I get on the game pretty early."
Today, according to Androidlib (Androidlib is a website to browse android apps on the web http://www.techcrunch.com/2009/07/07/finally-a-decent-website-to-browse-android-apps-androlib/), there are little over 20000 apps in the android store (http://www.mobilecrunch.com/2009/12/15/android-market-20000-apps/). Five months ago, there were 10000 apps in the android store (http://www.mobilecrunch.com/2009/09/07/android-market-now-over-10000-applications-strong/). Does this mean that more developers have started getting on to the android boat and I better hurry up? Another interesting observation from androidlib's data is that there are about 37% of paid apps right now versus 35% of paid apps, five months ago. This tells us that not many people are writing paid apps. What does it tell about the revenue? Nothing!
Well, the main question to ask here is - "Are developers writing android apps making money?". Revenue could be in the form of paid app downloads or ad revenue. Do the android developers get any of these forms of revenue and if so whats the split up? I don't have the answer to this question. However, one comment I have is that Google has been the smartest dude in the world with making money with ads, so if your intention is to develop free apps and just make money with ads, then maybe android is not a bad idea. While you are pondering over your decision to write android or iphone apps,keep asking, "Do I want to generate revenue from ads or from paid apps?" and do your research accordingly. This is what I have been asking so far to myself.
A few negatives with respect to android:
1) Recently I was speaking to friend, who is an apple evangelist and is also developing iphone apps and he mentioned that one of his android-developer friend recently complained that no none seems to be downloading his paid app in the android store.
2) Another interesting observation that my apple evangelistic friend made was that android could have the same problem that Macintosh faces over windows interms of adoption.
3) Another big problem that I see with respect to adoption of android is that Google needs to come up with some creative hardware. C'mon lets be honest.. The HTC phones suck! Think about a high school kid or a college kid who wants to impress his girlfriends. Will he guy a cool iphone or a HTC phone (which is not cool at all). I don't have any problem with android.. but just the phone. With google's Nexus One (http://www.techcrunch.com/2009/12/12/nexus-one-google-phone-picture/) (whenever it comes to the market), this might change. Maybe the Droid is already changing this. But what if next year apple comes with a holographic iphone or a iphone as small as a nano with a expandable screen and keyboard. Now thats what google needs if they have to compete with apple.. a better hardware (not just creating a new phone with a bigger screen and slider keyboard.. I m talking about a totally out-of-the-box feature). If there is any chance that this could happen, then I m going to totally jump on to the android bandwagon right away. No questions asked.
A few positive reasons for jumping on to android:
1) The argument towards jumping on the android bandwagon is the programming language.. Its Java, which can be applied anywhere (even in the web with the google web tool kit) and plus it would be great thing on your resume to be a good java programmer. Thats a positive one compared to objective-C which is a ba*tard child of Smalltalk and C from NeXT. Who in the world except apple uses objective-C and from my experiences programming in Objective-C, I had a steep learning curve. However, I got to give to it apple. Their interface builder (this is like the GUI Visual basic used to have where you can drag and drop your UI elements like buttons, text-boxes and design your UI canvas) is awesome. I havent used the debugger in android so I can't compare but Xcode's debugger is pretty cool.
2) Recently a friend of mine gave an awesome idea for apps on android. He asked me to just copy the best selling app ideas on iphone and port it to android. The probability that they will sell in the android is very high. Well, I will take that. That's what I will be doing if I m jumping on the android bandwagon.
Other phone platforms to consider:
There are also other phone platforms like the Symbian OS, Blackberry who have their own app store and app platform. I haven't done any research on this. But I know that most of the corporate market is held by Blackberry and the question to ask is if these guys were to move to a different phone, what will they switch to. If your company is currently supporting blackberry, if they switch, will they switch to iphone or android-based-phones? Maybe the blackberry could start supporting android. In that case, the whole conversation changes.
There is also a new kid in this neighborhood called moblin (http://moblin.org/) which is a mobile platform (similar to android) and is evangelized by Intel to promote their processors' entry into the mobile industry (netbooks at present). Moblin is a C/C++ platform.. Should you start developing for moblin? Maybe if you want to well ahead of the curve in moblin (sure - moblin is going to have users). I leave the decision to you. If you already a good C/C++ programmer, maybe you should start on moblin.
Anyways, keep munching on these thoughts and share your thoughts as well...