Our Insights Post 10 mins Dave Thorpe Is Mobile Device Fragmentation Ruining Your App? Mobile device fragmentation has become a headache for developers and users alike. Mobile Device fragmentation is the simple fact that users are running on older versions of the OS while others are running on new ones. This problem rests mainly with the Android OS as updates to the Android OS vary by device, carrier and manufacturer.Why mobile device fragmentation is an issue — especially for Android It is always advised that users update to the latest version of an OS on their smartphones, mainly for security but it can take months for everyone using Android’s open source code to catch up. This is also the reason for Android’s success however, the ability for manufacturers to install the software into their devices for free means it has come to dominate the market as the leading OS in terms of volume of users, dwarfing Apple’s market share. It is alwaIt is always advised that users update to the latest version of an OS on their smartphones, mainly for security but it can take months for everyone using Android’s open source code to catch up. This is also the reason for Android’s success however, the ability for manufacturers to install the software into their devices for free means it has come to dominate the market as the leading OS in terms of volume of users, dwarfing Apple’s market share. Apple does not suffer from the same problem with mobile device fragmentation as their OS is much more rigid in its use by manufacturers. More than 80% of users are using the latest versions, which is a staggering difference with Android at barely 40%. Let that sink in: more than half of Android users are using an older version of the OS and this is where the challenge lies for app developers. The fact that Android 10 released last September only had 8.3% market share by March this year tells you how slow the Android eco-system moves. Here are some more detailed breakdowns of the variation in Android Versions. This however is the first step of device fragmentation. When companies begin to design and develop apps they are thinking about smartphones. However apps are now used on other types of devices such as tablets and watches, all with their own versions of Android and iOS. Depending on the goal of your app, it may be necessary to build your app for these devices and this is why app development is becoming increasingly complex. The issues created by mobile device fragmentation User dissatisfaction – This is obviously a huge concern for businesses. As a development team it is incredibly frustrating when you update and release your app and the complaints flood in from all of the legacy OS users that suddenly encounter issues. This can be a catastrophic problem if your app is a driving financial contributor to your business (e.g. subscriptions models). If your user abandons you due to poor usability it is almost impossible to convince them to come back. And remember: more than half of Android users are not on the latest OS. Cross platform development tools – These are powerful time- and money-saving ways of developing apps for both Android and iOS at the same time and here at Indiespring we love them. However, they do give us a challenge and one that is also out of our hands. When an OS is updated it takes these development tools some time to catch up. They are always striving to make improvements and some of the companies behind the tools boast 24-hour turn-around but our experience is this isn’t true. It’s difficult as developers to do much about this but it’s important to be aware you may be a few days behind the curve if this is the way you choose to go with your development. Our opinion is in most cases the benefits of cross platform development outweigh this problem. Bug tracking and resolution – This is a problem for all software development. As time passes and standards change, bugs are an inevitability for development teams. Device fragmentation causes complications as some bugs can be specific to both devices and operating systems and even versions of OS’s. This can make it extremely difficult to track down reported issues and resolve them. Specific issues that are common are the way the original equipment manufacturers (OEM’s) handle specific issues such as battery management and background tolerances. The challenge is creating a system that allows you to manage and replicate these issues. How to address mobile device fragmentation The challenge is managing the app ecosystem. With so much variety and numerous OS updates annually, not to include new devices and new types of devices (watch out for the return of flip phones) it is a huge task to keep your eye on all of it. The only way to manage device fragmentation is with a robust testing process. With so many moving pieces, development teams need support to work on this vast array of devices and OS variations. So a dedicated team is probably required, as well as suite of devices that can be tested against. While there are many tools and options to support you with testing, from our experience, nothing beats having a team who is responsible for the ongoing maintenance of your apps. This team needs to be able to quickly monitor and react to what is the most diverse development environment going and one that is only expanding. Building a robust testing script for all core functionality of your apps and running these tests against OS version history is a time consuming task. But within 3 months we managed to find and fix 94 issues in a single app before any pushes were sent to users so you can see how important this process is. To get the above done and done well we suggest discussing this in the planning and design phase on any project. This is where you will be defining your target audience (coverage of phones required) and project critical features, which will become the core elements for your testing on new OS releases. Thinking about testing in the planning phase will give your team time to plan the levels of complexity for your testing, identifying those critical needs and designing a testing script and approach to maintain your app. In our experience, those who think about testing at this early stage have an app with fewer bugs, that performs its core functionality consistently and has better reviews and happier users than those who do not.