By Sriram V Iyer
Google Android™ was received with much adulation when it was launched. And, it’s still riding the wave!
To put a quick background to this subject, Android is pitched right against Apple’s formidable iOS that powers iPhones, iPods and iPads. To cater to the form factors of phones/tablets, Android has come up with versions that cater to each of these (versions 2.x for phones and 3.x for tablets)
Android offers a ‘free’, ‘open’ platform for developers and phone manufacturers alike. This is in direct contrast with Apple’s development model where everything is closed – the device, the operating system and the app distribution model.
There were some frustrations with the Apple camp because some of the apps submitted were rejected and Apple was considered ‘evil’ because it controlled the whole app distribution model.
With Android, the whole operating system is open sourced. A manufacturer is free to modify source of Android (with some restrictions) and developers are free to distribute their apps in various ways. And as a result, Google’s Android Market place is not the only place to look for Android apps.
Though this seems to appear good on paper, all may not well in the Android camp. Developers are increasingly complaining of ‘platform fragmentation’. For example, if the developer tests his app on an Android 2.1 phone from a manufacturer X, he just assumes that it would work on all 2.1 Android phones. However if the app doesn’t work as intended on a phone from manufacturer Y, or worse, if it crashes, it is a case of fragmentation.
The fragmentation could be of various reasons:
Hardware Dependency: Some of the features of Android are hardware specific – for instance, Android 2.3 has support for NFC (Near Field Communications). So, on some phones that support Android 2.3, but do not have NFC hardware, there may not be support for the NFC feature in the operating system
Manufacturer Customizations: Manufacturers usually take the Android OS released by Google and add their customizations (like UI, Social networking features etc.) and then put the modified versions in the phone. As an indirect side-effect of this, some of the apps that depend on the modified features may not run well on all phones.
CPU / Memory Footprint Limitations: Some of the apps can be memory/CPU intensive. In this case, apps that perform well on high-end phones may not work well on phones with limited CPU capabilities/memory.
So, how does it affect the app developer?
- The developer is edgy when he releases an app. To compound this issue, Android market does not support OS version based download. For instance, if you have two versions of the app, one for say 1.6 and another for 2.x series, then you need to create two apps in the market (MyApp-1.6, MyApp-2.1 etc.) This is pushing the OS awareness to the end user. But it may not be in the best interests of the developer and also, the user
- User perceives the app store as a ‘non-reliable’ place to look for apps. This affects the paid apps mostly because users are scared to pay for the apps which may not finally work on their phones
- Spoils the general ecosystem experience
This is clearly reflected in the recent survey by Baird Research, taking responses from over 250 developers. A whopping 70% of them indicated that platform fragmentation is a fairly big issue (see chart below). Clearly, this is a problem and based on our understanding of Google’s hand on the pulse on the ecosystem, one can safely assume that they’re trying to work it out.
iPhones/iPads, on the other hand, provide standardized hardware and software which the developer can rely to work identically, once tested. Apple’s policing of apps, which might be a bane to the developer, actually works well for the end user. Also, the whole process of app download/purchase install is streamlined with iTunes, in the case of Apple’s app store.
So, which one do you choose if you have to choose only one? Honestly speaking, I don’t have a definitive answer!
If your app involves a technology that takes a lot of time and resources to develop, Android might be a safer bet. If Apple decides the app is no-good, then all your good work will be down the proverbial drain. However, if you are fairly confident that the app will not be rejected and if your main worry is that if your app should behave predictably on all your users’ phones, go ahead and develop for iOS.
Needless to say, both operating systems offer great potential for developers and hopefully, the issues with these software systems will get ironed out. We are in the inflection point of mobile development, and such (and more) turbulences only make our life more interesting. To fellow mobile developers, I have only one thing to say – have fun!
This is a guest column by Sriram V Iyer, Co-founder, United Mobile Apps. To read his earlier column on Nokia’s plans with Qt, a cross-platform toolkit, click here. To know more about his venture and his entrepreneurial journey, click here.
Also, do share with us your thoughts & views on this story by writing to us at firstname.lastname@example.org.
Guest Column by Sriram V Iyer, Co- Founder, United Mobile Apps
Chart courtesy: Mobile Crunch