Sustainable Software Development

Video
Article
Case Study
Podcast
5
minutes

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

See more podcast episodes

Transcript coming soon.

Transcript

Written by

Scott Gulliver

Scott Gulliver is the Director of Fluff Software, a software development company based in the South West of England. Scott has been helping large companies to implement software and technology, with a particular focus on digital transformation over the past decade.

Sustainable Software Development
written by
Part One

Part TWO

Part THREE

Part FOUR

Websites, mobile apps, and web apps all contribute to carbon emissions. We have a “throwaway” culture with content on the web that’s a real cause for concern. TikTok, for example, is a platform where we load power-hungry videos at an ever-increasing rate, just to swipe to the next one within seconds. 

The carbon crisis is a real threat to our planet, and while software isn’t the biggest contributor, it certainly is a growing one. It’s also one of the more intangible things. Many people try to reduce their gas and electric usage, but rarely think about the apps that consume their attention throughout the day. 

As software developers, we have the power to decrease the carbon emissions related to our websites, web apps, and mobile apps. By reducing the power that our code demands, switching to green hosting providers, and getting smart with user experiences, we can build experiences that are great for both users and the planet.

Small changes for a big impact

Once you start to consider the impact of the apps and websites that you create, it can actually lead to an improved user experience. Many of the changes needed are to do with making things more “efficient”. This not only reduces power usage, but also can improve speeds of things like loading, and processing times.

Creating apps and experiences that are “green” (or, at least, consider their power usage carefully) doesn’t need to be a taxing task. There are several ways to start measuring how efficient your software is, and there are simple steps that you can take today to improve your score.

Virtual worlds, real consequences

Internet. Clouds. It is very easy to think of software as completely virtual - but the information we receive every minute gets stored and transferred across many data centres around the world. These centres run continuously, and require power to not only run, but also to cool them. Most are using green energy, but this isn't always the case. Globally, the internet produces 2% of global carbon dioxide emissions - that's equivalent to the global air transport industry.

Is green "hosting" enough?

The majority of websites tend to make use of servers and data centres that are powered by renewable energy. But - is it just as simple as that? Our mobile devices, whether they are mobile phones or laptops, require power of their own to run our mobile and web experiences. You've probably seen the difference in how long your phone's battery lasts when reading the news, compared to playing a game. Increased power usage then also impacts how much we need to charge it, again increasing the consumption of energy.

Measure and improve

As the saying goes, what gets measured, gets improved. Thankfully, there are now a variety of tools that we can use to measure the impact of our software.

Green Web Foundation is an international directory of green website sites, and also comes with a tool to measure the impact of your site. You can access the tool at https://www.thegreenwebfoundation.org/

Another really useful tool is https://www.websitecarbon.com/, which also measures impact in a similar way.

Once you've got an idea of where you currently are, you can use the tips below to start improving on a regular basis.

Creating energy-efficient websites

Websites are typically getting bigger as they become more complex. The increase in the transmission of the data means that the carbon footprint naturally increases. As web designers, developers or product owners, we can all improve web design efficiency. There are several areas in which small, but big, changes are possible, and just a little change in our processes is all that is needed. How can I create sustainable websites?

One simple way to start is to switch to a green hosting provider. Whether it's a small WordPress website, or a large back-end heavy system that you're running, green hosting can lead to sustainable websites. Finding a provider these days is simple, with many sites listing those that have a low carbon footprint.

Another big win not only for the planet but also for your business is to make good use of SEO. By taking people directly to the page that they are searching for, they won't need to click around too much further and load even more data.

How do you make an app sustainable?

By reducing the power consumption of our apps, they become much better for the environment. Things like long-running background tasks can easily begin to degrade battery performance, and require more frequent charging.

Some other practices can involve making sure that unused features aren't included in the app. Smaller and simpler apps always help to reduce their footprint.

Video, images, and other content

The transfer of large files is one of the major factors in how much power gets used, especially from the host servers. Some simple ways to reduce the overhead are to:

  • Reduce video sizes
  • Lazy-load resources such as images until the user scrolls far enough
  • Disable auto-playing of videos
  • Cache resources, and make use of Content Delivery Networks (CDNs)
  • Use modern image formats such as WebP which are more efficient

Following best practices

Our understanding of what makes a good efficient app balanced with a great user experience is constantly changing. Following the best practices published by reputable sources, such as Apple, will enable you to make informed decisions and tradeoffs as necessary.

As an example, using services in your app that access the user's location may be necessary for a specific feature within your product, but it's also a resource that drains the battery quickly. Apple and Android are both including better and more efficient ways of accessing these services only when you need to, drastically reducing power consumption.

Making these choices requires a certain level of thought and knowledge about recent practices and APIs.

Taking the next step

With all of the knowledge about the eco impact that your experience has, you are well informed to begin improving things for your users. By putting an emphasis on sustainability, you'll be able to keep it in mind for all future development. It shouldn't be a taxing or difficult thing to adapt to, and small changes can have a big impact.

Written by

Scott Gulliver

Scott Gulliver is the Director of Fluff Software, a software development company based in the South West of England. Scott has been helping large companies to implement software and technology, with a particular focus on digital transformation over the past decade.

Let's chat about your project.

We're love to see how we might be able to help, without any commitment.

Get in touch

Let's deCODE the process of app development

Our unique software discovery service is designed to get you from idea to a concrete plan.

Find out more