Sustainable web design
This article is a work in progress. Some or most of it is still evolving and you should expect some level of inaccuracy.
The internet currently produces approximately 3.8% of global carbon emissions, which are rising in line with our hunger for data. Increasingly, web technologies are also being used to sow discontent, erode privacy, prompt unethical decisions, and, in some countries, undermine personal freedoms and the well-being of society.
What can we do?
As web designer or developer, we can tackle this by taking a responsible stance and making sure you put the people (and the planet) at the top of your priorities while delivering digital products and services. Ultimately, sustainable web design and related implementations aims at making a product better, faster and accessible to more people, while using minimum resources.
One thing I'll say right now is, you can't make a website "green". The only moment a website is green is when it dosent exist. You then proceed to pile up features until it pollutes like a coal rolling truck. What you CAN do is understand the impact of your choices, and make decisions that lead to a product that is...
You are basically embarking on an economic and resource management exercise.
You probably already know (or at least have an idea) of how the internet works. If so, you know there are countless bottlenecks between the code you write and the end user. Well there's more. With a sustainable and responsible approach, we have to consider everything, even before it hits the web up to the lifecycle of the product after it is delivered.
Let's do the exercise of listing everything that could interfere with our users accessing the end product from our keyboards all the way to the user's brain. To do this, we will split the list in 3 major steps. First one being the development, then delivery and finally, end-user.
- Access to skilled workers
- Geopolitical landscape (are you in a precarious economical or political situation?)
- Time to delivery and workload
- Equipment (workstations, laptop, QA devices)
- Internet access (does some member of your team have poor internet access?)
- devOps practices (deployment processes, autonomy, tests)
- Technology choices (platforms and languages)
- Approachability of chosen tech (documentation, stuff to learn)
- Origin server and audience location (from where to where do you go)
- Geopolitical landscape (is your audience or the needed infrastructure to reach them in a precarious situation?)
- Censorship (mostly by governments)
- Infrastructure and internet access
- End users device connection speed and performance
- Movement (in a car, walking, on a boat or at home)
- Disabilities (blind, deaf, missing limb, etc)
- Urgency (users might be in a dangerous or urgent situation)
- The speed of light (we can't go faster)
End user bottlenecks
- End users device performance
- Urgency and immediate dangers
- Available Energy / electricity