This article is for: Software startup founders who want to build an app but don’t know which mobile operating system to build for, or whether to build it on a hybrid platform

Written by: Alex Senson, Ashley Burton, Tyler Boulanger

<– Back to: “Tips for Mobile App Development at Your Software Startup”


During mobile app development, software startup founders are often met with one of the most common decisions faced by technology consumers today: Apple or Android? However, these startup founders aren’t deciding on which new smartphone to buy, but which operating system (OS) they need to be prioritizing when programming their app. Yes, it is definitely ideal that your company will be able to produce fully-polished apps that are optimized for every operating system and device out there. But funding for all that development is hard to come by at a startup. With app development costing anywhere from $10,000 to $250,000, founders often need to figure out which faction of their users will be most important to target first; or whether they should compromise quality and address both sets of users at once.

In this article, the two most popular mobile operating systems, Google’s Android and Apple’s iOS, are compared to explore which one would be the best choice for your startup to target first. The merit of hybrid frameworks is also compared to that of native languages. Overall, we’re examining the options available when you need your app developed on a budget. Keep reading to help make the right decision for your business!

Main Topics to be Covered:

Altitude Accelerator Case Studies:


Android vs Apple Mobile Operating System

Apple iOS is the operating system found on all Apple mobile devices from iPhones to iPads to iPods. The Android operating system is used by the majority of other mobile phone brands in the world including Samsung, Google, Nokia, Huawei and more. Each version of the Android operating system has been named after a sweet treat like Oreo, Pie, KitKat, or Marshmallow. The two OSs have distinctions in how their apps are programmed, their technical capabilities, and who uses them. These distinctions are important to consider if you can only afford to make a native app for one of them; a native app just means that the app is designed specifically for one OS using its preferred framework. This section looks at which of the mobile operating systems your business should be prioritizing.

Languages

Although you shouldn’t be choosing an OS based on which coding languages you’re familiar with, the prevalent languages for each operating system are definitely worth considering if you’ve already decided on a programming language that would work best with your application.

Android OS apps are developed in either Java or Kotlin. Kotlin is newer, having become a native alternative to Java in 2017, but is completely compatible with Java frameworks.

Apple developed its own programming language, Swift, which is still only a few years old. All native iOS apps are now designed using the language, which became open-source in 2015. Prior to that, iOS apps were written in Objective-C. It’s worth keeping in mind that frameworks from Objective-C are not completely compatible with Swift, potentially causing issues if you plan on building on an older app’s framework.

User Demographics

In terms of total quantity of users, Android OS vastly outnumbers Apple iOS. As of July 2019, 76.08% of worldwide mobile users on are on Android while 22.01% are on iOS. Because Apple phones tend to be more expensive than those that use Android, iOS is more popular in areas with higher average incomes like North America, Australia, and some European for countries. For example, 56.4% of mobile phone users in Canada are on iOS. Apple is also more popular in English-speaking countries and amongst younger users.

For example, Swob is a mobile app that facilitates job recruitment for students. When they first started development, they only created a native app for iOS because they knew a larger portion of their demographic, North American students, was using iOS devices.

Another key consideration is that iOS users tend to be much more willing to spend money on their apps; this includes paying for apps and making in-app purchases. The Apple App Store makes much more revenue than the Google Play Store, where Android apps are sold, as a result. Because of this, Android has a much higher percentage of ad-supported apps than Apple. It should also be noted that Apple users are much more loyal to the brand itself compared to Android users.


RICC Case Study: Chris Houston from SurfEasy

Chris Houston was the CEO and founder of SurfEasy, a VPN service focused on security at large companies. It has since been acquired twice; Houston now acts as the VP of mobile product development at Symantec, SurfEasy’s latest acquirer. At its outset, SurfEasy was a little late to the VPN market; they designed their product as a mobile app because that was a market inefficiency at the time. Despite most of their competitors being on desktop, they spent a lot of their time using keyword optimization to help rank in the app stores.

SurfEasy’s business model was essentially a freemium model, so users could download a basic version of the product for free but had to pay for premium features. Conversion rates turned out to be much higher for iOS users; Houston theorized that this was because iOS users have their credit cards hooked up to their account. As a result, SurfEasy focused most of their initial resources on iterating the iOS app, while Android got far less love and wasn’t worth the effort.


