What platform should I support for my mobile application? :by Rick McMullin
As CTO at bitHeads, I have been asked a number of questions over the last 17 years, and decided to pick from some of the most common questions to address in our blog series.
- What type of application am I developing? Is it an app or a game?
- What level of UI customization does your application have?
- Does it mostly use standard controls or does is it heavily customized?
- What hardware features does your application use?
- Does your application use the accelerometer, compass, GPS, camera, or NFC support?
In this post we are going to start things off by addressing non-gaming applications. We will discuss what to consider when you are developing game apps in the next blog entry.
The OS level to support really comes down to the statistics regarding the number of devices that are currently running the OS version in market. Here are some numbers to consider, broken out by platform.
- You have to support Gingerbread (2.3) and up, as this covers 90% of the devices in market very efficiently. Drop 2.3 and you are down to 45%….
- Ask yourself if your app requires support for the new advanced hardware features like NFC? If it’s straight forward and simple, consider supporting 2.2 as well. This will bring you up to 97% of the active devices.
- One of the nice things about Android is that Google publicly publishes the OS distribution numbers, so even though it is a somewhat fragmented market, you can calculate the coverage by adding or deleting an OS quite accurately. http://developer.android.com/about/dashboards/index.html
For the iPhone you can easily support only the last 2 major releases (so now that would be 5.x and 6.x) and a lot of applications could probably get by with only supporting the last major release. (Games are a bit different but more on that in the next entry). This is largely because Apple actively encourages consumers to upgrade as soon as possible.
Unfortunately, the iOS statistics are not made public by Apple. This means that to get iOS distribution data you have to rely on statistics from specific applications hitting back-end servers or creating amalgams of this data. One such example of this is presented here: http://appleinsider.com/articles/13/02/13/apples-ios-6-now-accounts-for-83-of-all-ios-based-traffic-in-north-america
According to the source in the link above, you will reach an amazing 95% of all active devices by supporting iOS 5 and 6 and 85% by just supporting iOS 6 alone.
If you already have BlackBerry applications developed, I recommend continuing to support BlackBerry OS6 and OS7 for the next year while working on your strategy to release new versions of your apps on the BB10 platform.
It is still a bit too early to tell exactly what the OS distribution statistics will be for BlackBerry but the picture will become clearer as the new Z10 is rolled out across the US in the coming weeks.
Windows Phone considerations
Windows Phone 8 was released by Microsoft just last fall: October 2012. So again if you are planning a new app, that is the OS to focus on.
Microsoft did make it a bit easier though in that the Windows Phone 8 is backward compatible with Windows Phone 7, meaning that any apps that you had developed for Windows Phone 7 will still run on Windows Phone 8 with little or no changes required.
I hope this helps as a primer to what platform you should support for mobile applications. In the next blog I will continue the conversation, but specifically as it applies to mobile games.