Challenges of developing for the Android platform
Thursday, October 7th, 2010 Karen Ambrose Hickey, Editor
I recently talked with Peter, one of our developers, about the challenges of developing for the Android platform.
Developing for Android is incredibly complex, due to the fragmentation. One team member compared it to developing for Windows, in that you have a single vendor to handle, different O/S versions to deal with, and different device types/manufacturers to deal with. Just because the app works on Android 2.1, doesn’t mean it works on 2.2. In addition, there are the thousands of networks that our devices talk to, and we need to make sure it works on them all.
Peter talks about “the Holy Grail of Development” or the idea that you “develop once and deploy everywhere.” This has never really happened, even in a desktop environment. However, although development for each OS takes more time, an app that is created specifically for that version provides a richer experience for the end user.
Here are some other things I learned:
Lower barrier to entry
The Android Market provides a lower barrier to entry, than the iPhone/iTunes model. A developer only needs to pay a one-time $25 fee, and then they have unlimited uploads and apps. Anyone with an Android device can become a developer. With the iPhone’s iOS, you have to be a registered developer and pay a yearly fee. Until recently, Apple had a restriction on using third-party development tools, whereas Android developers have always been free to use what they’d like.
User experience
The easiest port for an app is to go from an iPhone app to an Android app. Because the iPhone has only a single button, all of the menu items are available from the screen. These ported apps are pretty apparent on the Android, because the Menu and Back buttons won’t work as expected. This is more of a matter of cosmetics, making an Android app look more like an iPhone app. However, some will also argue that the Back button allows you to multi-task and stay on task through multiple apps.
Why some of these challenges can benefit the Enterprise
The fragmentation that provides a challenge for developers may lead to benefits for the Enterprise in terms of choice of carriers and handsets; something they don’t get from the iPhone (and apparently isn’t getting better any time soon.) Also, an enterprise has the ability to develop their own apps and Android may be easier depending on the level of expertise in your company and the preferred tools for that development. Finally, an enterprise has the ability to provision those in-house apps and profiles, which is easier with Android (and like Windows, as discussed above), than through the Apple process.