Technical Considerations

One of the advantages of apps that are programmed in the operating system’s native language is that the app can be optimized for the capabilities of that specific OS or the devices it is associated with. However, it is typically required that users have updated their device with the latest version of the OS to make use of its newest capabilities. Because iOS updates frequently and automatically while Android OS updates are optional, a much higher portion of iOS users are on the latest OS. According to Apple, 88% of Apple users are using most recent OS (iOS 12). According to Statista, only about 10% of Android users are on the most recent OS (Pie), while the most common OS is still their older Marshmallow 6 (16.9%). About 10% of users still use one of their oldest sets of OSs (Jelly Bean) as well. If your phone makes use of recently-added OS features, it may be difficult for a large portion of Android users to get the most out of your product.

For apps that are meant to be used on a tablet, you’ll likely want to consider targeting the iOS audience, seeing as they make up 82.42% of the Canadian market share and 70.56% globally. It’s also worth noting that while native Android apps can be made on almost any computer, native iOS apps need to be made on a Mac.

When developing an Android app, device fragmentation can often be a concern. This means that because such a wide variety of Android-enabled phones are in use, it’s difficult to optimize an app for the screen size, speed, and features of each device. Developers often need to select which devices they are prioritizing their app for because it is nearly impossible to address every one in circulation, and this is often equally true for the variety of mobile operating systems being used.

The code for Android’s OS is open-source while iOS is closed. This means the Android OS source code is available to app developers to be tweaked and customized to best suit the needs of their app. As a result of this tweaking from apps, devices using Android OS are known to be less secure than Apple devices; iOS apps are not able to interact with the device’s OS. The large global market share held by Android also means it is more often targeted by cybercriminals and hackers. Because of all of these reasons, enterprise apps with a lot of fragile information tend to have a larger market on iOS.


 RICC Case Study: James Lee from Expancio

James Lee is the VP of engineering at Expancio, a platform for creating HTML-based progressive web apps that can easily be downloaded onto mobile devices. Having recently graduated from Altitude Accelerator’s Incubator Program, Expancio is working with a wide range of businesses to help them engage modern customers through their apps.

Much before his time at Expancio, Lee worked on developing mobile apps for Blackberry in 2009 and earlier. One of his biggest hassles was the need to have his apps look good on a variety of Blackberry devices that each had different aspect ratios and screen sizes. In order to cope, Lee literally counted the pixels on each device and adjusted different versions of the apps accordingly to that images wouldn’t appear stretched. To overcome this, devices now have guidelines about each of their screen sizes so apps can still be more easily made for small, medium, or large screens, but extra work is still required to address these different sizes.

Hybrid app development technologies will be discussed later in this article, but keep Expancio’s services when we explore the merits of hybrid-style apps. They may be able to help develop your ideal mobile app as a progressive web app!


Cost of Development

In general, the cost of developing an app for Android tends to be higher. Although, according to Codementor, the cost for hiring developers is about the same, Android apps take longer to test and debug because of the device fragmentation discussed above. The difference in cost can be lowered by narrowing your focus to the more popular devices and recent versions of the OS, but then you’d be limiting the size of your user base.

Publishing to the App Stores

Publishing to the Apple App Store is more regulated and expensive than publishing to the Google Play Store (Android). Apple has a strict set of regulations that are reviewed by a committee of real people and the process take about a day to reach approval. It costs 99$ per year to publish your app as an individual or $299 per year when you’re a company. Android leaves more room for innovation on the app interface and reviews and publishes apps within hours of the application. Their publication involves a one-time charge of $25. Both stores allow you to slowly release updates to a few users at a time to test them out. More importantly, be prepared to pay about 30% commission for each app sale you generate – a fairly standard rate for the cut that app stores take.

It’s obviously dependent on how many devices you target and how much time is required to build your app, but the price difference caused by Android’s device fragmentation should outweigh the Apple’s App Store charges. These store charges should not have a significant impact on your long-term decisions; you’ll probably end up putting the app on both stores as your company grows anyway.


