Over the past six months, the folks at OpenSignalMaps have been keeping tabs on the devices that have been downloading their network monitoring app, and so far they've recorded downloads onto 681,900 separate Android devices in 195 countries. Now they've taken all that data and splayed it out for all to see, and it highlights rather nicely how big a headache fragmentation can be for developers.
For the most part, the results are as you'd expect runaway hits like Samsung's Galaxy S II was the most represented device among the 3,997 distinct models they spotted, and Samsung Android devices were far and away the most widely used. What really gets me is how many other devices and brands fill up the rest of that list. Seriously, if you haven't yet, go look at it. Mouse-over some of the smaller blocks, see if there are any brands or devices that ring a bell.
It's pretty crazy to see just how many players are in the field, and nothing against OpenSignalMaps their app is actually pretty damned useful but it's not an immediate must-download for every user.
That there are gobs of Android devices floating around out there isn't exactly a shocker, but data like this really drives home the issue. With so many devices running so many versions of Android with who knows many carrier- and manufacturer-mandated tweaks onboard, how is a developer supposed to make sure that all of their users gets a consistent experience? They can't, unless they're willing to test like crazy.
Google chairman Eric Schmidt famously downplayed the term "fragmentation" at this year's CES, suggesting instead that people call it "differentiation." It's hard not to agree with sentiment on some level after all, one of Android's key strengths is how easily it fits into different niches and price points. But according to him, as long as every Android user is able to use the same apps, there's no problem here.
That strikes me as a rather shortsighted way of looking at it. Downloading and installing apps is one thing, but what I think really counts the user experience can still vary from hardware configuration to hardware configuration. Not a day goes by without new Android hardware (or rumors of new Android hardware) making the rounds hell, just an hour or so ago, the Wall Street Journal reported that Google will soon be filling out the new Devices section in the Google Play Store with new, unlocked "Nexus" hardware thanks to cooperation from up to five hardware manufacturers.
That's why developers like Animoca have invested what I can only imagine is a sizable amount of money and effort testing their apps with something like 400 Android devices before pushing them out into the world. And of course, fragmentation isn't just a hardware issue the OSM post points out that the two most used versions of Android now only account for 75% of the devices they surveyed, down from 90% last year, yet another issue for developers to grapple with.
Does every developer need to go through a process that outlandish? Certainly not OpenSignalMaps seems to test on a tiny fraction of that, and smaller developers can cover most of their bases with a handful of carefully chosen devices. At the end of the day though, despite the sheer amount of choice and flexibility that Android has provided users, those developers still have a choice to make do they want to strive for perfection, or do they want to keep their sanity?