At the beginning of each mobile project, you will be faced with the question of which operating system versions the application should support. As maintenance cost is associated with supporting older versions, it is a good idea to consider this from time to time for existing projects too. Here, we present factors influencing the decision and provide our up-to-date recommendation based on the market situation.
The more extensive operating system version support is for applications, the more trade-offs are required for development. Support for older operating systems requires developers to use older and less efficient programming interfaces or, alternatively, to implement multiple versions of the functions, both the old and the new way, causing duplication of work. For this reason, choosing the right operating system version is especially a matter of efficiency and cost. On the other hand it’s about the number of users for whom the app is available. A suitable balance between this metrics is required, e.g. 80/20.
When starting a new project, it is worth choosing a supported operating system version from the perspective of what the situation is expected to be after the project is completed, usually 9-12 months after project start. In this case, fairly bold assumptions can be made about the supported operating system versions so that the project can take advantage of the best new software components as investment in the dying os versions will only decrease in value over time.
Users of Apple devices are known for their fast upgrade cycle. In general, it can be said that most users have upgraded to the new operating system version within 3 months of its release. On the Android side, the situation is the opposite. Google will first bring the updates to its own devices, after which the operating system version will be developed by other vendors for the first time. This means that for many devices, the latest version will never be available and for those who do, the upgrade cycle will be 1-2 years. Thus, the “tail” of the supported versions on the Android side is significantly longer.
Recommendation updated on 19.10.2020
With new apps, you should be bold. When development is done directly with modern tools, it is faster and more efficient.
Android version 8.0 (API 26, from 2017) covers more than 80% of Android devices in Finland and is practically the oldest version with which a new phone equipped with can be purchased as a new store. However, the change is constant and likely recommendation will be changed to 9.0 (API 28) very soon.
iOS version 13 is a natural choice as the minimum, as 13+ covers already over 80 % of devices in Finland. It also was accompanied by several improvement, such as SwitfUI, which enhances the implementation of user interfaces. However, if you're preparing for a longer project, it is expected that iOS 14 will gain the same market share within 12 months.
For existing applications, analytics should always be consulted first. If there are a lot of users with older versions of the operating system, supporting those might be worthwhile. However, more often it's just a handful of users for which the support is not worth while. An update should be planned and end of support announced at the time of release.
As far as Android is concerned, there is no reason to go earlier than the versions recommended here. Android 6.0 (API 23, from 2015) is already a more modern OS and covers more than 95% of devices in Finland.
For iOS, version 11 was a major upgrade, and raising the minimum to at least is highly recommended. By supporting it, the app supports almost 95% of devices in Finland.
We would be happy to justify our recommendations face to face and help you with any other issues you may have regarding mobile development. Please contact us using the form at the bottom of the page.