- Technology - much more than process efficiency
What if code could help you reach your sustainability targets – and improve user experience in the process?
- Make software development part of your sustainability programme - with GreenCoding. It can reduce energy use and greenhouse gas emissions throughout your organisation and supply chain.
- Scaled up to servers and consumer devices worldwide, every line of code has the potential to reduce energy consumption and emissions.
- GreenCoding is based on architectural principles and supported by three pillars: the logic, methodology and platform used to write, develop and run the code.
Sustainability in numbers
Information and communications technology could account for 21% of global electricity demand by 2030
Reducing the resolution of screen images on a mobile app with 500,000 users could save 21 days
Machine learning can reduce the need for datacentre cooling by 40%
Up to 99,9%
reduction of CO2 emissions by using best practices while training AI networks
“When can a millisecond be worth 2 days? By reducing the resolution of screen images on a mobile banking app with 500,000 users, developers could save more than 2 days of operating time a year, assuming the average user opens the app daily.”
GreenCoding starts with three architectural principles:
- Shut down when idle. This mean designing software which shuts down when no-one is using it.
- Avoid impulsive consumption. Question whether real-time processing or dynamic content is always necessary.
- Focus your investment in time and energy. Look at the big picture to see which elements will need the most energy and time.
The three pillars of GreenCoding
GreenCoding is based on architectural principles and supported by three pillars: the logic, methodology and platform used to write, develop and run the code.
1. Greener logic
In GreenCoding, every decision matters. Even a single optimisation could make an impact when combined with many others. We see four important areas for greener logic:
- Benefit-driven visual content. Giving users what they want, faster, improves customer satisfaction as well as saving time and energy.
- Zero-waste code. Remove dead code using tree-shaking engines and allocate size or performance budgets for developers.
- Low-footprint resources. Choose simpler file formats, efficient APIs and optimised image packaging.
- Frequency of use and proximity. Progressive web applications (PWAs) and content delivery networks (CDNs) can handle content expiration and reducing the physical distance between server and user.
2. Greener methodology
- Rapid feedback, better decisions. Agile and Lean methods can make it easier to adapt software for efficiency, while continuous integration and continuous delivery make it possible to visualise each development decision’s impact.
- Reusable output. At the heart of sustainable software development is ensuring that the results of GreenCoding projects are widely available, within and even beyond organisations.
3. Greener platform
For optimum energy efficiency, the infrastructure that code runs on is as important as the code itself.
- Optimal utilisation. Low utilisation is typically the result of overestimation during the planning stage and can result in systems that are much larger than they need to be.
- Precise configuration. Looking into configuration options may reveal inefficiencies, for example HTTP2 or gzip compression settings that were never enabled.
- Holistic metrics. As well as the energy demands of servers, metrics should extend to include “hidden” infrastructure such as personal devices.
POINT OF VIEW
GreenCoding: the new frontier for software development
With GreenCoding, software development becomes part of your sustainability programme, reducing energy use and greenhouse gas emissions throughout your organisation and your supply chain.