A total of 3997 distinct Android devices – that was the number that came up when OpenSignal tallied up the number of handsets using its services. It's little wonder that diplomatically phrased frustration seems to be the norm when developers talk about the Android ecosystem.
PaweB Miechowski of 11bit Studios, a company best known for its work with Anomaly: Warzone Earth, observed that while porting to Android itself was not intrinsically difficult, the act of ensuring compatibility was especially difficult when manufacturers insist on putting different drivers on the same devices.
"And it doesn't matter if the GPU is the same," he grouses. "It's literally impossible to have those hundreds of devices and test them internally. So one can count on luck that if a game works on one device from a family, it will on others as well. I think the more demanding the graphics are in a game, the more driver-compatibility problems a developer will face. And then you have many versions of the system you need to support, so yeah, keeping track is necessary."
Gaslamp Games' Nicolas Vining is blunt about the matter – he calls the whole procedure a nightmare. "There are just too many Android devices with different specifications, screen sizes, screen resolutions, software revisions, and conflicts. We couldn't ship a game for Android without a massive support nightmare--and we, as a small company, aren't capable of handling that nightmare."
He adds, "If your name is on a software product, you are judged by how that software product runs on the consumer's hardware – and it's your fault, as a developer, if the game fails to run on some cellphone or tablet that Samsung only manufactured, for six months, for sale in certain parts of Hungary."
To put it another way, developing for Android is a lot like coming up with a unified lunch menu for a school with every allergy known to man. There are a multitude of things to juggle and even more compromises to be made. Though it is theoretically possible to personalize a meal for every student, it would be anything but cost effective.
You'd need to keep tabs on everyone's dietary requirements, personal preferences, the panoply of ingredients to make it all work and the possibility of the toaster burning out. It gets complicated. What makes it worse is that, at the end of the day, this is all still a business. Even if you were to seek out more efficient alternatives, you'd still be spending time and money, both costs that could be minimized if you were to simply choose to cater to a less problem-riddled (and wealthier) group.
Naturally, Android proponents have a different take; the problem isn't with the school, it's with the people trying to feed them. Pruett doesn't see device fragmentation as something that needs to be 'worked around' at all. "Our games are available on almost every modern device type but we've only have had to deal with bugs in one or two of these."
For Pruett, the primary point of interest is pertinent to the size and the resolution of the screen; everything else is either irrelevant or working as intended. However, instead of trying to cater to every device, his company uses Google Play's tools to create a list of incompatible devices. If it doesn't meet their requirements, users aren't able to download the company's games – essentially the same as putting up a sign for our metaphorical cafeteria that says, "Our food contains nuts. Take it or leave it".
An imperfect whole
Pruett acknowledges that the whole system is imperfect, though. Non-pistacho eaters still need food like everyone else. Performance and memory variations are two elements his company lacks decent solutions for. "I'm not sure it's fair to call this an "Android fragmentation" problem, though, because those old devices are not necessarily broken or flawed – they're just old and lower spec than the bleeding edge. And this problem isn't unique to Android: we have the same issue delivering high-end 3D games on iOS because we must continue to support aging devices like the iPhone 3GS."
Much like everyone else, Spacetime Studios found themselves struggling with the enormous number of screen resolutions known to the platform. "When we initially started putting products on both the iOS and the Android marktetplace, we found ourselves doing four times the work we should have.
Expensive as the idea of building for such a diverse range of devices might be, it isn't an impossible endeavor. Not when you've gotten the formula down pat. Baudouin Corman, VP of Publishing for Gameloft, says that the cost behind the production of their Android games has decreased significantly over time. "Partly because we've learned how to efficiently handle the diversity of devices without compromising the quality and partly because the Android platform itself has improved greatly in that respect."
Sitting in between its advocates and its naysayers are folk like Mojang's Johan Bernhardsson. Unlike many other developers, the Stockholm-based creators of Minecraft released their game on the Google Play Store first. "There have been a few issues with the Android SDK on the way with bugs and problems but I feel that the current NDK has become a lot more stable...One issue with development is that we haven't found any really good emulator to run the games without going through a phone/tablet."
Of course, even having a panoply of devices is no guarantee of success. BlitWise Production's Brian McCabe sent in a photograph of some of the equipment--there were a lot of devices--the company has purchased for this express purpose. "We purchased several ourselves, and struggled also to find a QA source that could meet what we thought were the sine qua non requirements for testing. Sometimes a problem would pop up in one phone but not a very similar one, but the fix for that would break something for the other. (I recall there was a graphical error in large explosions on the Samsung Galaxy S II, I believe, that didn't show up on either the S I or the S III.)"
A different frontier
From the outside, it's easy to believe that Android and iOS development are one and the same; both circle around similar-looking, touch-centric devices, after all. A rose by any other name is still a mobile device capable of keeping you up to date with your best friend's fusillade of Instagram photos, right? In theory? Yes. In practice? Not quite.
Understanding this seems essential to surviving Android's unusual idiosyncrasies. And while there are those like Vining who seem doubtful about its current status, few are unwilling to offer grudging acknowledgment that things may well change. "There are things that Google can do, or that other Android stakeholders can do, in order to try and make this situation not terrible. Better control over standards, for one thing. I'm all for free market competition, but the incompatibility problems are a good example of free market competition hurting the consumer. If the situation gets better, we'll reconsider our stance."
The popularity of Android devices have increased exponentially over the recent years. According to the Gartner group, Samsung ended 2012 as the No.1 company in terms of worldwide smartphone sales and overall mobile phone sales. There's a lot of potential in this upcoming market but there is an equal number of problems to face. High piracy rates, severe device fragmentation, and a user base that is purportedly more reluctant to pay for premium apps--these are all variables that make difficult for developers. Still, Rome wasn't built in a day and if things continue to maintain their momentum, we may one day see iOS users lobbying for equal treatment instead.