piantina che buca un foglio

Is it possible to reduce the digital impact on the environment?

"If the Internet were a country, it would be the fourth most polluting nation in the world"
Freitag, Berners-Lee, Widdicks, Knowles, Blair e Friday
 
The transmission of data, its storage, consultation, and processing are all digital activities that require significant energy resources. The scenario will have an even greater impact on CO2 emissions thanks to the proliferation of artificial intelligence
So, the digital world also pollutes and has an increasingly significant impact on the environment. Just consider that the energy used by the web in one day (1.14 TWh) is the same as the city of New York uses in 38 days.
 

Digital sobriety is the solution, anyone working in the digital sector can contribute by implementing optimization strategies to significantly reduce consumption cutting costs and loading times. In  addition, brand awareness and referrals will boost by choosing low-impact solutions.
 
How does the web impact the environment?
 
It's common to think of the web as virtual, something intangible and therefore weightless. In reality, the elements (such as fonts, images, videos, etc.) that make up a page have a weight (usually in kB or MB) that affects the loading speed of the content. Another factor impacting eco-sustainability is the computing power allocated server-side and client-side to process the code and infrastructure.

Caching techniques and HTTP calls (messages exchanged between browser and server) can help optimize speed and data retrieval.
Indeed, calls are made to the server every time a search is made or a page is opened. If server isn't manage optimally, calls can require a significant amount of time and energy.
The tricks of the trade
 

We make eco-sustainability a fundamental goal, through production processes and technological choices. We adopt optimization techniques that lead us to high-level results.
 

 

Island pattern
 
We use the island pattern to have lightweight components; the site's architecture consists of services that turn on only when needed. In questo modo non sovraccarichiamo il sistema e la struttura rimane agile e snella. Ad esempio, in una pagina prodotto, carichiamo gli articoli correlati a fine pagina solo quando l’utente li visualizza nel browser.
 
Aggressive caching
 
The content is often the same for multiple calls, so why don't we cache it? In this way, we reduce time and costs by computing the content just once. Caches can be applied at all levels (database, server, and browser), but  before doing it we must pay attention to the data update requirements. A significant challenge tha leads to great benefits.
 
Lean and optimized code
 
We write only the necessary code and optimize it progressively. We carefully consider to introduce new libraries and measure the performance impact of every piece of code. From lessons learned, libraries that do too many things should be avoided, you had better choose lean and targeted solutions. Async programming allows us to parallelize tasks and reduce the waiting times during which the server processes information.
 
Right content in the right size.
 
Images are one of the most environmentally impactful content, that's why we optimize them in high-compression formats. 
If there's a small image on the page that can take up just a few Kilobytes, we automatically process the original, that might weigh several Megabytes. We optimize images
 for the specific contex, once they are called.
 
Bundling and minification
 
Many websites still overwhelm the browser with dozens and dozens of small files, even if it's much more efficient to package all the files into a single call using the bundling technique. It's a bit like going to the post office ten times to pick up as many packages, isn't it faster to wait in line at the counter just once? By doing this, we avoid reaching the concurrent call limit and slowing down the page. We can reduce package weight by minifying the code once we have retrieved it. Minifyng the code means to remove everything that makes the code readable to a human but is completely unnecessary for a machine, such as spaces, line breaks, long variable names, comments, etc.
 
 
Since obsolescence times are very short in the digital world, but techniques are constantly changing, we implement a progressive optimization of the architecture, monitoring our projects with dedicated tools, like Googlle Lighthouse, Chrome DevTools, Karma Metrix e Website Carbon. By doing it, we are able to control their levels of consumption and CO2 emissions.
Optimizing a web project is a challenging journey that requires not only a technical approach but also a strategic one.
There are many implementations that require a rethinking of ergonomics and architecture. However, there are solutions that can be implemented immediately to improve performance and consumption.
 
Is your website sustainable?