Analyzing data returned by your mobile apps can yield strong insights into critical product development decisions. Informing around supported mobile operating system versions is one such insight.
Mobile operating system updates usually provide cutting-edge features and bug fixes to the core APIs developers build their applications on top of.Taking advantage of those new features signals your team’s ability to deliver quickly and stay on top of market trends. Adopting new APIs that fix issues in older versions of the same APIs allows developers to remove ugly workarounds or in some cases, to actually incorporate new functionality into their applications.
Capitalizing on new features and improved APIs in many cases is predicated on dropping support for a prior version of the mobile platform’s OS. And in many cases, dropping support for an OS version can be challenging, as you will necessarily drop support for a number of user devices and frustrate that set of users. Making that decision is a task that many developers don’t take lightly.
Why not just support all OS versions? If you want to adopt new features and bug fixes that come with a new OS version while supporting older OS versions, you will have conditional paths throughout critical areas of your codebase. Supporting multiple paths means an increased number of lines of code and thereby a higher chance of introducing bugs.It can also lead to feature fragility, code bloat, and developer fear of removing code in the future they aren’t sure can be safely removed. In addition to being a difficult and error prone effort, your team likely has a limited development budget and the developer effort going towards writing and maintaining code supporting many OS versions is coming at the expense of adding value through new features or critical user issues.
What is the Right Number for Your App?
Analyzing telemetry data coming from your app can tell you the percentage of users on any supported OS version. How can you tell when your user base on an older OS version is small enough to drop support for? Let’s take a look at two use cases!
Let’s say you are developing an app for a public library system. It’s likely that in this application you deliver more value by supporting the highest number of users rather than by delivering cutting-edge graphics acceleration as the user base is broad and diverse. In this case, the value in the app is in delivering access to the library’s catalog and simple features like reserving a library book or album. For this application, you might think about dropping support for an older OS version when analytics shows 5% or fewer end users using that version.
If you’re the developer of a fast-paced, graphics-heavy game, on the other hand, you’re much more likely to be concerned by delivering an awesome experience aided by fluid graphics. Keeping the frame rate high is crucial and adopting the newest graphics APIs will provide lower rendering overhead. If your users aren’t playing your game because of a poor experience thanks to slow frame rates, you’re losing out on either advertising revenue or recurring revenue of in-app sales. Knowing that you have enough users to support your revenue targets is critical, and analytics will tell you when it’s safe to drop support for some of those users.
Ultimately, when you drop support for an OS version is specific to each application because of the revenue trade offs and app features you need to support are different for each app. Keep in mind these best practices around analytics reporting as you are establishing or modifying your app’s telemetry:
- Establish explicit metrics that allow you to confidently drop an OS version and report those metrics.
- Include the basics like session length, app version, device OS version, unique ID, location (if permitted), time of day and day of week.
- Decide on key performance indicators and report relevant data to ascertain whether you’re hitting the KPIs.
- Track usage of app features to know where to invest developer resources.
- Track user navigation through the app to track conversions.
- Use an analytics service. Accurate, timely insights are key to making decisions around what areas to invest in and which workflows need to be improved You can roll your own, but then you’re developing, validating and supporting a non-core product. Analytics as a service is easy to integrate into your app and provides excellent data visualization
Analytics can provide a wealth of information to help developers make good decisions. Don’t be in the dark, not knowing if your app is performing at its peak and what your users are doing inside the app!
About the Author
Jenner’s experience spans technical disciplines including mobile application development and deployment, management of a team of software engineers and leading teams practicing Agile development and Scrum methodologies. Jenner is currently working with an international development team developing mobile applications and is based in Austin, Texas.