Many of you may have read the report by OpenSignal that came out this past August. In it OpenSignal gives a frightening view on just how fragmented the Android ecosystem truly is. As of the published date of the report, there were 18,796 distinct Android devices up from 11,868 of the previous year with not all of them being on the same version of Android. That equates to a 58.38% jump in just over a year.
Now you might be thinking “Okay Juan, so what? You just threw a few scary numbers at me but I just got a shiny new Samsung phone for the holidays. Why should I care how many unique Android devices there are?” While there are many ways that fragmentation can affect the user, let’s touch on the two big ways that we experience its effects in our daily lives.
You may have noticed that when Google releases a new version of Android you do not immediately see an update notification on your phone to upgrade to it. It usually takes a few months for users to see the update hit their devices and some users may not get to see it at all. This boils down to the open source nature that is Android. When Google releases a new version of their OS, they are only releasing the core system.
Since Google does not manufacture actual devices to run Android and instead depends on other OEMs like Samsung, HTC, and Motorola to create them, they cannot really develop something that is going to meet everyone’s needs. So it is then up to the OEM’s to use the source code and modify and make adjustments so that it runs smoothly on their specific devices.
Many OEM’s like to add their own twist on Android phones such as customized UI’s, different sensors, and various hardware specifications and it would be impossible for Google to be able to create something that cater to so many different configurations. This is where fragmentation begins to occur.
Let’s take Samsung’s line of Galaxy S5 phone for instance. What we see as just the Galaxy S5 is actually just one of many models that have been released around the world. This in turn means that when an update comes out Samsung has to modify the code that Google releases for not just one model but many and that is just for the Galaxy S5 alone.
Now imagine all the lines of phones that Samsung has and then each one of those having different models and you begin to see why it might take a while for updates to hit your phone. Samsung would have had to prioritize and seen which devices were actually going to get the update and how fast. You might see their latest flagship, in this case the Galaxy S5, get the update within a few short months and other devices it could take up to year.
If Samsung deems the devices to be too old and not worth the update, then they will keep it at the current version and only releases critical updates if they are needed. From just one OEM alone now you have a line of phone each one with a different version of Android and different capabilities and you begin to see the fragmentation take place. Samsung would not have been able to just get the source code and make something that would run on all their devices due to the nature that each model and line of devices is different and has different capabilities.
So with all that said now you have an idea on why it takes so long for your devices to get an update and how fragmentation plays a part in it. Having so many different devices configurations makes it quite difficult to create something that will run on everything and so instead we are depending on the OEM to modify the code and must wait for them to deem our device worthy of an update.
You may have caught your friends talking about that awesome new app that just hit the Play Store only to find that your phone is not capable of running it and you are left out. This occurs just due to the nature of how Android works. We already touched on how Android is an open source project and is available all around the world. Well that not only affects how updates are handled but also the very way nature of the apps that are installed on it.
You see, when a developer comes up with a great idea for an app it’s not just program and go. He has to decide where his target audience is and program from there. Since there are so many distinct android devices with each one running a different version of android and having different hardware configurations, it is impossible to create an app that is going to run 100% on all devices. The developer has to decide which version of android he is wanting to target and focus on that one group.
Using the social giant’s latest release as an example, Facebook Lite, we can see how this process works. When Facebook first came out with its app on the Play Store one of the biggest complaints was that the app would lag and was not very smooth to use. The issue was due to the fact that the Facebook App can be quite taxing on phones as it requires quite a lot of resources to run smoothly. For most recent phones that is not an issue and they will never have to really worry about the phone lagging. It does start to become an issue though when you have low level phones in emerging markets such as India where the phone is just not capable of running the app smoothly or at all. This is due to the hardware configurations of the various devices and the version of Android that they are running. So what did Facebook do? They had to create an entirely new app that was toned down to be able to run on lower level phones and did not require so much power from the phone itself.
For a giant tech company like Facebook having to create a completely separate app to accommodate other markets is not a big deal but for smaller companies and single developers who cannot spare the resources or the time they have to just pick one market and go with it. So fragmentation limits the apps that are able to run on devices and in turn makes it so that just because you have an android phone it does not mean you are going to be able to run every app that is made for the OS.
You may now be second guessing having gone with the Android ecosystem of devices but that should definitely not be the case. I stated earlier that Android being open source is one of its greatest strengths and I firmly stand by that belief. Though fragmentation does have some drawbacks it is also what makes Android such a huge success. Instead of having just one company making all the decisions and shaping what Android is going to look like in its next iteration you have a consortium making these decisions all with the consumer in mind. So if you enjoy using that shiny new Samsung device just remember that if it were not for fragmentation your experience might have been completely different.