During last year, the number of devices featuring Android increased -almost- exponentially. Having each of them a different hardware, it was believed to be an advantage, since the user could choose among the different setups.
Different hardware also means different software versions. These started to be a pain in the “back” for developers, with 30% using Android 1.6, 30% using 2.1 and 20% version 2.2, we had to optimise our apps for each android version. Thus requiring us to create 3 version of the app or exclude the low end devices.
This year, most Android users have updated to Android 2.1 or 2.2. But Android’s fragmentation has become more apparent to the open public. Since it isn’t software, it has to be, forcefully, the hardware.
There are several processors around, but above all, different graphic cards: Adreno, Nvidia and Mali 400P.
While Mali 400P (only featured in Samsung Galaxy S 2, yet) only allows processing of standard compression of textures, Nvidia and Adreno support their own proprietary compression of textures. This means that only Nvidia users will play some games and only Adreno will play certain games. And Mali 400P won’t have any of them.
Though we expect Nvidia-exclusive games to be re-adapted for the main public -as well as Adreno’s-, we’ll have to wait for it and have faith in the developers. Developers who, by the way, have been paid extra money for using the proprietary compression of textures.
Certainly, I believed Android hardware fragmentation to be an avantage, since it allowed me to choose my setup. Currently, it’s a pain in my eye.
However, for those who are interested in avoiding proprietary compression, you can buy a Samsung Galaxy S 2 and use software decompression through “Chainfire’s 3D” or wait for some hacker to adapt these textures to the standards. You’ll require a rooted phone and a bit of patience. I can tell you I’m successfully playing some “proprietary-compression-textured” games in my SGS2, but some just won’t load.