8/11/2018 2:25:26 PM
So I've taken a bit of a break from writing over the last few weeks. Honestly while I kind of needed one, the reality is that I also didn't really have anything interesting to say. Nevertheless, I'm back and I've decided that I'd like to spend a few minutes convincing you that the world's most popular operating system, Android, is a steaming pile of dung. I can already hear you saying, "Oh no here comes another pro Apple diatribe." But let me put your fears to rest and tell you up front that I'm not planning on pushing iOS as an alternative as I believe that it is also a steaming pile of dung.
So why does Android suck? Well there are a number of reasons for it and frankly not all of them are actually the fault of Android itself. A lot of the fault falls upon the shoulders of OEMs like Samsung and SoC manufacturers like Qualcomm. However Google doesn't escape their fair share of the blame here as they are also doing things that lead to Android sucking.
Pure Android is a Pipe Dream
So the the biggest issue by far here is that buying a phone that has straight up Android installed is impossible. Even phones like the Essential Phone that ship with a so-called stock version of Android don't actually do so because they also include Google Play Services. Google Play Services is an API and Service layer that lives on top of the Android base system. It also happens to be closed source and provides Google with all of their nasty little hooks that they use to monitor your activity.
So why is this important? Because Google Play Services make your phone perform worse and they diminish your battery life. It's very hard to buy "Android" smartphones that can go three or four days without requiring a charge, much less an entire week. However if you purchase a phone that allows you to unlock the bootloader and happens to be compatible with one of the clean ROMs floating around out there and you choose to not install Google Play Services, you'll discover that your phone can actually perform way better than you realized.
As an ardent user of the LineageOS Android ROM, I stopped installing Google Play Services a few phones ago and the difference was like comparing night and day. My previous phone, the Honor 5x could last for a full week on a single charge after I installed Lineage sans Google Play Services. My current phone, the LeEco Le Pro 3 can go four days on a single charge. The vast majority of phones with their stock ROMs can barely get a day, maybe a day and a half if you are lucky.
Beyond the issue of Google Play Services, the reality is that most OEMs actually modify the Android base system pretty extensively. For example I recently purchased a smartphone for my wife Annette, the Samsung Galaxy J7 Pro and it is very heavily modified. In fact it is so heavily modified that it constantly spams her with notifications indicating that she should create a Samsung account and turn on all sorts of invasive Samsung services. In addition Samsung has replaced the stock versions of most apps with half ass less functional equivalents. And last but certainly not least, the phone actually fails to ring or log calls at least 25% of the time. I wish I was making that up. But it's terrible. And it's not limited to just Samsung economy phones as there are reports of this bug existing on even Samsungs more recent flagship phones as well.
This is nothing short of pathetic. Needless to say, I will never recommend a Samsung phone to anybody. They are garbage. Stay far away from them. For the record I have purchased an Essential Phone from Amazon as a replacement for Annette after just three months of suffering through the Samsung phone.
Updates, if you even get them, suck
You may have recently heard that a new version of Android has been released. But guess what? You likely aren't going to get it on your current phone. You'll have to buy a new phone six months from now in order to receive it. This is related to my previous point as it partially results from OEMs not being willing to invest the coding effort required to update their customizations for a particular phone from version X to version X + 1 of Android.
Keep in mind that I'm not just talking about Android itself here, but also the Linux kernel included with the distribution. This is where Qualcomm comes into play. Most Android phones ship with age old versions of the Linux kernel. As a dedicated Linux user, I consider this to be an embarrasment. The laptop I'm typing this on has a 4.17 kernel on it. My LeEco Le Pro 3 has a 3.18 kernel on it (which now makes it 20 major releases old). That phone is powered by a Qualcomm Snapdragon 821. That kernel version was originally released in December of 2014 whereas the SoC was released in July of 2016. Qualcomm provides the baseline kernel sources to the OEMs and it is essentially on Qualcomm to update those sources. Spoiler alert: They don't generally upgrade between major kernel releases for an existing SoC.
If you take a look over at the kernel site you'll see that while 3.18 is still getting point releases, it has been marked as EOL (End of Life) despite the fact that it got its most recent update just a couple days ago. At some point, this kernel will not be updated anymore and I'll cease getting the security and functionality updates as well as bug fixes that are part of those kernel updates despite the fact that my phone works perfectly fine and could be quite usable for years to come. What makes this specific situation especially appalling is the fact that the 3.18 series was originally supposed to be EOLed on January of 2017 which means that Qualcomm was knowingly releasing a product with a very limited shelf life. Of course Google gets their fair share of blame here too as they mandated that 3.18 was the minimal kernel version required for Android Oreo. This is of course also insane as that kernel version was already EOLed by the time they announced that in September of 2017. Nevertheless by some miracle (which is to say I can't find the reason why despite searching for it) this kernel is still being updated over a year and a half past its original EOL date. I have no idea how long this will last and it troubles me.
The bottom line here is that Android updates are terrible and most devices are insecure by default because Google, Qualcomm and OEMs refuse to put the in the effort that would be required to help protect their users. But I guess in a world where your business model virtually depends upon users treating ultra-expensive flagship phones like they were disposable cameras, you aren't likely to spend a lot of time on features which would improve the longevity of any particular device. This is a damn shame as phones like my Le Pro 3 could be perfectly usable for years to come as long as I can get all of the security updates.
You lease your device
The reality is that most Android phones are locked down out of the box and most can't be unlocked short of exploiting a security hole or jumping through some BS hoops. Their boot loaders are locked and some of their drivers are closed source. In addition to that Google now actively prevents users from rooting their phones or unlocking their bootloaders by providing APIs to app developers which allow them to penalize users who engage in these sorts of activities.
The idea that a user shouldn't be able to fully control the device they just spent between $200 and $1000 for is nothing short of lunacy. Despite that OEMs have freely engaged in this practice without consequence for almost a decade now and Google has now sunk to actively assisting them. I know this because I had unlock the bootloader using a security exploit on my current phone. That's a scary proposition because it effectively means that my phone has a security hole that can't really ever be patched, lest the bootloader get re-locked. That would of course be bad as LineageOS can't and won't boot with a locked boot loader.
Personally I'm tired of all of this. I'm tired of buying hardware that can only work using closed source drivers. I'm tired of buying hardware that refuses to allow me to utilize it to its fullest extent unless I'm willing to engage in less than savory hacks or jump through silly hoops decorated with warnings based solely on FUD. I'm tired of rewarding OEMs, SoC manufacturers and Operating System Vendors that all appear to be actively conspiring to ensure that our otherwise functional devices suffer from a constant plague of planned obsolescence.
So what's the play here? Well I've spent years trying to make Android work for me, with varying degrees of success and I've pretty much reached the end of that road. So I am personally betting it all on the success of Purisms Librem 5 FOSS phone. It's fully open source from top to bottom and will use real Linux distributions to power the device.
While it is likely that the first iterations of this device will be far less functional than the hobbled Android devices I'm living with now (e.g. no MAXS, Discord or Slack clients), I can't help but to root for this phone. I'm willing to live with a smart phone that can only take calls, manage SMS, do email and run a web browser if it means that I can escape the nightmare of Android and all of the forces within that ecosystem conspiring to limit the freedom of end users.
Before I sign off I'll spend a paragraph addressing the reasons why I refuse to consider iOS as a proper alternative. For starters, Apple sucks at a security on both the device side and the cloud side of the fence. Their track record with security is nothing short of disastrous. Secondly iOS is not an open platform as distributing apps on that platform require the approval of Apple. This leads to a huge decrease in user freedom as it effectively allows Apple to keep competition to a minimum when it comes to apps like web browsers and the like. The bottom line is that when it come to iOS, Apple wields all the power. While that situation is tenable when it comes to Apple TV devices (of which I own two) as they are primarily content consumption deices, it is simply not tenable for devices that are meant to enhance the productivity of end users.