Understanding Mobile Fragmentation: A Look at iOS Version Fragmentation
Harish Rajora
Posted On: February 10, 2022
17159 Views
11 Min Read
This article is a part of our Content Hub. For more in-depth resources, check out our content hub on Mobile App Testing Tutorial.
When we talk about fragmentation on mobile devices, we invariably refer to the Android operating system. And why shouldn’t we? For instance, if we just consider the Android OS version, it has the following market share:
Millions are still using a version that was rolled down four and a half years back in 2017. Not to mention the fact that Android 12 has also arrived and will be added to the list.
However, the iOS version fragmentation is just one parameter considered in the list. Thanks to Android’s openness and popularity, the majority of manufacturers opt to build their mobile devices around it. This is the primary reason Android strikes when fragmentation comes into the picture. In this article on iOS version fragmentation, we forget the second most popular operating system by the number of users – iOS. Therefore, we have come up with a post that will not only enlighten you about how fragmented iOS is but gives you solutions on how to deal with it while performing mobile app testing.
If you are new to mobile app testing, this blog on mobile app testing basics [with real-time example] will help you get started.
TABLE OF CONTENTS
How much is iOS fragmented?
So, to compare the operating systems on the basis of fragmentation, iOS seems a bit less fragmented, which is proudly mentioned by Apple on their website.
To conclude the above image, 63% of the users are opting for the latest iOS version. iOS version 14 is used by 30% worldwide, while just 7% use the earlier versions combined. So by these stats, it looked like we just had to deal with iOS 15 and iOS 14 as a tester. But considering that there are 1 billion iPhone users worldwide, 7% corresponds to 70 million people! This cannot be ignored as a tester.
Alright, let’s ditch iPhones for a bit and consider other devices running on iOS. In 2019, Apple announced a release on iPadOS, a different iOS version for their iPad product lines. This was due to the diverse capabilities of the iPad such as multitasking and support for the keyboard etc.
Notice the changes a website must go through on iOS and iPadOS. On the right side, the device running iPadOS is rendering the website similar to a desktop. On the left, we make full use of responsive design for a mobile device running iOS.
So, what is the user base involved when it comes to iPadOS? Just 49% of all people are using the latest iPadOS. The stat “14% earlier” includes the iOS running on an iPad with its challenges due to different hardware and screens.
Apple is the sole manufacturer of iOS and iPadOS running devices, and taking care of both the OS is the challenging part. The difference in operating systems directly affects the behavior of the application.
Looking to perform Android and iOS app testing on Real Device Cloud, check out our video below –
Challenges due to iOS device and version fragmentation
Below are a few challenges that existing iOS devices and version fragmentation have encountered.
Two operating systems
Developers have to deal with two completely different operating systems in native, hybrid, and web applications. Both of these operating systems have their set of users who operate on these devices on a regular basis. Sometimes, users may own two Apple devices that run on each of the operating systems (such as iPhone and iPad). In such situations, we as developers need to be prepared. If the same user opens our program on both devices, he should have the same experience.
As iPadOS is more inclined toward macOS, developing a web app is sometimes easier and will not require multiple copies of the application. Native apps must consider the iPad’s architecture, rules, hardware, and screen. This renders the designing and testing a little more difficult than it was before
Browser fragmentation
iOS and iPadOS host different sets of browsers (binaries) according to their architectures. The iPadOS browser functions similarly to Safari (or any other) on a desktop computer. It renders desktop versions of the web apps giving control over small elements with Apple pencil etc., to the user. But the screen size makes a difference here. The screen of macOS devices and iPad vary in their size. Therefore, even if the iPad renders the desktop version, we need to ensure elements are not too small for the screen.
Using responsive design techniques is recommended at this point to make sure you give a seamless user experience. This may include CSS media queries and giving special focus to the images on the web page.
Also read – How To Make Responsive Images With CSS, HTML, WordPress & More!
UI issues
Two operating systems rendering the different user interfaces may pose a challenge on how different elements are aligned on these screens. The resolution x screen size x browser difference calls for exhaustive UI testing on these devices. Being a tester and developer, we must remember that a functional bug may pass below the eyes of some users, a UI bug hardly does because of its direct exposure.
Consider all the versions
Although more than 60% of iPhone users are utilizing the latest iOS, as I mentioned in the previous section, the remaining 40%, or 400 million people, are actively using older iOS versions. Considering the iOS version fragmentation, we must test our app on all iPadOS and iOS versions.
iPadOS is a new OS
iPadOS is the latest iOS version. However, the iPad has been around for quite some time. This means that a large number of iPad owners are already running iOS, making testing much more difficult. Considering the iOS version fragmentation, we need to make sure that our app works on both iOS (which runs on iPhones and iPads) and iPadOS (which runs on new devices).
As a developer, it’s great if we aim to create an experience that’s similar to iPadOS when developing for iOS on iPad.
Device fragmentation
Finally, even though Apple is the only manufacturer of iOS devices, new iPhones are produced every year (with multiple models). This means that 1 billion people are using iPhones with a variety of hardware, screen sizes, and capabilities. While each of the aforementioned issues is distinct in its own right, they all contribute to iOS device fragmentation and raise overall fragmentation to a much higher level.
Also read – 11 Key Challenges & Solutions Of Mobile App Testing
How to deal with iOS version fragmentation?
With all the challenges, offerings and variety in the market, it is now evident that iOS is a fragmented operating system to work with. Therefore, if we want to ensure that our application does not receive negative feedback from the users, we need to address it with a proper mobile app testing strategy.
To perform testing of our application on iOS and iPadOS devices, we need to either go ahead with manual mobile app testing or through a mobile device cloud testing solution. Considering the iPhone has fewer devices than Android, manually purchasing and testing these devices may seem like a viable solution. But we also need to consider the average price of iOS running devices which is around USD 768.
For future references, we may also take into account that an iPhone cost rises by USD 81 each year, and by this rate, it may cross USD2000 per device soon.
In addition to this initial purchase cost, you may have to spend a lot in setting up the infrastructure and maintaining them if you are planning for future releases. Also, automation testing on iOS would work well with a managed infrastructure than plugging the device via USB.
Due to these scenarios, cloud-based testing seems like a practical solution. Cross browser testing tools like LambdaTest bring this cloud infrastructure to our local system with a secure testing environment. With a list of installed iOS and iPadOS devices, LambdaTest provides Android emulators & iOS simulators and a real-device environment as per users’ choice. You can run either a mobile web app or a native iOS app on any of the devices of your choice. You can go through this blog on Emulator vs Simulator to deep dive into the differences and get started with mobile app testing with Emulators and Simulators.
Also read – 15 Most Important Mobile App Testing Scenarios
Here’s a quick feature breakdown of what LambdaTest Mobile Testing Platform has to offer.
Also read – The Ultimate Mobile App Testing Checklist
How does iOS version fragmentation affect different stakeholders?
The iOS version fragmentation directly affects three important domains that work behind an application.
- The developers and testers
- The business
- The users
Developers and testers
The effect of fragmentation is first experienced by the people involved in creating and testing the iOS application – the developers and the testers. All through this post, the points discussed can directly be put with respect to the two professions.
In addition to those discussions, one primary consequence of the iOS version fragmentation can be seen in the delivery cycle of the application because of increased work. Developers and testers find it hard to manage the cycles. In addition, it demands more effort to ease compatibility issues and other inconsistencies across multiple devices.
Also read – Mobile Testing Pyramid For Agile Teams
The business
The business managers and people who invested in the development will be next in line after the application is completed. A lot relies on the iOS version fragmentation for business people. For instance, what if one feature is not working on a specific iOS version? Or does the iPad show an inconsistent user interface for the same web app that is working fine on macOS and iOS?
To successfully run a business on iOS version fragmentation, we must ensure that different iOS and iPadOS versions are available and thoroughly tested so that no user is disappointed or uninstalls our application.
The users
The final thought on the iOS version fragmentation effect is the end-users. No matter how hard developers, managers and stakeholders try, bugs sometimes seep into the production and end up to the end-user.
All of the concerns around fragmentation, in my opinion, boil down to one thing: quality testing. To save yourself from later troubles, always remember to test your iOS application for its stability and inconsistencies. Cross browser testing tools available on the cloud can help the most. Since it is a cloud-based tool, you need not worry about system memory consumption and maintenance.
LambdaTest would be a great fit that allows a user to start using a free trial on their 3000+ screen and later decide to choose a plan of their choice. For web developers, LambdaTest comes with LT browser, which is a mobile-specific browser with hot reloading and advanced debugging features. It will help you develop a highly responsive application in no time.
Here’s a quick overview of LT Browser.
Final words
It is a fact that when fragmentation in mobiles comes into picture, we hardly ever mention iOS version fragmentation. Android fragmentation is both a source of concern and excitement for me. Concerns as it adds to the testing and development workload, yet thrill since it allows manufacturers to use their designs. With One UI, Samsung, for example, adds its personal touch to each Android upgrade. This independence allows Android to be comparable while unique to each device and user.
Nevertheless, we forget in this “Android debate” that iOS is fragmented as well, though at a lower level. It is, however. With the release of iPadOS, Apple has expanded the possibilities even further for all those interested in app creation. We discussed the same issues in this article, as well as a new realm of iOS version fragmentation that concerns testers before releasing an app. I hope that provides you a good picture of what’s going on in this environment and that when we talk about fragmentation now, we won’t just think of Android.
Frequently Asked Questions (FAQs)
What is fragmentation in iOS?
iOS fragmentation emerges mostly as a result of insufficient application testing on the most recent iOS or iPad devices. Fragmentation has two significant consequences: inconsistencies in the user experience owing to compatibility difficulties and increased development and testing efforts cause application delivery to be delayed.
What is device fragmentation and what are its possible solutions?
Device fragmentation can be a challenge for software developers who need to design many versions of the same programme to ensure that it works with different versions of the same operating system.
Why is mobile device fragmentation a major testing issue?
Because there isn’t a single, generally compatible framework that can abstract the variations between devices, platforms, browsers, and other factors. In software development, fragmentation is defined as the inability to “write once and run anywhere.”
Got Questions? Drop them on LambdaTest Community. Visit now