It seems to me that the standard business practice of building an app for the iPhone first and then porting it (ie: rebuilding it) for the Android platform is seriously the most stupid decision of any business venture.
No really. It’s insane. If you’re doing this right now, stop and think for a moment about what you are doing.
If you build for the iPhone first….
1. You’re building for a platform that requires a finished, entirely functional application before it will be permitted to be listed on the iPhone app store.
2. You’re making it available to a group of users that will pay for an app, but they expect it to work perfectly, be easy to use and be superior to any other application on the market. If the users don’t like your app, or think it doesn’t work properly, you will receive hate mail. Look what’s happened to the recent iPad twitter app replacement for tweetie. Many users find it extremely irritating and have broadcast their hatred of the new app to the twittersphere.
3. You’re locking yourself into a programming platform that is actually notoriously difficult to port to other platforms. By getting everything beautiful and correct for the iPhone, you’re actually making it tougher to build on/for other platforms (eg: Android, Symbian, Windows, etc). You’re looking (at least) at a complete rewrite in Java.
If you build for Android first…
1. You’re building for an app store that won’t care two hoots if you want to launch a beta version of your app and have it in the Android app market the same afternoon you build it.
2. You’re building for a community of users who don’t actually care if your app is stunningly beautiful or not. Particularly if it’s free and in beta. They’re likely to give feedback about the look and feel of the product and they’re likely to advocate it if they think it’s useful to their friends. They’ll even clamour to buy it if they think it’s awesome. (See Swype.)
3. You’re building on a platform that converts far more easily to the Apple iPhone SDK than many would have you believe. In fact with iSpectrum, you can develop your entire iPhone app in Java and then compile in iSpectrum to generate the app binary using Apple’s iPhone SDK.
So: why on earth would any business fund the development of iPhone apps as concepts over Android apps? To me, it’s an instant strategy #FAIL.