The software update giveth and the software update taketh away - it’s a tale as old as updateable tech. On the one hand, updates come bearing gifts: exciting new features intended to breathe new life into our devices, as well as the essential security patches necessary to ensure they are protected from exploitation. On the other, every new software build is also an opportunity for the update deliveryman to enter your home unannounced, pick up a metaphorical hammer, smash your device to a practically useless pulp, and leave - with little to no recourse available once the warranty period has expired. Those who have experienced a significant decrease in performance, battery life, or even something fatal like a bootloop after an update will no doubt understand what I am talking about. And yet, despite the potential expense of the gamble we take each time we hit “install,” bug-ridden updates are a problem that affects almost every piece of technology we own on a regular basis.

My personal experience with updates has been sour from the start. My HTC Droid Incredible received an update near the end of my two-year contract cycle with Verizon that caused it to regularly freeze up, requiring a battery pull and a restart. No amount of factory resetting would fix the issue, and when I attempted to contact Verizon and HTC about getting a replacement I was told the phone was out of warranty. There was a feeling of injustice, as it was not my fault that HTC and Verizon pushed a faulty update that broke my Incredible. But, for all intents and purposes, I was being told I had only two options: either live with it, or buy a new phone.

A more recent example is my Sony Bravia television running Android TV. Over the first five months of ownership I was very pleased with its performance. Unfortunately, my TV was updated to Android TV 6.0 earlier this month - and overnight my beautiful 4k flat-screen became a frustrating, expensive black mirror, staring blankly at me from across my living room. While it still works, many of the functions I took for granted - like turning up the volume without causing the image and sound to break up and stutter - are no longer available. The interface has a tendency to lag to the point where it feels like I am using an alpha build of the software. I used to enjoy the convenience of using the Sony Sideview App to control my TV without having to track down the remote. Now the app can no longer connect to my TV via Wi-Fi, nor even identify it when I manually enter the TV’s IP address. No amount of factory resetting would fix any of this.

Now the question for me, as for every owner of this TV who chose to install the update, is whether or not Sony will ever push out yet another update to fix these problems. Or, will I just have to live indefinitely with a handicapped TV - for which I paid dearly?

The device maker’s dilemma

The interesting thing about this buggy update phenomenon is that, historically speaking, it emerged fairly recently. On my desk, I have an unrestored 1936 Remington Model 5 typewriter that I use on a regular basis. Unlike my five-month-old TV, this aged piece of consumer technology still works basically as well as it did over 80 years ago. While the TV came with a warranty protecting me from manufacturing defects (I can’t say if the typewriter did), the TV does not give me protection against the kind of software screw-ups that Sony and every other consumer tech company have imposed upon me since I started buying updatable devices. The problem is that even if Sony sent me a brand-new TV under warranty, it wouldn’t address the issue: the new TV would still update to the same buggy software build, and I’d be no better off. This is a grossly anti-consumer experience.

The problem is that even if Sony sent me a brand-new TV under warranty, it wouldn’t address the issue: the new TV would still update to the same buggy software build

When updating complex systems (like the one in a smartphone), it is almost a given that something will break, malfunction, or otherwise go wrong. On Android in particular, the potential for mishaps is even greater for devices outside of the Pixel and Nexus family, as the update must pass through three or more different entities once it leaves the loving arms of Alphabet’s Android developers. As many of you are already familiar with the update process, I won’t delve too deeply into it other than to say that once a new version of Android has been delivered by the Android team, it is passed along to the chip vendors like Qualcomm to integrate with the silicon. Once this has been done, the update is then sent to the phone manufacturers to ensure that it works with hardware, drivers, and software features unique to each individual SKU, after which it is then passed on to the carriers (at least in the US) to ensure the device and its software are thoroughly optimized to run on their networks.  

With each additional step in the process comes an additional opportunity for something to go awry. This also creates lengthy lag times between when the newest version of Android is released to manufacturers and when it actually begins to show up on consumer devices. Ultimately, the effectiveness of the process comes down to time and resources. A company with infinite time and infinite resources might be able to push out flawless update after flawless update. But in a world where manufacturers are expected to release brand-new phones on an annual (and in some cases semi-annual) basis while sticking to strict budgets, resources and time are limited. Inevitably, things slip through the cracks and consumers are forced to endure the resulting bugs, until they are - hopefully - addressed.

The quick fix is almost always a bad one

So, what are the solutions to this problem? If a device is running well on a particular software build, the owner could just choose not to update it. This approach certainly has its pros, namely that the device, much like my typewriter, can keep humming along the same way it did when it rolled out of the factory.

But even this simple solution assumes that the factory-installed software is without its own bothersome bugs. Ultimately, the pros are often balanced out by the cons, like increased vulnerability to exploits with unpatched software and, perhaps more practically, the suppression of one’s OCD every time the update notification pops up.

Another solution is to simply sell your phone and buy a different, newer model. Obviously, this isn’t economically sensible to be doing on a regular basis. Ultimately, though, these are not solutions. They’re inconvenient workarounds to an unfair problem which the modern consumer has now been forced to deal with on a frustratingly regular basis.

It’s fun getting into Treble

There is one recent development from Google that could finally start to address some of the underlying problems that lead to this experience, though. Or, at least minimize the deleterious effects of a buggy update on the use and enjoyment of your Android devices. This development is Project Treble. Explained at the highest level, Project Treble is an initiative intended to speed up the update process by reducing the amount of things that need to be modified and tested in every update. Essentially, Project Treble divides the OS into two portions, the Android OS framework that contains all of the updated code of the new platform version, and the Vendor Implementation that contains the OEM code specific to a particular device. Instead of having to rework the entire Vendor Implementation portion for each device for every new version of Android, OEMs can quickly test the forward compatibility of that device-specific portion and, barring any issues, push out the updated Android code to a device without having to mess around too much with the device-specific code.

This means Project Treble has the potential to reduce the time and resources required for an OEM to push out a stable update. It also has the potential to lower the amount of code that needs to be reworked and tested for each update, further reducing the number of instances in which something could go wrong. At this time, however, much of this is speculation and is heavily dependent upon manufacturer to make timely and bug-free updates - far from a certainty. Even with the tools to do so, phone makers could decide to lower costs by cutting back on the size of quality assurance teams, netting out much of the effect that Project Treble might have on wait times or bugs.

Conclusion: We need an update to updates

As much as updatability is a modern phenomenon, what is not so modern is the consumerist desire to always have the latest and greatest product. But the disposable two-year-cycle mentality around smartphones in particular has led the average consumer to often just accept bugs and other defects as facts of life. All of us have probably learned to develop workarounds for the various issues that arise on our devices - things that simply become second nature. But then, every couple of years, a brief respite arrives: we buy a new phone, the problems of the old one are quickly forgotten, and the cycle starts anew.

a two-year-old phone damaged by its final major update could result in a significant and unexpected expense

This, however, should not diminish the very real problem for those without the means to regularly buy their way out of a bad experience. For them, a two-year-old phone damaged by its final major update could result in a significant and unexpected expense for which they carry no fault. It is my sincerest hope that all players in the update chain will take it upon themselves to raise their own standards of update execution. The time is nigh when the software that runs the devices upon which our communication and consumption habits depend will one day also run things like planes, trains, and automobiles, upon which our lives depend. And that is, frankly, a little scary.