Android maintains its place because the main cell working system (OS) used worldwide—representing, in August 2022, a 70% share of the cell working system market in comparison with Apple’s iOS representing a 28% share. You’d suppose, then, that Android and the smartphone producers who construct their telephones on prime of the Android OS (e.g., Samsung, Google, Huawei, and so forth.) would management many elements of the smartphone {industry}.
Nevertheless, as a current iOS/Android texting debate highlights, Apple, and its iMessage platform, continues to prioritize its “walled backyard,” closed ecosystem, reasonably than adopting the extra common texting protocol, wealthy communication companies (RCS). And to the chagrin of many Android customers on the receiving finish of SMS texts despatched by their mates and colleagues wielding iOS smartphones, it’s clear that Apple has made up its thoughts on RCS.
Lots of people nonetheless purchase iPhones, actually sufficient to make an affect on compatibility when texting between working methods.
However past fixing texting, we have now some questions.
What are among the basic elements that make a producer select a closed system over an open one (that’s, what are the benefits and downsides of closed ecosystems and constructing a “walled backyard” versus an open playground)? What’s extra, why would a person select a smartphone constructed on Android versus iOS? Lastly, what are the most important challenges that current when growing apps for Android versus iOS?
These are among the questions I sought to reply once I not too long ago sat down with Nick Rutherford, a Senior App Engineer specializing within the Android working system, who works at Milwaukee® Software on the ONE-KEY™ app.
On this article, I’ll share a few of Nick’s insights right into a phenomenon generally known as Android fragmentation, providing his perspective on the challenges distinctive to growing apps on the Android working system, in addition to discussing what makes Android stand out from iOS, and why you would possibly take into account one OS over the opposite (and what you possibly can anticipate from every).
What’s Inside
What Is Fragmentation in Android? Cellular Gadget Fragmentation, Defined
Earlier than we get into what it’s like for builders making apps on prime of Android OS (and bearing to gentle the challenges app customers could not know go on behind the scenes to make their apps work), we first have to kind an understanding of what software program fragmentation is.
So, what’s gadget fragmentation, anyway?
Gadget Fragmentation That means
Software program “fragmentation,” in response to Headspin.io, will be described as the issues presenting as the results of a “variety of browsers, units, and platform variations in use at any given time limit.”
Because the BrowserStack Weblog has identified, over 4 billion folks entry the net by means of mixtures of “9000+ distinct units, shipped with 21 completely different working methods (vendor + model, together with 8 main browser engines that energy a whole lot of browsers.”
The results of fragmentation can result in many distinctive incident varieties that, when can mixed, can result in an ideal storm of finish person issues that show difficult for firms to troubleshoot, repair, and plan for stopping:
- OS version-specific errors and bugs
- Compatibility points (between units, browsers, purposes, and so forth.)
- App versioning points (when utilizing apps)
- Browser-specific points (bugs, versioning, and so forth.)
It’s price noting, the above-mentioned Apple/Android texting instance speaks to a particular subject inside laptop/software program growth generally known as interoperability, or the means of software program or methods to change and make use of knowledge such that they’re ready work (function) along side one another. Interoperability, Tech Goal notes, offers with compatibility of “completely different methods, units, and purposes or merchandise” to operate “in a coordinated means, with out effort from the tip person.”
Cellular Gadget Fragmentation
Then, cell gadget fragmentation, a subset of software program fragmentation, particularly pertains to cell units and, as folio3 Cellular notes, “a course of that occurs when cell customers are utilizing older variations of an working system, whereas others are utilizing newer variations.”
Cellular gadget fragmentation (which we’ll talk about later on this article) can show uniquely difficult to app builders who should plan for and incorporate backward compatibility to make sure the expertise of older OS (in addition to app) variations isn’t disrupted when new software program variations are launched.
What Is Fragmentation in Android? Explaining Android OS Fragmentation and Why It Exists
As beforehand mentioned on this publication, when Android was first developed by Wealthy Miner, Nick Sears, Chris White, and Andy Rubin in 2003, its founders made the acutely aware alternative to make use of the Linux working system for Android’s foundation. This made it potential for third-party cell producers to construct telephones on prime of the Android working system.
In some ways, their choice is within the spirit of open-source software program, the fundamental tenets of which favor open collaboration and public belief within the software program.
And whereas open-source software program offers many benefits, it has additionally launched distinctive challenges.
Chief amongst these challenges is android OS fragmentation, a phenomenon that builders for the Android working system (akin to app builders) have to cope with as a way to guarantee their software program merchandise are appropriate throughout many sides, together with:
- Many producers’ units (and any potential {hardware} or firmware issues distinctive to every producer).
- The model of Android these units are working (which isn’t standardized industry-wide, whereas additionally in some instances customers could not replace their OS when prompted).
- App model, with some customers not updating their app model when prompted.
In contrast to iOS, the place Apple is each the {hardware} developer of its smartphone in addition to the software program developer of the software program that lives on these smartphones—and therefore have extra management over the codebase—software program builders have rather more to contemplate when constructing purposes constructed on prime of the Android OS.
“When Apple makes modifications to iOS, it doesn’t normally tweak the entire library,” Senior Android Utility Engineer Nick Rutherford notes. When modifications are launched to Android, he provides, “entire libraries will be up to date.” There’s rather more time spent in discovery, investigating potential points that will affect growth time, Rutherford tells me. “[the] scope of labor will dramatically change relying on our findings.” Describing a vastly dissimilar growth course of that’s wanted when growing Android-based purposes, he explains what “ordinary” growth seems to be like on iOS smartphones, a simple course of: “You get a ticket, you’re employed on the function, it goes to QA.” In contrast, in Android, he says it begins first with “tackling and searching into the ticket. In the event that they uncover there’s a giant downside, it might have an effect on growth time largely.”
Closed vs Open Ecosystems: What’s Fragmentation in App Growth?
So, now that we’ve established that android fragmentation could be a downside, how do these issues have an effect on Android app growth? How are these challenges overcome? And why would possibly the juice we well worth the squeeze with builders (in addition to the customers of their merchandise) who select to develop open ecosystems over the extra predictable, closed ecosystem?
When requested about what challenges growing for Android OS presents from a undertaking standpoint, Senior Android Utility Engineer Nick Rutherford narrowed it down to three:
- Fixing implementation challenges
- Ensuring the person expertise (UX) is constant throughout all units and OS variations
- Ensuring you don’t introduce bugs for older variations
Completely different Interactions Can Create Implementation Challenges
One main hurdle Android growth groups must frequently sort out, Rutherford tells me, is coping with particular sorts of options and implementation of all kinds of smartphone producers and OS variations.
For instance, he factors out Bluetooth® interactions. For Milwaukee Software, growing the One-Key software monitoring app, naturally sure person permissions are wanted to be user-opted-in for full app performance (specifically, Bluetooth® and Location Providers). Customers noticed main modifications in Android 11 and 12 to how these should be arrange on the device-level.
“For issues like Bluetooth performance, completely different telephones use Bluetooth libraries,” he explains. “We want to ensure we’re asking for the precise permissions as a way to get the proper response.”
He expounds throughout the context of a typical person interplay, connecting to a One-Key appropriate software:
A Consumer goes by means of and connects their gadget from Bluetooth normal. [Unlike in iOS,] Bluetooth libraries are completely different. Within the Android model, when a person is connecting, we could must outsource a Bluetooth library. When a person goes and connects their gadget, they’ll see the identical display screen, however the UX is completely different and, relying on the place they’re, it might take longer to attach their gadget as a result of Bluetooth libraries have to learn completely different Bluetooth units. The Bluetooth expertise is a bit of completely different as a result of there are just a few extra hoops to leap by means of, which can trigger points for some customers.
Making Positive UI Is Constant Throughout All Gadgets and OS Variations
One other main problem tied to so many Android units, Rutherford tells me, is ensuring customers have a constant expertise, regardless of the gadget, Android model, or app model they’re working. “We’ve to ensure the whole lot seems to be the identical throughout telephones,” he explains, including, and “designs from UX [are] scalable throughout all of the completely different telephones, [including] low-hanging fruit smartphones [to the newest, most advanced smartphone]. We have to guarantee telephones with a brilliant small telephone display screen can see the identical expertise as a newer telephone.”
A part of this problem which the work of Android engineers fairly marvelous isn’t solely constructing performance for everybody, but in addition optimizing the expertise for all. A part of the job of an Android engineer, Rutherford explains, is discovering solutions to questions like, “How can we give customers one of the best person interplay with the telephone they’ve, based mostly on what’s potential?”
Making Positive New Bugs Aren’t Created for Older Variations
Rutherford explains that older variations of the app can create current new alternatives for bugs, which should be investigated to “guarantee we’re not creating new bugs or making the app crash [for end users with older versions of the app].”
“From undertaking standpoint, there’s much more investigation, and figuring out dangers launched to codebase, as a result of we have now so many model varieties.”
He explains, whereas enterprise customers whose IT departments use cell gadget administration (MDM) methods that may pressure a model replace, for a lot of particular person customers could select to remain on an previous model of the app indefinitely. “How can we assist to those that haven’t upgraded? Fixing bugs for them, not introducing crashes.”
The Key Takeaway for Android Customers
Utility growth for Android engineers is a distinct than the extra simple course of with iOS because of a extra guarded, proprietary OS.
Nevertheless, that’s to not say the juice isn’t well worth the squeeze.
For Nick Rutherford, he likes open methods philosophically. He explains that, no matter OS, app builders can’t get across the subject of getting bugs fully; bugs (and squashing them) will all the time be part of growing software program. And with that, he explains, “you want collaboration and in an open undertaking/open ecosystem, the the extra collaboration, the higher [the software].”
For finish customers, whereas there could also be interactions which might be distinctive to Android, as the biggest working system, there are additionally a lot extra builders within the {industry} particularly including contributions to enhance the working system—and from an app growth standpoint, there are extremely expert groups of engineers assembly you at whichever stage you’re at, and dealing to make sure backward compatibility (which is greater than we are able to assuredly say of Apple from an ideological standpoint).