With GreenCoding, software development becomes part of your sustainability programme, reducing energy use and greenhouse gas emissions throughout your organisation and your supply chain.

  • Sustainable software
  • Greener architecture
  • Greener logic
  • Greener methodology
  • Greener platform

Coding is typically about efficiency of effort. What if it could also help you reach sustainability targets?

We believe that sustainable software development, or GreenCoding, can help organisations as they seek to shrink their environmental footprint. 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.

Greener architecture

GreenCoding starts with three architectural principles:

  • Shut down when idle. This means designing so software is shut 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.

Zaakceptuj marketingowe pliki cookie, aby obejrzeć ten film

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 2 days of operating time a year, assuming the average user opens the app daily.”
Gonzalo Ruiz De Villa Suárez CTO at GFT Group
Gonzalo_Ruiz_de_Villa_GFT_CTO

The three pillars of GreenCoding

gft_infographic-GreenCoding

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.

gft_infographic-greenCoding_graph

Savings through optimal server utilisation