Florimond Manca is a software developer at Fairness. In this article, he discusses five guiding principles to a practical digital eco-design.
Principle 1 – Learn the basics
There is an ecological predicament that our economies are fundamentally unsustainable because they tend to turn nature into waste. IT plays a role because it highly depends on input energy, materials, and metals. Infrastructure is distinguished into three poles – user devices, networks, and data centers. The key thing to understand is that it’s not only about greenhouse gases or the carbon footprint. There are other indicators like energy and water consumption. It’s also about the materials used in user devices. So, the main thing is to avoid manufacturing of new equipment. You could improve the lifespan of devices and keep them for longer. Avoid replacing devices. Software engineers and product designers have a responsibility in terms of software obsolescence. Systems should be designed not to load devices or make them feel slower.
Principle 2 – Start from existing practices
You’ve got a system, code base, and engineering practices. Eco-design has a lot of interconnections with engineering practices. Let us consider the example of “performance.” We chase performance. We try to make it better for our users. The definition of performance has three main aspects – Speed, Capacity, which is the ability to handle the load, and Resource utilization. We can fulfill these needs with minimum resources with a good design and interconnection. There are many tools that you can leverage. But efficiency is not always guaranteed with low resource utilization. It’s called the rebound effect. When you gain efficiency on a usable resource that gets you money, you use the resource more. It’s a law, and it is hard to overcome.
Principle 3 – Questioning the needs
Question the need for the system and functionalities of the digital services you provide. Let us look at a small story. A few years ago, one of my coworkers was told by a client that they wanted to build a ticketing system. When we further inquired, we realized they wanted to address a handful of customer inquiries in a year. We were able to suggest a simpler solution. Instead of spending three months building a system, spending time, effort, money, and resources, we provided a faster, cleaner solution that met the client’s requirements. The key point here is to get the management on board. And to convince the board, we need to have data and numbers.
Principle 4 – Beware measurement bike-shedding.
Most companies are capturing carbon emissions. But we rarely measure water consumption, primary energy, eco-toxicity, etc. There are tools to do this. A lot of work is also being done on this, but it is hard to measure.
Principle 5 – Aim for the radical shift
Eco-design is a lot of common sense. There are several levels of eco-design.
The first level is Optimization. It deals with taking your existing program or SQL query and trying to optimize it. You can have data compression ratios and reduce storage without touching too much on the technical architecture.
The second level is Redesigning the technical architecture. E.g., caching, pull vs. push, etc.
Level three is Functional Innovation. It deals with cross-functional cooperation, simplified user journeys, aggressive feature cuts, etc.
Level 4 deals with Radical Shifts. At this level, you mix low-level tech and high-level tech. Let us look at an example from the Green Energy Collective. A Spanish startup was working on a weather prediction system for farmers. They built a machine-learning statistical model and delivered it using a mobile app. In Europe, 5G was used, but in Africa, most farmers did not have smartphones connected to 5G, so they had to think of a low-tech solution. This gave them a mix of low-tech and high-tech solutions.
To conclude, I hope these five principles can help you guide your actions and thinking in implementing a good design for your organization and systems.