Thinking of writing mobile apps? The biggest two platforms right now are Android and iOS, and most people already have one platform in mind, based on personal preference or experience. But if it looks like it could go either way for you, here’s what I’ve discovered about Android that might help with your decision making!
Note: I am not currently a mobile app developer. After a lot of consideration, I’ve decided to learn Android programming, but I see a lot to like in iOS. I’ll try to share Android’s good and bad points in this comparison.
Advantages of writing mobile apps for Android
Android is, arguably, the easiest mobile OS to get started with as an app developer. Unlike Objective-C, which you would use to write iOS apps, Java has garbage collection. This means you don’t have to allocate memory manually … and if you don’t understand what that means, just take my word for it that it makes your life easier.
You don’t need a Mac or a Windows PC (although you can use either), just a machine that can run Eclipse. And putting apps on the Android Market couldn’t be simpler: Just pay a $25 one-time fee, plus another $20 if they’re pay-for. After that you can upload whatever you want, however often you want, without needing to go through an approval process. Other app stores, like the one that Amazon’s planning, will have different policies, but the Android Market’s on pretty much everything out of the box.
Newer Android handsets have NVIDIA Tegra chipsets and dual-core processors, for increased power to run games. Plus, with Android you can use the Android NDK, to write apps that use native code … and Android 2.3 Gingerbread just recently introduced even more capabilities to the NDK. Unity 3d, the popular C# 3d game library for iOS, has announced that it will support Android soon, and the upcoming PlayStation Phone may give even more leverage to Android game developers.
Disadvantages of writing mobile apps for Android
Android’s human interface guidelines aren’t as consistent as iOS’, and as of this writing they don’t have a drag-and-drop interface builder the way XCode and Visual Studio have. So while it’s easy to make an Android app, it’s harder to make them look right.
Because of the low barrier to entry to the Android Market, it’s easy for apps to get buried in spam and ringtones … or even cheap knockoffs and name grabs, like how dozens of “Angry Birds” apps flooded the Android Market before Rovio got into it. Moreover, you pretty much have to put out a free, ad-supported version of your app if you want to make money from it.
Why? Some people say it’s because the people who use Android and Google services expect to get stuff for free. This is partly the case, I imagine, but there’s also the fact that in order to buy pay-for apps you need to sign up for Google Checkout. Not only is that an extra step that buyers have to take, but it’s also not supported in many countries yet. And since most Android phones can install apps from outside the market — a feature I’m totally in favor of — it also means that it’s easier to download pirated copies of Android apps.
Android’s greatest strengths are also its weaknesses. The openness that’s allowed Android to spread across carriers, handset makers and hardware form-factors also means not all Android apps will run on all Android devices. The people who buy Android phones don’t have as clear of an expectation of what they’ll be like, and they don’t seem as inclined to pay for Android apps, either. And frankly, it’s Android’s low barrier to entry that’s the real reason for the huge number of apps on the Android Market.
It’s that diversity, though, that gives amateur app developers a leg up. You don’t need an Intel Mac or an AT T; contract … all you need is a 5-year-old PC box and a free copy of Eclipse. You can even write apps for the emulator, if you don’t have an Android phone yet. And while your apps may not look as nice as iOS ones, with Android running on over 40% of new handsets sold your friends and family members — and customers — just might be more likely to be able to appreciate them.
That’s part of why I chose Android … that, and the fact that it’s “organic,” open-source software. Clearly I’m in the minority, but what do you think? Scroll down and leave a comment, perhaps … and whatever you write your apps for, I hope you and your customers have fun with them!