Search This Blog

Friday, October 29, 2010

The Real Fragmentation That Threatens Android

Fragmentation is a real threat to the Android ecosystem and user experience.  But not the way you're probably thinking.  The word "fragmentation" is probably one of the most (ab)used buzzwords that gets flung around when people start talking about developing for Android.  And also one of the most misunderstood.  (According to Ray Walters of the AndroidGuys blog, many of the C-level executives who spoke at AppNation don't even get it.)

The term "fragmentation" is used to suggest one of two "ills" that supposedly "plague" the Android ecosystem:
  • Phone manufacturers who employ Android are forking off completely new "flavors" of Android from Google's root code base.  (Much like the Linux environment currently looks.)
  • Application vendors are forced to create a new version of their applications for each version of Android they support (or for each hardware vendor's version of Android)
The truth is that none of those things are really happening, and the reality of the impact of multiple Android versions is far different from this portrayal (unless, of course, a given developer is unaware of how to properly deal with multiple Android versions).  There is, however, a fragmentation that is potentially a very real problem for the Android developer:  App stores.

In the past month, I've read accounts of several new app stores that are already in existence or are in the works:
  • Verizon's VCast Android Market
  • Amazon's up-and-coming Android Marketplace
  • Archos AppsLib
  • SlideMe
  • AndAppStore
  • Adroia
  • GetJar
While competition is generally a positive thing, the multitude of disparate app stores is actually a hindrance to Android application distribution, which is, in turn, a hindrance to Android adoption, at some level.  Here are just a few reasons I believe this is true:
  • Each app store can have its own terms of service, by which each developer must abide (and to which each application submitted to the app store must adhere).  One app store, in particular (Amazon's), actually reserves the right to modify your application in order to support the addition of their proprietary DRM.
  • Deploying application updates could be a pain (should a developer decide to submit their application to multiple app stores).
  • A different set of applications is available in every one of these app stores (potentially with different versions of the same application).  And that's assuming that the app store doesn't require that you distribute your application exclusively through their app store.
  • Can multiple app stores be used on the same device?  (Granted, this is very likely more a function of the specific Android device, which may be locked to a single, specific app store.)  If any device is restricted to the use of a single app store, that reduces consumer choice for the users of that device.
  • There is a potential for a disconnect between the app stores that will be preferred by consumers and developers:  
    • Developers will end up choosing to use the app store(s) with the most favorable terms of service.  (The store that takes the lowest percentage of proceeds, and/or makes uploading new application versions the easiest.)  
    • Consumers will choose the app store(s) that they are forced to use, or that have the best applications
  • Didn't we learn about the evils of onerous "approval processes" that are employed by other app stores (lest you figure out that I'm talking about Fruit, Inc.)?  Why would developers choose to partner with an Android app store that has just as ludicrous an approval process?
Overall, this is one area where the fragmentation that's developing is not a good thing.  It doesn't have to be a negative thing, though.  If, for instance, there were a single "gateway" where developers could register and upload their applications for distribution by the individual app stores (like the Android Marketplace), that could simplify the existence of multiple app stores for application developers.  This would be one small thing that Google could do to decrease the impact of the fragmentation that appears to be developing.

What do you think?  Am I onto something, or are all of these app stores the greatest thing since slided bread?  Let me know what you think!