Much has been written about Android fragmentation, and how it affects consumers. But what does it mean for Android developers?
Well, more testing – lots more testing. And, of course, all the associated support and bug fixing issues for dealing with multiple versions.
You have to test for:
- All the Android versions that you want to support for your app.
- Then there is testing for different screen sizes (both in portrait and landscape mode, of course, and handling orientation changes between them).
- Also testing for manufacturer phones that have a custom UI, especially if your app interacts with the UI in some way – for instance for widgets or if the app accesses system settings screens.
This sounds like a lot of work, and it is, if you are diligent about testing and providing a good experience for your users.
But then is this much different for developers writing web applications that work in browsers?
In that case you would have to test your app for:
- All the major browsers that you want to support (Firefox, Internet Explorer, Chrome, Opera, etc).
- Different versions of these browsers that might still be in use (and how to degrade gracefully for older versions).
- Once again different screen sizes, particularly if you are supporting mobile devices as well as desktop.
So, from a developer’s perspective it’s not all that different from the issues that Android developers have in terms of having to do a lot of testing and app support.
They just don’t call it fragmentation, because it isn’t. But the issues with having to support multiple client environment versions are the same.
I consider that this is the price that has to be paid for working on systems that have some degree of ‘openness’ (in contract to systems that are tightly controlled by the company that owns it).
If you support openness in software, then I think this is a price worth paying.
Then I came across this post about how bad fragmentation was in that area. Basically the gist of the article was that there were so many frameworks and libraries for building web applications, and the landscape was constantly changing. The author used the phrase ‘crisis of churn rate‘ to describe the mess.
Even frameworks like angularjs, which seems to have a lot of mind share at the moment, will have a new version (2.0) coming out possibly at the end of the year which will not be backwards compatible with the current version. More fragmentation!
After having read that post, and done a bit of research myself, it just reinforced my view that Android fragmentation was not really so bad after all.