Back in the day there was a popular and thriving operating system called Unix. It was stable. It was fast. And because it was open source, anyone could take it and develop it. Surprisingly, the fact that it could be developed caused its eventual downfall when various developers took the OS in different directions. The end result was that the operating systems became so different from each other that software would no longer run except on the version it was developed for.
This same fragmentation is in danger of happening to Google’s mobile operating system-known as Android, too. Android’s problems are being caused by the fact that so many different phones use the system, and the fact that there are now so many different versions of Android in use. This is making it very hard for applications developers to create apps that will work across all phone models, and all versions of the operating system.
Android currently runs on a wide range of devices, from the more modest models with processors around 500mhz, to the more expensive models that have more memory, and faster processors. Other hardware that is included in the phones differs just as much, with differences in graphics capability and screen size being of the biggest concern. Apps are currently expected to support phones with phones whose screen size ranges from a tiny 2.55 inches, up to the larger 4.2 inch models. Worse, there are tablets running Android, at up to 10 inches, support for which will only fully be realized in Android 3.0 (Honeycomb).
Another problem that is making itself known is the fact that many cellular companies add their own skin, or other apps to the stock Android distribution. Software additions such as the HTC Sense interface are loved by some and hated by many, and bring functionality to their phones that others don’t have. If an app developer were to develop with this in mind, only a small subset of users may be able to use the apps.
Google are concerned about the possible difficulties that this fragmentation could cause and are hoping to address that. There are possibilities for reducing the impact that fragmentation may have on both developers and on the user experience, and Google has now taken its first steps towards it.
Google have included in the Honeycomb release, a ‘fragments API’. This will be a kit of code that will allow applications developers to call on fragments, and even though they are not built into the core of the operating system they will be able to use them to make applications compatible with older versions of the system. The aim is provide support back through to version 1.6 of the operating system.
The fact remains that developing apps for Android remains a challenging task. Thanks to Google’s awareness of how the problem is growing, it can now be hoped that the challenge won’t be made any greater by a growing fragmentation of this mobile operating system.