Medium impact 🌿

Conduct regular audits regression and non regression tests

Products and services at any stage of a project can suffer bugs or issues which need to be resolved. Fixing these regressions also generates additional development and environmental costs. By resolving such issues, you can reduce the chances of a visitor giving up on a session and thereby reduce the amount of wasted energy your website emits overall.

Actions checklist
  • Regular Issue Testing

    Check your codebase for bugs, identify any performance issues, and account for accessibility or security problems at either monthly or quarterly timeframes (depending on your scheduling allowance).

  • Non-Regression Tests

    Non-regression tests are implemented for all important functionality.

  • Regression Tests

    Incorporate regression testing into each release cycle to ensure that new features don't introduce bugs or otherwise conflict with existing software functionality.

☞ See on W3C

🦾🦾

Medium impact 🌿

Analyze the performance of the visitor journey

Try to ethically measure how efficient a visitor's experience is, by doing so you might be able to reduce any issues they may have encountered previously and reduce the burden of loading unnecessary pages.

Actions checklist
  • Measurement And Compliance

    Only collect the data required to provide a streamlined and effective user-journey, put policies in place to ensure strict adherence, and comply with relevant accessibility policies and privacy laws, such as the General Data Protection Regulation (GDPR).

☞ See on W3C

🦾

Medium impact 🌿

Incorporate value testing into each major release cycle

Occasionally, you may find that features you have developed for a product or service have little to no active users or could be better implemented to bring better value. Undertaking research to identify redundancy allows you to optimize your codebase (and reduce emissions).

Actions checklist
  • Usage Changes

    Consider visitor feedback and monitor adoption and churn rates of product or service features, incorporating insights into future releases.

☞ See on W3C

🦾

Medium impact 🌿

Incorporate usability testing into each minor release cycle

Researching a product or service and how it is used over time allows you to iterate and ensure the features and functionality being offered match how user-needs change over time. Doing so will help you reduce code redundancy further and reduce emissions through optimization.

Actions checklist
  • Usability Testing

    Incorporate usability testing into product cycles and measure the impact of these tests for future releases.

☞ See on W3C

🦾🦾

High impact 🌿

Incorporate compatibility testing into each release cycle

Compatibility is a critical part of the sustainability mindset and should be prioritized through all products and services. If individuals wish to use older devices (or cannot upgrade due to cost), or do not wish to upgrade as frequently, it will reduce the amount of e-waste which enters the system. If something doesn't work, it's also likely to result in visitors suffering a wasted effort or are refused access to your service (and thereby emitting further emissions).

Actions checklist
  • Compatibility Policy

    Establish a policy for compatibility with obsolete devices and software versions, listing the supported devices brands, operating systems, and browsers (including versions).

  • Maintaining Compatibility

    Avoid planned obsolescence in software updates, striving to maintain compatibility for as long as possible and clearly communicating whether an update is evolutionary (large updates that can significantly reduce performance) or corrective (smaller updates that fix bugs or improve security).

  • Frequent Testing

    Regularly test the product or service with weak connections, old browsers, and on devices older than five years to ensure compatibility.

  • Mobile Friendly

    Prototype your interfaces using mobile-first methods to ensure progressive enhancement, content prioritization, and improved accessibility.

  • Progressive Web Application's (PWAs)

    Consider whether a PWA will be more sustainable and compatible over a native mobile application.

☞ See on W3C

🦾🦾

Medium impact 🌿

Identify relevant technical indicators

Performance is a key part of the sustainability mindset as reductions in loading times can have a considerable impact on energy loads within CPU, GPU, RAM and hard drive caching (among other variables), as such ensuring a performant product is essential.

Actions checklist
  • Performance Goals

    Set performance goals which impact the environment and performance of the service, for example HTTP requests, or the amount of DOM elements which need to be rendered.

☞ See on W3C

🦾🦾

Low impact 🌿

Minify your html css and javascript

Whitespace holds no value when it's being presented to the visitor (unless they view the source code), by using minification, valuable data savings can be made which will reduce loading times.

Actions checklist
  • Minify Code

    All source code is minified upon compilation (including inline code).

☞ See on W3C

🦾

Medium impact 🌿

Use code splitting within projects

When dealing with heavy components (such as JavaScript), the ability to modularize them into smaller pieces which can be loaded as and when required reduces the amount of redundancy and serves as a great way to make your scripts more sustainable.

Actions checklist
  • Code Splitting

    Breakdown bandwidth-heavy components into segments that can be loaded as required.

☞ See on W3C

🦾