Fragmentation of the Android platform is being blamed for a decline in developer enthusiasm for the platform, but the real fragmentation challenge for app developers is a much broader issue that just Android.
Granted, there are some fragmentation hurdles that seem to be unique to Android. Compared with other mobile platforms--especially Apple's iOS--the diversity of hardware capabilities and form factors, and the variety of flavors of Android currently in use can make it more complex to develop and test apps for Android.
A survey by Appcelerator found that nearly two-thirds of app developers consider fragmentation of the Android platform to be the biggest threat to its success. The third place response is the fact that Android has multiple app stores, which is really just another form of how the platform is fragmented.
But, from the perspective of an app developer, or of a company that wants to create a tool for mobile platforms, the fragmentation issue is much broader in scope. Appcelerator notes, "When it comes to fragmentation, Android's issues are not the number one fragmentation concern among developers. In fact, fragmentation in mobile today is six layers deep."
What exactly does that mean? Well, let's say you want to create a new mobile task list app. As a developer, you don't want to have to choose which platform, or which specific smartphones or tablets the app will run on. You want to just be able to create an app and have that app work on the various mobile devices.
Unfortunately, it is not that easy. There is fragmentation between tablets and smartphones, between the hardware capabilities and specifications of individual devices, between the mobile OSs, between the available programming languages, and between the different app store distribution channels.
There really isn't a way to create a single app and have it work across all platforms. Developers are forced to develop multiple versions of the same app to work with the different mobile operating systems, and distribute those apps through separate app store distribution channels. And, even within a single mobile OS, developers must verify that the app works as intended across a diverse set of hardware options.
All of the additional effort required to develop and adequately test apps that meet the challenges posed by fragmentation cause development to take longer and cost more. I wouldn't expect any mobile Utopia where apps are standardized in some way any time soon, so developers just need to factor the fragmentation into the development process and do what they can to develop most efficiently.