Not only is slow software annoying to use, but there are two greater issues with the absurd inefficiency of some software and its hunger for increasingly powerful hardware: A social and a environmental issue.


There might be some of us who are lucky enough to be able to shell out a couple hundred Euros every two years to buy a more powerful computer. But first of all: Why should we? There are lots of other fun ways to spend money. Secondly there are others for who the decision to spend money on a computer is much more difficult. People in countries with overall weaker economies and/or inflated currencies can not just get the latest Macbook every year. Some fortunate ones might, but a significant portion of people can not. Do we want to exclude people from participating in the digital era like that?! Using information technology, the ability to gather, manipulate and communicate data, the ability to write code: Those are important and defining abilities to have in the digital era. They are enablers of a knowledge economy and societal change. Do we really want to make it as difficult as possible for people to participate in this new era by making software so slow that only the rich can afford to buy the computers to run it?!

If we want to be inclusive to people in more challenging economic circumstances of any kind then we need to make sure that software runs on less powerful machines and that it runs on older machines that get handed down through an aftermarket. The brightest minds might be precluded from ever learning to code if we don’t care about these things. That would be a loss for the world if nothing else.

To phrase this even more drastically: Writing inefficient software is an expression of a (maybe subconcious) western arrogance that ignores the billions of people who live in countries with overall lower economic development levels. If one was particularly arrogant, one might say that people in those countries had more pressing issues to face than using computers. I would disagree with such a statement; on the contrary: The power of knowledge and the power of digital communication can be vital for people in a politically entrenched climate. And the value to be generated from knowledge workers might just as well help societies with weaker traditional industrial sectors. Caring about the performance of software thus becomes a matter of solidarity and social justice!


The fact that it is considered completely normal to buy a new computer every couple of years is particularly troubling at a time at which we become increasingly aware of the environmental impact of our way of life. The production of computing devices might not be a major factor in global CO2 emissions compared to other sectors and industries. But emissions are only one piece of the puzzle. Sustainability also relates to the use of materials with a limited supply here on earth. Not only are those materials sometimes mined under questionable conditions (to put it mildly), but processing and refining them involves a bunch of different chemicals and lots and lots of water. The environmental cost of each chip might not be outrageously high, but when we keep putting more chips into more devices, we might want to consider how that adds up.

A big part of the problem is that recycling computer parts for materials is not all that efficient or practical. Constantly swapping out electronic devices that are working perfectly fine just because the software keeps getting worse is creating huge amounts of avoidable e-waste.

The amazing technological advances in chip design and manufacturing have conditioned us to embrace the idea of regularly throwing away working computers and buying new, more powerful ones. And while I appreciate the latest and greatest chips as much as the next guy, I do wonder what happened to “Reduce, Reuse and Recycle”.

I get that computer manufacturers want to keep selling us new hardware, but what I don’t understand, is why software developers just happily play along. Without software getting worse, year after year, we wouldn’t need to buy a new computer so often just to keep doing the same things as before at the same perceived performance as before.

It seems that when somebody complains about some basic software running slow on an old device, they are ridiculed for expecting that software continues to work. The idea that you can use the same computer for more than ten years without it becoming unbearably slow, seems ludicrous. We apparently have completely accepted the fact that software gets slower over time. But it does not have to be that way.


Obviously there are use-cases that very much still benefit from better hardware and rightfully so: Gaming, video production, 3D modeling, scientific computing. Those are use cases for which the hardware was never enough and more computational power is always better. That is why I would mostly exclude developers of such applications from the indictment of producing slow software. They are dealing with problems that are actually computationally expensive and are mostly trying their best to eek out the last bit of performance from the available hardware.

The expectations that users of these applications have keep increasing: Whether you are playing the latest AAA-game, color-correcting some 12K video footage or rendering out a complex 3D scene… For these specialized use-cases it is absolutely reasonable to take advantage of the most powerful hardware.1

Specialized use-cases also often show what is possible given a set of hardware constraints: Game developers are amazing at using the available computational power efficiently! They are able to create stunning virtual worlds with high-resolution textures, complex lighting and particle effects. Compared to the realtime 3D graphics of previous decades, it is incredible how much engine devs are able to take advantage of every bit of the tremendously powerful hardware.

But comparing these to other areas of software, the excitement quickly turns into incredulous disappointment: My computer can render amazingly detailed 3D scenes at 100fps but there is more than 2s delay when I change between Slack channels?! What the fuck?!

The developers of applications that have to solve intrinsically hard computational problems pull every trick to makes things go fast. But plain old, mostly textual use-cases like chatting or web browsing are still slow or even getting slower! That is just bonkers! Software does not have to suck, but sometimes it demonstrably does. If we can solve hard problems (simulations, AI, 3D graphics) then we should be able to solve the simple problems as well.


So who’s at fault here? Everyone. Users want new products and features and thus the market rewards pumping those out quickly and without any consideration for performance (or security or privacy for that matter). Developers cave to that market pressure and even if they might know better: What are they gonna do? When everybody else gets rewarded for not caring about performance then why should they?2

In order to break this cycle and change software for the better we need both the creators and consumers of software to be vocal about performance issues and refuse to use and create slow software.

If users start demanding more performant software, delivering it can become a competitive advantage. And if developers go above and beyond to build fast software, they can show users what they have been missing out on. Non-technical users don’t expect software to be fast because they are not used to it. They might not be aware of this, but there is no technical reason why software has to get slower over time. So we technically minded and educated folk have to tell them that the status quo of unreliable and slow software is completely unnecessary.


Software that performs better is just nicer to use and absolutely possible to be run on the computers we have today (and even those we had 10 years ago). It is a precondition to include more people in the digital transformation of our society and to let them participate in the amazing world of software. And it is a piece in the bigger puzzle of the other transformation: That towards a more sustainable economy in which things are made to last.


  1. Whether these use-cases are particularly necessary is maybe a different discussion. Does the fun of playing a game correlate with its visual fidelity? Does the entertainment or educational value from watching a video have anything to do with the video’s resolution, bitdepth, or framerate? 

  2. Maybe even this description might be optimistic. In the context of deteriorating software quality Jonathon Blow has put it like this: “If you haven’t seen an entire industry produce robust software for decades, what makes you think they actually can?!” I think that is a very valid question to ask.