One of the earliest decisions you'll need to make for your app is choosing which mobile operating systems you will support. There is no clear-cut, one-size-fits-all answer to this question; it really depends on a variety of factors. Do you want your app in as many hands as possible? Are you looking to maximize your average revenue per download? Is there a specific functionality (like iBeacon or NFC) that you want to incorporate in your app? In this post, we will examine a few factors which will help you decide which operating systems to support.
The computer languages used to build mobile apps vary between operating systems. Android apps are generally built using a language called Java, while iOS apps are built using a language called Objective-C. While it's possible to manually translate an app from one language to another, it's more cost-effective to start from scratch. (Imagine having to translate a law book from English to German. Doesn't sound like much fun, does it?)
There are some services out there which attempt to make this "build once, run everywhere" solution a reality. While there is a time and a place for these tools, they cannot account for certain app-specific optimizations that will make your app feel fast and truly native. If you're looking to build a quality, native app, then these general purpose tools will not be of much use to you and your development team.
And finally, if you want to catch us on a technicality, you could make the case that there *is* a platform in which you can write your app once and have it available to devices of any shape, size or model: your web browser.
If you absolutely *must* accommodate every single customer you possibly can for the lowest cost, building a web app could be the solution you're looking for.
But since we're strictly discussing native platforms, how do we determine which ones to develop for?
In an ideal world (where all of our project budgets are bountiful and our timelines are infinite), the answer to this entire blog post would be quite simple:
Q: Should I build an App for iOS or Android? A: Yes. Both. And Windows Phone, too. Heck, let's throw Blackberry in there, too.
In reality, however, app development is an expensive endeavor, and costs can escalade quickly if you need to target more than one platform. We typically quote our clients the cost for development on iOS and double it if they need an Android version. Before insisting on building your app for multiple platforms, ensure that you have the capital required to fund it.
At the iPhone 5s launch event, Apple CEO Tim Cook said that they've shipped 700 million iOS devices. In September 2013, Google's Sundar Pichai announced that Google has activated 1 billion Android devices. There's no denying it: the mobile revolution has spread to all corners of the world and, consequently, all segments of the market.
If your app requires the largest worldwide reach as possible, you'd be hard-pressed to find a more prolific platform than Android, which shipped 80% of the smartphones worldwide in Summer 2013.
However, the sales numbers tell a different story. According to mobile app analytics company Flurry, iOS users pay an average of 19 cents per app. That might not seem like a lot, but it certainly looks better when compared to Android's 6 cents per user.
Market share also doesn't dictate where your precise customer is located. While you will undoubtedly find portions of your market on either platform, you can certainly dig a bit deeper to find where the majority of them exist.
For example, according to comScore MobiLens, iPhone users tend to be younger and slightly more affluent. iOS users spend an average of 26 minutes longer on their devices than Android users, according to Experian Marketing Services.
Instead of looking into market share numbers, spend some time researching which platforms attract your app's specific market. If your app will be marketed towards college students in Chicago, you might want to develop for a different platform than someone who is building an app geared towards senior citizens in Russia.
A big part of deciding which platform to develop for should include your app's revenue model. The app ecosystem allows for several different ways to make money, including:
As we noted above, if your goal is to make money from raw, up-front sales or through the freemium model (which we tend to recommend), you'll statistically have a better shot at success on iOS than Android. If you want to get your app in as many hands as possible and make money by selling your entire app to a larger business, you might want to develop for Android first.
As with your market research, spend some time looking at the spending habits of customers on both platforms.
Apple is notorious for having a strict App Review process. While this allows for a more curated and cleaner store experience, it also means apps must adhere to specific rules regarding the functionality of the app.
For instance, if your app is designed to do something automatically without user interaction (like silencing itself at a set time or place), your app may not make it in the Apple App Store.
While the Google Play store does have some restrictions on the types of apps allowed in its store, they are not nearly as restrictive as the Apple App Store.
Besides the functionalities that they don't allow, it's also important to keep in mind the functionalities that are exclusive to either platform. iOS 7 introduced a service called iBeacon, which allows a device to send a push notification or item to another device when they enter a Bluetooth range. Android apps have much more flexibility in terms of running in the background and integrating with system apps (like the camera and phone).
Ask your developer if your app idea is technically feasible to build for each platform before committing to one over the other.
Developing for the iPhone and iPad is relatively straight-forward. Developers need to worry about a handful of devices which have relatively similar specs between devices (in terms of memory, hard drive space, etc.). The biggest challenge for testing comes with screen size and ensuring the app looks good on a handful of configurations:
In this regard, developing for the Android platform can be much more challenging. Android's greatest strength of being available for virtually any device is also its greatest weakness. In addition to worrying about the myriad of screen sizes, there is an endless amount of hardware configurations which, if not tested for, could cause unexpected issues in your app. Take a look at this excellent visualization from OpenSignal to see how fragmented the Android market actually is.
Most apps won't require supporting such exotic devices, but if you are targeting a worldwide market, you might want to keep the potential costs of testing in mind.
Both Android and iOS provide excellent platforms for you to market and sell your app. Before deciding which platform to throw your weight behind, discuss these topics with your development team. If you have any further questions or want to ask an experienced development company which platform makes sense for your idea, contact us today!