A couple of days ago, I said I was considering giving up on iPhone development and trying Android instead. Here are my further thoughts along those lines.
First, I downloaded the Android SDK, did a little reading, and went through the Hello, world! tutorial to bring up an app in the Android simulator. I didn't go too far beyond that. The Android SDK is all based on Java and XML, which are two things I don't like much, but on the whole it looked like a reasonable set of tools and software frameworks.
Next, I went to Best Buy to play with a DROID phone. They had a nonfunctional "dummy" phone on display, and the dummy phone was terrible: it was flimsy and cheap, and the keyboard was too stiff to be usable. I was about to just give up right there. But, while my wife ooh'ed over a Sony Reader Touch, I asked a salesperson if they had any actual DROID phones, and when told that they did, I asked to try it out.
I don't have much to add to all the other DROID reviews you can find on the net. It looks really nice. It feels really nice. It doesn't have the smooth curves of the iPhone, but the hardware is definitely impressive. The software didn't look as nice as the iPhone, but it looked usable.
So, with those two basic "Would Android use and development suck?" questions tentatively answered No, I started doing some investigation of the Android software market. And that is where I stopped.
For a complete description of everything wrong with the Android software market, see AppleInsider's "Inside Google's Android and Apple's iPhone OS as software markets". Here's a summary:
- Android users don't buy as many apps as iPhone and iPod touch users do.
- Android phones don't have much storage space available for installation of apps.
- The apps in the Android Market are what you would expect for an open-source platform: functional-but-ugly stuff written by hobbyists, no commercial-grade productivity apps or name-brand games.
- The variety of Android devices and software versions make it difficult to create apps that work on all phones, or even on large subsets of phones. (This is similar to the problems of Windows Mobile development.)
- Google is doing little to promote the Android Market to users or to encourage serious developers to put apps there.
There is a negative feedback loop at play. Nobody wants to buy Android apps, because nobody makes good Android apps, and nobody wants to make good apps, because nobody buys them.
The bottom line may be that people who are willing to spend money on their mobile devices are going to buy the Apple products. The people who buy Android phones are going to be members of one of these three camps:
- those who just want a functional phone, and don't care about the OS or third-party apps
- those who would really like an iPhone, but can't afford one
- those who would really like an iPhone, but have philosophical objections to giving money to Apple
In short, Android users aren't the kind of people who spend money on nice apps. So they aren't going to get any.
The most optimistic spin I could put on this situation was "Well, if there are no good apps there, then if I make the first awesome Android app, then every Android user will buy it and I'll make lots of money." But that doesn't seem reasonable.
Another optimistic spin is "Well, there won't be any consumer apps, but there may be a lot of custom app development. For example, give all your salespeople Android phones with your company's CRM app installed." That may be true, but I don't want to get into that business.
So, I'm going to stick with iPhone development for a while.
Note that I am not saying that Android is going to "fail." I think device makers will be dropping Windows Mobile, Symbian, and other OSes in favor of Android, so we'll be seeing a lot of Android devices. But I don't see an iPhone App Store-style success. There will be apps for Android, but they won't be the reason to buy an Android phone. Better to be in the Android ringtone business, I think.