Opinion: The Fragmented Reality of Modern Android
I'm something of an Android fanboy. After having an iPhone for three years, I was uncomfortable with the lack of freedom I had with the device. Make no bones about it – the iPhone is a beautiful display of what's possible when manufacturers successfully synergize their hardware and software. It rarely disappoints its common user by consistently maintaining a reputation of reliability; put simply, the device is intuitive and it works.
For the majority of smartphone users, the above value proposition hits expectations. However, this simply wasn't enough for me. I craved additional features to mirror PC capabilities, and the iPhone simply didn't offer these – barring a jailbroken iPhone.
In 2013, I wasn't quite sure which Android devices were worth the money. It was a technology that I wasn't interested, to that point, and I lacked any trusted individual opinions – after all, to the majority of my peers, I'm the one they go to with questions.
At the time, I was employed by the retailer formerly known as RadioShack (I kid – the brand and many of its properties were recently sold) . A coworker consistently pushed his Galaxy S4 into my hands, convinced it was far superior to my iPhone 5, and forced me to, at the very least, give the UI a try. What I found was a far better Android experience than what I was expecting; the touch screen was responsive, the software was intuitive, but ultimately, the level of customization blew me away. I soon learned that the impression made that day was, in many respects, unique to the Samsung Galaxy line, and a symptom of a much larger problem: the Android ecosystem is a very broken, fragmented, mess.
This mess stands out to me for one primary reason – users invest hundreds of dollars every year in the most powerful smartphones on the market, but find themselves losing their stream of software updates in a matter of months.
It took me some time to understand why this problem prominently exists within the Android ecosystem. As Google continues to update their mobile OS, the responsibility is currently on both the Original Equipment Manufacturers (OEMs) and the carriers to push changes out to their users. Given the profit seeking motive of any business, these updates seem to quickly disappear as phones become outdated. After all, why spend money on developing for an outdated piece of hardware that isn't generating revenues when compared to the latest flagship?
This fragmentation creates a massive security risk, among a whole host of other issues. But as long as OEMs find it necessary to develop their own in-house software to overlay the core Android Open Source Project (AOSP), what other recourse does Google have?
Redditor /u/Javiguer recently posted a wonderful alternative to the system in place: modularize, as Javiguer phrases it, the AOSP. In order to make system-level changes to any Android phone, one must acquire, what is known as, root permission on their device. This opens another can of security risks as potential malware can now execute dangerous actions at a very deep level. But one could easily argue that the pros of 'rooting' an Android device heavily outweigh the cons.
One of the best applications, if you can call it that, available to users that root their devices is named Xposed. This application acts as a secondary 'app store', if you will, and enables the user to install a host of packaged modules, enabling a much deeper level of customization on the phone. If you're interested in learning more about Xposed, check out the XDA Forums, but for all intents and purposes, understand that it enables you to change system-level functions across your Android device.
Xposed is not officially endorsed by Google, but as /u/Javiguer explains, the methodology behind the root-requiring application could be the solution to this horrific fragmentation problem. Rather than enable OEMs to flat out overwrite the AOSP, any OEM-level changes would be optional 'modules' that the user could enable and disable at will. This setup would maintain the core AOSP as the root of the hardware and simplify, from a technical end, the actual updating process. OEMs would be free to push updates to their modules as they please, but it would seem utterly irresponsible at that point to not support the latest AOSP builds when it requires so little work to push the update.
Why does this matter? Well, Google clearly thinks there's significant value in the AOSP vs the OEM versions of the software as they released an entire line of devices, known as the Nexus family, based on the simplicity of AOSP. These devices are also generally supported via software updates for far longer than their OEM counterparts, as Google owns the direct channel necessary to push over-the-air (OTA) updates to the Nexus devices. It's also far easier for Google to keep these devices updated for longer periods of time as the hardware is designed to support the core project. In other words, when Google wants to update one Nexus device vs another, they need to make far fewer changes between iterations of the same software.
Hopefully Google conquers this problem soon. Apple was wise enough to avoid the possibility of fragmentation by maintaining a singular product line supporting iOS, and refusing to license out the software/open up the source code. The downside of such a scenario is a less diverse array of options available to consumers. Apple has sole control over the direction of iOS and the phones that support it.