All the pieces of Android
Android fragmentation sounds like something out of a cheesy sci-fi movie. But for the many developers looking to break into creating apps for the lion’s share OS, it can be a headache. In fact, if the various iterations of stock Android, the different skinned versions of Android, and the number of different device makers using Android were laid out, it looks just like a fragmented disk drive.
Even so, the majority of the apps available in the Play Store will work on almost any Android device. The catch lies here; Android developers to looking to offer a seamless, beautiful, and functional product across a wide user base are being stymied by all the differences in Android OS. Developers design for the version of the operating system most used, but in doing so they must sacrifice some functionality of the newer OS and sometimes drop support for the older OS.
But with Android, there is another dimension of difficulty that has to be taken into account – hardware. As an open source OS, Android is loaded on phones made by Motorola, Samsung, LG, Pantech, and the list goes on. Each of those handset makers then has multiple units – all with different screen sizes, functionalities, and features. Imagine the frustration of quality testing 5 handsets. Now imagine the problem with quality testing the same app on 400+ handsets.
Go To Jail; Do Not Pass GO, Do Not Collect 200 Dollars.
Developers don’t make applications for the sake of advancing mankind on mobile devices. Developers make applications in the hopes that a wide user base will use it and in turn provide revenue for them. This is why the most popular applications debut on the iOS ecosystem first – the tangible financial return on the app. Developers can spend more time on developing the app and less time on quality control due to the closed nature of the iOS software and hardware offerings.
Android developers have to deal with a much more variable system. Android 2.3 (Gingerbread), which was released nearly two years ago in 2010, represents 57.5% of Android OS share. Already outstripped by Android 4.1 (Jelly Bean), Android 4.0 (Ice Cream Sandwich) represents 20.9% of Android devices. Android 2.2 (Froyo), the aged predecessor of Gingerbread, commands a 14% share.
Don’t have a headache yet?
Add the considerations of the various versions of stock Android to all the different skins used by developers to “differentiate” their version of Android – Motoblur, TouchWiz, Sense, etc. Then look at all the different Android handsets that each handset maker pumps out each year and the results are mind-boggling. The variables that developers have to consider when developing apps for Android are clearly enormous.
Not Google’s Problem
What is Google doing about Android fragmentation? Pretty much just cooling their heels. The problem of fragmentation lies more so with mobile carriers and their partner handset developers than with the search giant. Mobile carriers and handset makers have an incentive to sign customers up for the newest, flashiest, and biggest mobile phone releases. Pushing the latest OS updates to older phones may make consumers rethink purchasing that newest handset – hurting the bottom line for mobile carriers and handset makers.
For handset developers who deploy their phones with a skinned version of Android, developing updates ranks pretty low on their list. Aside from the cost of having to re-skin each new Android updates and making it work on older handsets, it takes away from their sales of newer handsets. And because most consumers are stuck in a contract for two years before they have a chance to purchase a new handset, the choice to update or not doesn’t really matter to the handset maker – the consumer is stuck with that phone anyways.
Developing a Strategy
The problems that developers face with Android OS require careful consideration and maneuvering. The Android reach is simply too big for developers to abandon completely, even if there are greener pastures. And Android application development is less restrictive; developers can move their applications through a variety of app marketplaces.
Developers can continue pushing the big companies that use Android to become more developer-friendly. But in the meantime, what developers need to focus on now is the strategy of their development. Strategy is based around two basic components; the product and the consumer of that product.
Applications should be developed to be most functional and useful for a targeted user base. This way, developers can focus on QA for the types of Android OS and handsets that are in their core target market first, before moving on to capture other users.
Aside from following users, developers should also focus on the core functionality of their product. If the core functionality of the app doesn’t function on an older version of Android, the app shouldn’t be offered on the older version. The core product must function well; it shouldn’t only offer partial functionality.
Android fragmentation has been an issue of great contention because of the uncertainty of its effects on the consumer – or whether there is even one. However, taking fragmentation into mind when developing apps will help developers create stronger, more targeted, and more functional apps.
And that benefits us all.