Strategies for coping with Android device fragmentation

Bitbar, the mobile devops company. Logo, large

Last week I was speaking at Android Only! 2011 conference in Malmö, Sweden. My presentation was about Android device fragmentation and more specifically on how Android application developers can cope with the current fragmentation in Android devices. This problem did not exist 9 months ago and now it is becoming the single most expensive headache for any serious Android application developer. To understand the full extend of this problem you only have to browse through the comments of any application in the Android Market. About 80% of the comments are about the application not working correctly on a specific phone model, updates that make the application crash or in the worst case the application that the customer just paid for does not install at all.

Although device fragmentation is not a new phenomena in mobile (J2ME, Symbian) in Android’s case it is a significant issue because of Android’s large installed base share and the sheer momentum behind Android. Lucklily Google has already started to take actions to weed out the most incompatible handsets in the future but unfortunately those efforts impact only future handsets, not the 300+ handsets currently out there.

The only solid solution for any application developer it to test their applications on as many different Android devices as possible. Because of the sheer amount of Android phones in the market this is only possible by automating the application testing as doing it manually would take so much time that you would not finish testing the previous release before the next release is out. As a platfrom Android has a decent amount of test frameworks and little helper tools to enable automatic application testing but every application developer still has to gobble the test solution together from large amount of small pieces which is a significan amount of work and that work could be spent better elsewhere – like for instance in improving your application.

On my presentation I introduced the main testing frameworks, went through the most common problems the multi device testing exposes in Android applications and shared some best practices for Android multi device testing. Naturally I also showed a video how smoothly the whole application testing cycle runs when executed correctly.

I received very good feedbackfor my presentation. Some even said that it was the most useful presentation of the whole conference 😉 I don’t know about that but I have uploaded the presentation to Slidehare so everyone can benefit from our learnings.