Programming For Android Sucks
What platform has crappy weak documentation, a virtual simulator that takes minutes to load, and takes three times as long to program for? That’s right: Android. The discussion that has flared up following Eric Schmidt’s conversation at Le Web yesterday is an important one as it’s a conversation that is occurring within startups around the world.
If you’re a new mobile startup, your primary desire will be to deliver a service that works on both Apple devices and Android devices. Unfortunately, this is unrealistic from a cost perspective. The first version you release probably won’t be successful and the last thing you want to be doing is iterating on multiple platforms simultaneously. Yet just about every person you meet will more than likely have a phone powered by the opposite platform than the one you built for. That’s just the way it goes.
With a larger audience than iOS, there’s no doubt that building for Android is insanely compelling. While developers may not enjoy building on Android (and may even be insulted by Schmidt’s statements on the matter), the business potential is too great to ignore. Developers are still ignoring it though. Why? Programming for Apple is awesome.
My own experience with building on iPhone was great. In general you can pretty much build an app and it will run across multiple versions of iOS with few modifications. Additionally, the documentation provided by Apple is incredibly thorough. Given that all great programmers are lazy by nature, Apple’s general consistency across platforms makes programming a joy. With Android, you are going to have to make exceptions for the numerous types of phones out in the market (the fragmentation problem).
Developers can complain all they want though. If you’re a funded startup building a consumer application, you are going to have to build an Android app at some point. Yes, Instagram has built an iPhone-only community. There are also plenty of others that are exclusive to iOS. Bootstrapped companies will always be forced to go one route and for now, iPhone still provides a compelling route. But if you are working for a well-funded company, there’s pretty much no option: Android is a requirement.
Hopefully Google gets their act together and can make a platform which provides a more pleasant experience for developers. Otherwise there will continue to be a love-hate relationship between developers and Android.