Key Takeaways: Android OS vs Apple iOS

  • iOS apps require Swift language knowledge while Android apps can be written in Java or Kotlin
  • Android has more users worldwide, but iOS is more commonly used by North Americans and young people
  • iOS users tend to spend more money on apps
  • iOS users tend to use the most recent version of the OS while Android users use a wide variety of OS versions and devices, causing device fragmentation
  • Device fragmentation causes Android apps to be more expensive to develop but it is more expensive to publish apps in Apple’s App Store

Native vs Hybrid Development

The decision between iOS and Android can be difficult one. You want to get your app into as many users’ hands as possible, so it may seem like a detrimental move to isolate a significant group of people by only developing for one mobile operating system or another. As discussed earlier, it’s definitely difficult for a startup to afford the development of a different version of the app in a different language for each OS. Luckily, there are “hybrid” language frameworks and platforms that allow you to create cross-functional apps that work on either OS. They are usually written in a web code like HTML or JavaScript. This is definitely a more cost-effective way to go about doing things, but is it right for your app? This section compares the merits of hybrid mobile app development against native.

Performance

Developing apps specifically for their native mobile operating system allows you to fully unlock their potential capabilities. Services like Bluetooth, GPS sensors, cameras, accelerometers, gyroscopes, and microphones have unique qualities on each device and need to be carefully considered when an app requires their use for features like using their location or sensing a gesture. The weakness of hybrid apps is that they are unable to take advantage of the unique capabilities and be optimized accordingly; their features need to be consistent across all devices. This can even impact the app’s overall performance and speed, seeing as hybrid apps can’t fully use a device’s processing power. It should also be noted that hybrid apps usually depend largely on web code and thus, can’t be used offline. If your ideal app needs to use any special device features or be used offline, hybrid apps may not be for you.

Publishing to the App Stores

If a hybrid app is written in a web language or anything other than a native language, it will need to be distributed online through the device’s web browser and can’t be approved for sale in the app store. This means native apps in the store get much more exposure and distribution.  They are also far more easily monetized, seeing as hybrid apps can’t be connected to users’ accounts on the app stores so they can’t make in-app purchases. There are ways to “wrap” a hybrid application in native languages; the Ionic framework lets you write program apps in web languages like HTML, JavaScript, or CSS and convert them into native applications. Although they still have the other hybrid drawbacks and take longer to be approved, these wrapped apps can be submitted to app stores for publication. Making a progressive web app using Expancio’s services allows your app to be downloaded directly onto users’ phones from your web app.

Cost

The main advantage of hybrid app development is cost-effectiveness; you only need to develop one app instead of one for each OS. The same code, UX/UI design, and development team can be used for all platforms, so programming requires a lot less time and labour. Overall, hybrid app development is useful when you are a small software startup that needs to make a cost-effective, wide-reaching app, but not when you want to make a sophisticated app with device-specific features to wow users.


RICC Case Study: Daniel Ruscigno from ClinicSense

Daniel Ruscigno is cofounder of ClinicSense, a practice management software system for massage therapists and a startup mentored by the Altitude Accelerator. ClinicSense was originally designed as web app made for desktop or tablet use and Ruscigno says it was a good start. However, he realized over time that the trend in massage therapy was to implement mobile platforms because the massage therapists are often travelling. Because of this, he and his cofounder decided to build a ClinicSense mobile app. He wanted to be able to reach both Apple and Android users but didn’t think it would be efficient to develop a uniquely programmed app for each. Because the app did not require the use of any advanced device capabilities, a platform called Cordova was used to make a hybrid app that was wrapped up and distributed in both app stores.


Key Takeaways: Native vs Hybrid Development

  • Hybrid apps aren’t able to take advantage of mobile operating system or device-specific features like a natively developed app can; overall performance tends to be weaker on hybrid apps as well
  • Hybrid apps can’t be put in the app stores unless they are wrapped in the appropriate native language; they take longer to be approved and can’t be monetized even then
  • Hybrid apps are much more cost effective because the same code, design, and team can be used for all platforms

<– Back to: “Tips for Mobile App Development at Your Software Startup”