“If something can’t go on forever, it won’t.” - Herb Stein’s Law
What will the future of the tech industry look like?
The challenge facing us all between now and 2030 is no longer how we will persuade the world (or more immediately, our bosses or customers) to become carbon zero. That’s coming whether we like it or not. Our new problem is how, as companies, we can position ourselves to have a business left when it does, and how we make sure our long-term suppliers are still standing.
The good news is, I suspect the solution to our problem will be to shift the tech industry onto a trajectory that offers far greater scope for growth in this coming world.
That sounds surprisingly optimistic! So, why on Earth do I think it?
Stepping back, what are the climate issues we will be forced to resolve over the next ten years?
As I discussed in my last post, according to the bright folk who look into this stuff, tech has two problems to solve by 2030:
Fortunately, green electricity for DCs is now in hand. My preferred way to solve a problem is usually to give it to someone clever to come up with a fix, and in this case that’s the cloud providers. They have committed to solve it by 2030 and the rest of us can either use their solutions or copy them. So, let's put it to one side for now.
Unfortunately, however, hardware is a disaster area. For end-user devices, the carbon and other pollution from their production outstrips the impact of their run-time electricity use.
That can’t go on, so it won’t, but what will ‘future us’ do about it?
There’s never just one solution to a problem and user hardware is no exception to that rule. There are at least three ways to reduce pollution from it:
We are going to need all of them, but the first two are for hardware manufacturers to address and I won’t cover them here. For me, the third is the most interesting. It is the one that:
So, let’s talk about hardware longevity.
According to Microsoft, we should all architect our software in a way that means hardware will last longer. That’s about avoiding causing something to become obsolete when it doesn’t need to be.
Specifically:
Although Apple is still providing software upgrades for phones dating back to 2015, Android manufacturers only support phones for 2-3 years (and Apple is not without sin - new apps often force hardware upgrades even when patches are still available for a device).
The good news is we are upgrading our smartphones slightly less often than we used to (mostly as a result of the economy, but also because manufacturers are running out of flashy new hardware features to lure us in). However, it is still averaging once every ~3 years.
The bad news is some of that increased lifespan relies on Android users running unsecure phones because they didn’t want to or couldn’t afford to ditch a working device. Doing the sustainable thing is putting them in harm’s way and I fundamentally blame Google for that - they set the license terms for Android.
Unnecessary obsolescence is not only a criminal waste and a security risk for users, it’s a missed opportunity. Every day, millions of folk bin working hardware devices with astonishing capabilities. At the same time, the software we run on our phones and tablets barely scratches the surface of what those amazing devices could do.
All of these are doable. On launch, software is often barely optimised, which means there’s a lot of room for improvement on any given device. We could be exploiting that.
A software-based upgrade system might not be attractive to the current hardware manufacturers, but it should be to software ones. It certainly would be to the planet, which increasingly means to younger consumers.
We’ve become reliant on hardware because that was the easiest path. Hardware has been exponentially improving for two decades and we weren’t footing the climate bills. It therefore paid for us to let our software get bloated. Instead, it should have been generating better products than hardware ever could because it’s innately more flexible - it’s a language! Software is only limited by our imagination and the skills of our developers and we could do so much more with it.
What do I mean?
Microsoft tends to make its money from software rather than hardware. Unfortunately, however, their new releases usually fall foul of the “better hardware required” form of obsolescence.
There’s no need for that to be the case. There’s plenty of room for optimisation in their software and OS. There is no technical reason why the key feature of the semi-mythical Windows 12 couldn’t be that it runs faster on your existing laptop - rather than what’s likely to happen, which is that it’ll run slower.
Faster tech on existing hardware! How cool would that be? Arguably the best feature you could get. And there is already a great example of a successful consumer business that manages hardware longevity far better than the rest of the industry...
In 2020, Microsoft and Sony each released their first new console in 7 years. That’s already more than twice as long as the average phone lasts. The amazing thing is, games continue to get better while you’re waiting for the next hardware release! How? By constantly optimising their software for existing devices.
Games companies believe that the software (the games) should be the star rather than the devices they run on, and they’re right. There may even never be another new Playstation or XBox. In the future, consumer devices are expected to play a smaller role in the gaming experience because more of the heavy lifting will move to the cloud and the edge (that’s good because cloud providers are better at managing hardware longevity than consumers are).
All this only makes it more galling and outdated that, at the same time, I have to throw away a high-spec, working Android phone every 2-3 years. Built-in obsolescence is for Henry Ford, not the 21st century.
What will we do about it?
“Software is eating the world” - Marc Andreesson
Andreesson’s quote is an implicit assertion that, this century, software has driven the world’s economy. It hasn’t. Software has underperformed throughout the past two decades because it has leaned so much on Moore’s Law.
Despite the fact that code is almost limitlessly flexible, what has actually been eating the world since 2000 is hardware (Moore’s law plus flashy consumer devices built cheaply in Asia) and slick operations (cloud providers). Neither of which are as inherently powerful as software. I’m a software engineer, so in my opinion that’s a crying shame.
So far, the 21st century has not been about smart code. It has been about leveraging clever hardware and ops. Hardware has improved exponentially, giving us 1000X growth since the 90s. We spent most of the improvement on making software engineers more productive in a very specific direction (tl;dr: stuff we could do more easily with a growing number of processor-intensive layers). As a result, software became less specialised and more resource hungry.
The most revolutionary tech concept of the past decade has been containers, which showed us the amazing things that can be achieved by removing the heavyweight wrapping of a VM and replacing it with the vastly thinner one of a container. Unfortunately, in most enterprises that intelligence hasn’t been realised and containers have just become yet another layer.
The solution to tech’s future is to fight our way out of the gilded hardware cage we’re currently living in. We are close to the top of the local maximum of hardware + Asian manufacturing. The next peak has to come from smarter software, and ideas beyond just wrapping another thick layer around stuff and letting cheap hardware and electricity do the work of coping with it.
The innocuous phrase the tech industry uses for destroying working hardware is ‘premature obsolescence’. In a world that has to deal with climate change, I don’t believe that sums up the issue or the challenge.
What we are talking about is negligent obsolescence. We could do something about it, but we don’t. Sometimes that’s deliberate (we still have Henry Fords out there) but often it’s just a failure to pay attention. It’s negligence and it cannot continue. Hardware needs to last longer. Unoptimised or unsupported software should never again be what kills a working device.
What I’d love to see in the 2020s is software no longer taking credit for wins being delivered by something else and achieving its own vast potential. By re-focusing on software-driven energy efficiency, software features, and hardware longevity, not only could we solve tech’s fossil fuel and pollution challenges, we could enable the industry to reach the greater heights of which it is capable.
The world is changing and software needs to step up.