In recent years, iOS and Android have come to totally dominate the mobile market, leaving all competitors far behind. While Though iOS and Android offer similar functionality, there are a lot of differences in how these functionalities are implemented across a range of devices.
The openness of Android gives mobile app developers the opportunity to implement the OS on a variety of devices, but considerable fragmentation produces lots of troubles as well. On the other hand, iOS is a tightly closed system fully supported by Apple, which somewhat limits a developer’s potential.
Let’s look in-depth at the particularities of both platforms to see why developing an iOS app will never feel like developing an Android app, and vice versa.
Fragmentation in the Android ecosystem is both an advantage and a disadvantage for developers and users.
In terms of advantages, Android offers users a wide choice of devices in terms of screen size, price, brand, look, etc. From affordable Chinese smartphones for $50 to $100 to expensive flagships like Samsung’s Galaxy S 7 (available for around $650 and up), there’s a broad range of Android devices to choose from. This diversified market means great opportunities for Android developers who can build apps with the potential to reach a large percentage of the global population.
Google licenses their Google Mobile Services software, along with Android trademarks, only to hardware manufacturers for devices that meet Google's compatibility standards. But these hardware manufacturers not only produce their own unique devices; they also build their own software on top of the Android system which leads to even greater fragmentation issues that an Android developer has to deal with.
Android developers can’t rely on such things as ‘unified’ screen resolutions or single OS versions. It takes time for manufacturers to update their to new versions of Android, and it’s up to manufacturers to determine for how long a device should be supported (if at all). This is why Android apps must be compatible with multiple versions of Android running on smartphones, tablets, wearables, and other devices that vary widely in terms of build quality, hardware, firmware, and screen sizes.
I’m not even going to get into forks of Android, such as Amazon’s Fire OS, Nokia’s X Software Platform, and various Chinese operating systems. All of these make major changes to the Android OS, making them incompatible with apps that require any of Google’s components, and consequently cannot be shipped with the Google Play Store.
NOTE: Yalantis develops only native mobile apps compatible with devices that licence Google Mobile Services software (for Android) or that run on Apple’s hardware powered by iOS.
The iOS operating system avoids most of the fragmentation issues that plague Android. Apple produces a comparatively limited number of devices and holds the keeps the entire system under their control. And iOS updates are rolled out simultaneously to all of their latest devices. Lastly, iOS users tend to upgrade to new devices far more regularly than Android users.
However, closed systems like Apple’s iOS also have some drawbacks. For instance, we can’t get access to Apple’s hardware to change something we think could work better (we’re developers, after all, and there are always things that can work better).
We can’t use or develop any accessory to supplement our iPhones with unless it has passed the MFi (Made for iPhone/iPod/iPad) certification program. And I don’t even want to mention the costs of the latest Apple devices.
Fragmentation in numbers
Android fragmentation as of Q1 2015 is represented in the following figures:
2.x versions represent about 1% of active users
4.0.x-4.4.x versions represent 90% of active users
5.x Lollipop constitutes only 4% of devices since its launch (as of the third quarter of 2015)
iOS statistics are given below:
5.x-6.x versions represent about 3% of active users
7.x versions power about 26% of devices
8.x version represents 71% of the market
It’s notable that 50% of users installed iOS8 on their devices in November, just two months after its release.
NOTE: The statistics above are relevant for March 2015— in July, the iOS 8 market share was about 85%.
Below is a timeline that shows OS versions and devices shipped over the past fours years:
In the infographics below, we can see the size of the market share for each Android device manufacturer. As we can see, Samsung dominates the market with a 47.5% share and Sony-Ericsson comes in second with 7.3% of the market. LG devices are the third most popular among users, and Google’s Nexus line takes fourth place. Some brands, like Moto and Motorola (which are one company) have different shares on the diagram. If we combine them, their market share will account for 4.2%.
Now that we’re through with an overview of fragmentation, let’s talk about specific issues that we have to deal with each day here at Yalantis.
Android fragmentation can be time-consuming for app developers.
Most Android devices ship with a substantial amount of proprietary software. Some manufacturers that produce custom, certified distributions of Android (such as Samsung’s TouchWiz and HTC Sense) may replace certain stock Android apps with their own proprietary alternatives and add additional software not included in the stock Android operating system.
The different look and feel of basic apps like the camera, widgets, gallery, and contact book across devices means not only a lack of consistency in GUI design, but can also lead to usability issues. To avoid usability issues, a single app may need to look different across various Android devices.
The current Android SDK version supports about 20 resolutions. However, only about ten of these are in active use.
The following infographic shows an overlay of possible screen sizes of Android devices. Bold lines illustrate the most popular smartphone screen sizes.
Apple, on the other hand, has only six sizes for its screens. The only big change that happened with Apple devices took place last year when they moved to Retina displays – the resolution doubled, while screen sizes remained the same.
At this point, Apple devices are more fragmented than they once were, but it’s nothing compared to Android.
Fragmentation of hardware components
Hardware components in modern devices are also fragmented. Let’s look at the Samsung Galaxy series and iPhones by way of example.
The diagram shows that both iOS and Android devices have a general set of hardware components such as microphones, GPS, cameras (front and rear), Bluetooth and NFC, Wi-Fi adapters, GSM/UMTS modules, accelerometers, gyroscopes, barometers, fingerprint scanners, heart-rate trackers, and others.
Most of the above-mentioned hardware components are widely used in modern apps. For example, various fitness apps use accelerometers to count steps and GPS to build running routes; healthcare apps use heart-rate trackers; gyroscopes can often be used in game development.
But the available hardware set may vary depending on the device type. For example, some tablets may not have a GSM\UMTS module integrated with GPS. Low-cost smartphones may lack a front-facing camera, illumination sensor, or gyroscope, not to mention other more exotic features.
The 5S and newer iPhone versions have a co-processor for processing data from the accelerometer, gyroscope, and compass. This co-processor saves battery life and allows you to monitor user activity even when the phone is locked. This is especially important for modern fitness tracking apps because with older iPhone models, an app could only track user activity when the screen was unlocked, causing inconvenience for the user and extensive energy consumption.
Mobile device manufacturers use hardware modules provided by various vendors, some of which ship joint modules. For instance, InvenSense is now offering a 9-axis motion tracking processor which combines a 3-axis gyroscope, a 3-axis accelerometer, and a 3-axis compass. Sensors on different devices vary in terms of precision tracking, motion processing, measurement ranges, and so on, which means that an app may perform differently depending on the mobile device it’s running on.
Is there a solution to the fragmentation problem?
Slowly but steadily, Google is fighting the problem of fragmentation by connecting the most important functions of the system, APIs, and app components to their software layer or Google Mobile Services. This layer provides APIs for the integration with Google-provided services which include applications such as the Google Play Store, Google Search, and Google Play Services.
At present, greater than 92% of Android devices use Google Mobile Services. The fifth version of Google Services — supported by all versions of Android from 2.3 Gingerbread to 4.4 KitKat — is the most relevant. The ability to connect to the layer relieves developers of the compatibility issues with older versions of Android to some extent. At the same time, this approach might cause low performance and incorrect funсtioning of apps installed on older devices.
Despite the challenge, if Google continues optimizing their OS using Google Services, it’s quite possible that in a few years fragmentation issues will become less acute.
Even with today's level of fragmentation, however, there is a solution: focus on priority devices. In the article “The Android screen fragmentation myth,” Russel Ivanovic debunked the “display hell” myth. According to him, the number of used screen resolutions that need to be tested and optimized for looks like this:
Designers don’t need to rearrange the interface for every possible aspect ratio. Instead, it’s enough to work with the few high resolution variations displayed above and implement them for screens of almost any size.
In this case, the main aspect ratios are 16:9, 5:3, and 16:10. Below is your bonus – a cheat sheet with aspect ratios (not only for Android devices).
Both iOS and Android systems have their drawbacks, but both have distinct advantages as well. iOS is unified and secure, but Android’s openness certainly appeals to many enthusiasts. Besides, Android has a larger global market share thanks to the number of affordable devices running this operating system.
Neither OS was originally as user friendly as it is today. Both have come a long way since they were introduced, but deciding which of the two mobile operating systems is the “best” is impossible. Besides, we can’t imagine a world where with only one platform dominating the market.
iOS and Android platforms will continue improving, and we’re lucky to be able to take advantage of these advances to change our lives for the better.