You know how they say a picture is worth a thousand words? Well in the case of Android fragmentation – a subject discussed at great length here and on the uTest blog – a picture is worth a few thousand devices.
The image you’re seeing is a data chart of thousands of separate device models encountered by the dev team at OpenSignalMaps over the course of a six month period. It may not be a flashy infographic, but it’s one of the best visuals I’ve seen to convey the challenge of Android hardware fragmentation. Here with more details on the chart (and on Android fragmentation in general) is arstechnica:
The developers logged 3,997 distinct devices, the most popular of which was the Samsung Galaxy S II. This figure was inflated quite a bit by custom ROMs, which overwrite the android.build.MODEL variable and cause those phones to be logged as separate devices. 1,363 types were logged only once, and while some were custom ROMs bucking the numbers, a good few were just massively unpopular devices—for example, the Hungarian 10.1-inch Concorde Tab.
It’s not only the sheer count of devices that’s daunting, either—the spread is also intimidating. It’s easy to imagine a practical Android developer who doesn’t want to waste time supporting niche devices restricting the app to require high-end hardware and recent APIs, covering only the 25 or so most popular phones, and devil take the hindmost. But in OpenSignalMaps’ case, the top 25 devices don’t even encompass half of the map, and would still exclude well-known and popular (if old) models like the Samsung Nexus S. The developers would be missing out on over 50 percent of the Android market.
Some commentators on the article have correctly pointed out that hardware fragmentation alone is not an impossible challenge to overcome. However, many are forgetting to consider that hardware is only one aspect of fragmentation. Yes, there’s more.
As any Android developer can attest, fragmentation across location, carrier and especially operating system also complicate the testing process. See our previous articles on Instagram’s Android launch or Neflix’s Android Testing Challeneges for some good real-world examples.
Before finishing up, it should be noted that we’re not for or against fragmentation in principle. In fact, we’ve written about the many benefits of Android fragmentation in the past. Still, it should be clear by now that fragmentation isn’t making things easy for mobile QA teams. In an ideal world, your app would work the same on every device (yes, even you, Hungarian Concorde Tab). Realistically, it’s just not that easy.
Lucky for you, help is available! Shameless plug coming in 3,2,1…
For an easier way to test your Android app across devices, browsers, carriers and more, be sure to check out uTest’s in-the-wild testing services. You can also try AppGrader for Android- our free tool to help you rank your app on the most common devices and operating systems.
Until then, happy testing.