We’ve done a lot of work over the past few years to raise awareness of the environmental impact of digital technology. In particular, we’ve invested a huge amount of time into researching the energy and carbon impact of the web as well as how we can solve it. What we haven’t talked too much about is how software including web services relate to physical electronic waste.
I did write an article last year about the case for using refurbished IT equipment, but I haven’t written about how software and web design itself can contribute to, or help to reduce, electronic waste. This is a topic that was raised when our Tech Lead, Jerome, came back from a workshop with The Green Web Foundation led by the wonderful Hannah Smith.
Considering that neither software nor hardware can operate without the other, these two world’s are surprisingly disconnected. So when it comes to environmental impact, software and hardware people are often not looking at how these two sides relate. Electronic waste, also known as e-waste, is a huge environmental (and humanitarian) issue that continues to grow, with approximately 45 million tonnes of electronic waste being produced globally each year. While much of this problem does lie in the hardware design and business models of the hardware industry, there are also aspects of software design that contribute too.
We’ve identified four key things we can do in software and web design to minimise electronic waste.
Reduce feature creep
I’m sure you’ve experienced the frustration of your digital devices slowing down over time. It seems that the super fast, super powerful machine that you purchased a few years ago is now painfully slow and eventually may feel unusable.
There are times when this is genuinely due to the hardware physically ageing, but in many cases it is due to feature creep in the software that you use. Feature creep is when software providers add more and more features over time, each designed to work on the latest hardware. This means that for anyone not on the latest hardware, the new and “improved” version of the software might run a bit slower than the previous version, even if you do benefit from some new features. Over time, these small creeping changes erode the speed of your device until you reach a point where you feel that you need to buy a new phone or computer, even if there is nothing physically wrong with it. As digital technology makes its way into more and more devices such as TV’s and cars, this issue has even bigger implications. In fact, despite some software updates to minimise the issue, my 8 year old Tesla is in need of a computer upgrade to keep pace with the evolving complexity of the in-car software. I’m just glad that we can replace the computer and not the whole car!
As software or web creators, we do want to improve our products over time but we need to be mindful of feature creep. Some possible solutions are:
- Optimising all new features to ensure that they are as efficient as possible and don’t simply waste the increasing power of computers
- Testing software updates on less powerful, older devices to ensure that they work without performance degradation
- Offer modular software updates and highlight options that may impact performance so that the user can decide if the compromise is worth it
This principle also applies to software that we host in the cloud, where inefficiency can lead to the need for more RAM and more CPU power. This ultimately leads to the need for more physical servers to run the service, which will use more energy during their life and one day mean that even more servers become electronic waste.
Minimise file storage
Another reason for needing to upgrade hardware is a lack of storage space. In some cases, this can mean that storage drives need to be upgraded, creating e-waste as the old drives are often discarded. In the worst cases, especially on devices where the hard drives are not upgradable, running out of storage space can mean that the whole device needs to be replaced.
Software creators can minimise their contribution to this issue by keeping file sizes for code and assets as small as possible.
Just as importantly, they can design their software to minimise the amount of unnecessary data that is being stored on both the user’s device and on hard drives in data centres. Common examples include photo and video apps that keep copies (sometimes multiples) of media that the user doesn’t want or need, content management systems that keep multiple copies of everything uploaded and have no mechanism for cleaning it out (hello WordPress!), and analytics tools that harvest data that isn’t necessary and store it indefinitely.
Wasting storage space doesn’t cost the software creators anything, but it costs end users and data centres real money, wastes energy and contributes to more electronic waste.
Support older operating systems and browsers
Sometimes, new versions of web services or software can’t run on someone’s device because their operating system or web browser is too old. In the case of operating systems, many new versions of software and mobile apps use the latest features provided by new operating systems, but not all devices are capable of running the latest operating system or slow down significantly when it is installed. If people can’t update their software or buy new software, then eventually they may get frustrated and decide to buy a new device. This issue is probably most pronounced with mobile devices where iOS and Android have new APIs available with each iteration.
This can also apply to web browsers, which don’t always get updated if the operating system doesn’t support new versions, or if the user never reboots their machine and so the automatic updates from their web browser don’t get installed. If they then visit websites that don’t display or function properly, this can be a frustrating experience that can contribute to the user upgrading their device. When developing websites and web apps, we should look at our target audience to understand what browsers they are using and try to ensure that we are supporting the versions used by the real people that visit our services. There is sometimes a trade-off between the efficiency of the latest browser technologies and the desire to support older browsers, so we need to look at the user data carefully to understand where older browsers are worth supporting, what the trade-offs might be and how we might use progressive enhancement to support older browsers without limiting the quality of experience for visitor in newer browsers. In practical terms, the ‘defaults’ setting for browserslist is a good place to start. If your features pass that, you’re in a pretty good place.
Provide long term security updates
Sometimes devices have to be replaced when there is literally nothing wrong with them. In my experience, this can occur when software security updates are no longer available for the device itself. For personal use, this can be worrying but many people may decide to keep using the device despite security updates being unavailable, which puts them at risk. In a corporate context where such risks are considered unacceptable, the absence of security updates from the manufacturer can mean that the devices will be replaced even if they are working perfectly.
Here at Wholegrain I have been extremely frustrated by this problem. As part of our CyberEssentials certification, we must ensure that all devices have automatic security updates from the manufacturer but most Android devices come with only 3 years of security updates. Some high end devices come with up to 5-6 years of updates, which is much better but still not ideal, especially when you consider that it is generally from the release date of the product, not from the date that the customer purchased it. We’ve had to replace many devices that worked perfectly but couldn’t pass CyberEssentials due to the manufacturer no longer providing security updates. Of course we didn’t throw them away, but we did have to buy many newer devices which ultimately perpetuates the production of new electronics and accelerates the end of life of the existing ones.
Similarly my parents are currently grappling with whether they need to replace their perfectly good 8 year old PC as Microsoft has announced that they are dropping support for Windows 8. While some of us might roll our eyes and think “Who still uses Windows 8?!”, the reality is that people who live and work outside the tech industry don’t need the latest devices and can keep them for much longer so long as the software continues to work and remains secure.
If you’re involved in a form of software development where the longevity of security updates could impact people’s ability to keep using a device, planning a strategy for supplying long term security updates could significantly reduce the amount of electronic waste.
Software can be hard
As I often say in my talks about sustainable web design, the digital world is not “virtual” or “in the cloud”, but very much real and physical. It’s the huge array of IT hardware forming our data centres, telecoms networks and user devices that makes the things we see on our screens possible. This physical equipment has a huge impact on the environment and software contributes to that impact in a number of ways, including contributing to the creation of electronic waste.
But it doesn’t have to be this way. We have choices in software and web development that can minimise or even eliminate this contribution and make a real difference. We don’t know exactly what proportion of e-waste is driven by software, but even if it was only a small percentage, it could still make a big impact. With 45 million tonnes of electronic waste produced every single year, we need to do every little thing we can to help shrink that mountain.
Let us know on Twitter @eatwholegrain what other approaches you have found to minimise the contribution of software to electronic waste.