I’m sure we’ve all had that experience of coming up with that killer app idea only to find that someone has already done it… 50 times. But now you’ve finally honed in on the app idea you want to develop but have no idea about what platform to build it on.
Why pick a single platform?
Picking a single platform to build your app on initially has one major advantage over attempting to capture the entire market by building on every platform in a single attempt; the fact that you’re narrowing the number of technical variables that you need to deal with so that you can focus on developing the optimal app experience.
On the flip side, if your app idea is truly original, then you’re potentially leaving yourself open to a competitor taking the idea and beating you to the competing platform. But if you have confidence in your ability to deliver the best quality app, then you shouldn’t be focused on what you competitors might do, so much as focusing on creating the best experience for your users. Always a tricky decision to weigh up.
If your idea is not totally original but you believe you can bring a unique value to the table, then going with a single platform initially is a simple decision.
Globally Android has greater market share than iOS with 65.9% and 25.9% respectively. However this isn’t spread evenly throughout the world. Android has a large majority market share in Asia, South America and Africa whereas iOS has a small majority market share in North America and Europe. Of course, if we’re factoring in the web as a platform at this point, then it’s irrelevant to talk about market share.
So the question this brings ups is whether total global market share is a priority for the first release or whether you’re more interested in specific markets.
Follow the money
If your app or services requires your user to fork out some cash, either at the time of purchasing the app or afterwards via in-app purchases, then iOS wins out in this regard. iOS users are more likely to make purchases on their phones and at the same time pay out more money per purchase.
Should I build for the web?
You might be thinking that you don’t need to build an app at all and that you can better serve your users on the web alone. If you app is retail based then the data certainly backs you up here however the trends don’t. Users, at least for the moment, are more likely to look up your product or make a purchase if visiting your mobile responsive website from their phone than if they download your app. However the trends are indicating that more and more users are moving towards purchasing through their apps with a $205 billion in app based e-commerce sales projected for 2018 (out of a total of $300 billion). So if you’re thinking about future proofing choosing an app over going it web alone might be the right decision.
There are a plethora of cross platform technologies out there that proport to accelerate the app development experience and give a native-like app experience. The primary of these are Cordova (with the Ionic framework) and Xamarin. Both do a fine job of bringing a unified development experience to disparate platforms.
However in my own experience as a developer, having gone down this route before, while cross platform technologies tend to give you a leg up in the initial stages of development when you see quick gains on getting the basic app working. But as soon as you attempt to go that little bit further in giving the user a polished experience, cross platform shows its weaknesses. Also you find that as the development progresses, and especially as it approaches the end, you’ll find yourself dealing more and more with platform specific issues and start to see divergences in the code. Above all cross platform apps just feel a little bit flakey due to the slightly lower framerates of the animations, transitions and generic looking UI components.
That said, these two cross platform technologies do give you a path towards getting on the two major device families with a lot less hassle than building two separate apps. And cordova/Ionic gives you an additional advantage in that you can decide to make the app web-available. All sounds great but remember the user experience suffers.
I should build on a single platform initially when:
I want to focus on developing the optimal user experience.
I want a native app experience.
I’m content with the fact that competitors could get a market hold on the competing platform.
I should build on iOS when:
My app is paid for.
My app relies on in-app purchases .
I’m targetting North America, Europe or Japan.
I should build on Android only when:
Having greater global market coverage is important
My app is ad supported.
I’m targeting markets in Asia, Africa or South America.
I should build for the web when:
In the short-term, retail sales are important to me.
The application is interactive to the point where someone needs to be sitting at their desktop to use it.
I should use cross-platform technology when:
Full market coverage is vital.
Having the sleekest user experience is not critical.
Rapid prototyping on multiple platforms is what you want.