Why Android Fragmentation Isn’t a Problem (Anymore) in Developing Mobile Apps
Google has done a remarkable job solving the problem of development fragmentation with their implementation of Google Play Services.
A Brief History
The Android landscape was in a precarious position in terms of development. On the positive side, it was rapidly exploding with several manufacturers releasing a multitude of devices. This barrage of so many different devices and manufacturers were helping to push past its initial start behind the iPhone and moving Android ahead of iOS in terms of market share. On the software side, Google was also rapidly expanding and enhancing the Android platform – going from 2.0 to 2.3 at a fast clip.
It was this rapid platform enhancement that actually exposed the biggest Android fragmentation problem. Device makers, carriers, and Google were all at a standstill of loopholes and confused incentives.
Device makers saw no reason to undertake the costs of testing and deploying new Android releases, and carriers refused to do the work they felt device makers should be doing. Users were left with a device permanently locked into a specific flavor of Android with no hope of getting the latest improvements.
Google came up with a rather ingenious solution: they began to move nearly everything interesting about the Android operating system (maps, push notifications, in-app purchases, etc.) out of the core OS and into a special “app” – Google Play. Using Play, they were able to install some amazing leaps forward on devices that would never see the latest official OS release.
All of this brings us to the largest piece of the fragmentation problem for developers. Whenever you’re building an app for any fragmented platform the biggest challenge will be what API level you can use. If you target a minimum level version, you can only use lowest common denominator features. If you target too cutting-edge of an API level, you’ll leave most of your users behind. By moving the functionality of most of the APIs into Google Play Service, Google vastly increased the number of Android devices with access to the latest version of the most key APIs. This leaves developers free to target newer API levels, without the worry of leaving older devices behind.
In addition, Google also aggressively made available a set of backward compatibility libraries that developers could use to target things that didn’t make it into the Google Play Services.
The combination of these two efforts has led to a vast reduction in the most difficult area of fragmentation, allowing brands to continue to target the cutting edge, and push boundaries even further with the apps they develop and deploy.