Developer issues in the fragmented Android OS market

As the war between Apple and Microsoft intensifies, the rise of Android within the smartphone market seems to be an unstoppable force. Amongst consumers, Google’s platform is more popular than ever and – as a relatively new player on the block – it has achieved dominance as the number one mobile OS in the world.

The latest figures from IDC reveal that shipments for Q2 2012 for Android were at 104.8 million devices – a massive 106.5 per cent increase year on year. What happens in the consumer market, of course, also has massive implications for enterprise application development; capitalising on the BYOD trend in the workplace and the consumerisation of IT is now about winning the loyalty of the consumer market.

It’s hard to argue with market size, however, shipment sales perhaps present us with only one side of the picture; as we know the Android market is fragmented and segmentation within this space continues, which raises huge challenges for developers. There are now just under 4,000 devices operating 13 different variations of the Android operating system.

Choice and innovation are the building blocks of the market and progression is only to be expected. However, there is a fine line between choice and complexity and, for developers, the many iterations across just one OS, launched in quick succession, seems to have had an adverse impact on its uptake.

Choice versus complexity

The issue of fragmentation and consolidation of platforms, and the issues that this creates for developers is not a new one; it has pervaded the PC market for years. Yet the challenges we face now have added complexity ranging from optimising applications based on different APIs through to the challenges of interoperability – applications built specifically for one version may not work with others.

The challenges for developers also extend to running across different software iterations with their own development processes, coding and testing issues. Further, how do you maintain support for an older version of the OS once a new permutation of the Android OS comes out?

Ultimately, developing applications is about going where the best financial returns are and translating development efforts into real monetary returns from the ecosystem which means reaching as many users as possible. With so many variants on offer, the choice is either to limit the potential market you can reach or to spend money on testing and development to make sure apps are compatible with every new version of Android. This is even before we factor in hardware fragmentation which compounds the issue – different devices means different screen resolutions, processors across a seemingly limitless number of devices.

What the future holds

All of which leads to the fundamental issue of how to manage the fragmented Android landscape. Platform fragmentation won’t disappear, but depending on your viewpoint, this could be a good thing and help to drive, new and innovative ideas from the handset vendors who need to keep pace with Apple.

In the meantime, the crux of the issue for developers is how to manage the diversity and constant flux that defines the mobile market, in a way that makes best of use of their time and resources and means that they can focus on development efforts without re-starting from scratch.

It does point to why the ‘platform’ approach to mobile application development is gaining momentum. They offer a means through which developers can create applications to support multiple operating systems and devices, in the most efficient way. By providing support for the design, development, testing and deployment of mobile applications, for different devices it means that developers have to spend less time optimising apps for each different device type.

As the capabilities of devices, and preferences of users, continues to evolve, such development approaches can allow for greater flexibility and help to manage the complexity of a fragmented market.

Guest blogger David Akka is UK MD of Magic Software, a global provider of mobile and cloud-enabled application platforms.