It’s no secret that we all need to do our bit in reducing our energy consumption if we want to protect our planet, but the concept of "energy saving" is rather abstract. Knowing your exact carbon footprint and then tracking how much energy you have saved can give you a better idea of your contribution to a greener environment.
This is true for our personal lives, as well as business, and technology developments overlap in both. As the tech industry continues to develop and grow, so too, does this development impact our environment. The importance of energy-efficiency in all aspects of life is paramount, but how does this translate to mobile application development? What is best practice to paint your mobile app “green”, so-to-speak? Blott.io along with Zevero, one of our clients for whom we have built a carbon footprinting management tool, takes a closer look.
Whilst software development isn’t the first thing that comes to mind when talking about carbon-intensive business operations, it is indeed responsible for a considerable amount of carbon emissions and it is therefore worth considering building a strategy to reduce those emissions. These emissions are attributed to building the operational app through its cloud providers (measured as emissions per gigabyte stored).
However, Zevero noted that the small amount of emissions produced through the creation of their platform was completely overshadowed by the tens of thousands of emissions their platform currently manages and the opportunities they have to scale reductions across entire industries. This is the impact of developing one “green” application.
With this in mind we have identified eight ways in which ourselves, and you, can reduce the carbon footprint associated with the development of applications:
One: Choosing the right hosting partner
By the year 2025 it is believed that data centres will account for 3.2% of all global carbon emissions (this is more than all airline emissions combined). It is therefore important to choose an eco-friendly hosting provider; one that makes use of renewable energy sources and/or has efficient data centres. A wide network of hosting partners is available for hosting services, so selecting a green partner is a great way to receive the technical support your application deserves, while still accounting for energy efficiency.
Two: Implement an efficient cache policy
It’s no stretch of the imagination to make the connection that caches use a lot of data, and thus a lot of energy resources. There are two ways to optimise your cache policy to ensure it operates efficiently. First, add support to all apps and APIs of If-Modified-Since header field with HTTP 304 Not Modified. Second, compress the data by making use of content delivery network services (CDN services). The new rule ensures that data will not be sent unnecessarily, while data compression reduces data usage.
Three: Optimise all support media
Re-evaluate all of your app’s resources to further minimise your carbon footprint. Start by clearing out unused metadata, media and images. Next, ensure all existing media and images are in vector or jpeg form. Alternatively, if media elements are non-vector, resize all items to the minimum-recommended size. Making these changes will get rid of excess weight and ensure that download times are optimised.
Four: Reduce data transferal
This tip is two-fold as it not only aids in your mission to reduce the carbon emissions of your application, but also improves the overall UX of your app by improving speed and reactivity. As previously mentioned, data is energy-intensive, so it is imperative to find ways to minimise data usage without compromising on UX. “Lazy loading” is the action of prioritising resources so that only those that are needed are downloaded for any given scenario.
Five: Declutter your app
Now, we’ve addressed the back-end by way of decluttering your app, but what about the front-end? Every feature added to an application adds more weight and increases the carbon emissions of the app. As per a report conducted by Standish Group, 45% of app features are used very little or not at all. Take the time to evaluate which features aren’t being used and remove them. The general rule of thumb is to reconsider keeping all features that are used by less than 5% of your users.
Six: Enforce energy efficiency
Mobile apps are known to drain a device’s battery, but these energy-intensive tools are also a burden on our carbon footprint. A good policy to implement is adapting the app’s behaviour based on the device’s power mode; effectively limiting background activity when the app is in low power mode. Examples of “background activity” could include location updates, Bluetooth and audio, amongst others. Battery life, speed, responsiveness and an “element of cool” all contribute to a great UX, as per the iOS App Energy Efficiency Guide, so your users will be sure to thank you for heeding this advice!
Seven: Optimise the use of location services
This rule is simple: don’t make use of location services when you don’t need them; location updates should only occur when absolutely necessary. It is completely understandable that developers require location information from time-to-time and to a certain degree of accuracy, but keep in mind that the more often this information is requested, and the more accurate the readings need to be, the higher the impact on your carbon emissions. Consider how regularly you truly require this information and to what degree of accuracy (will national rather than local suffice for your needs?).
Eight: Optimise the use of timers and notifications
Timers that run in the background and notifications that wake a device are all energy-intensive. Timers that are abandoned but not disabled further impact on energy usage. Consider if timers are the best solution for your mobile app, or if something like an application programming interface could work better. Our recommendation, on the topic of push notifications, is to make use of local and remote notifications. Local notifications are great for time-specific requirements, while the deferred delivery method for remote notifications ensures that the notifications are sent at a time that is most energy-efficient.
Our belief is that all mobile app developers should aim to produce green applications to the best degree possible. We’ve highlighted our guide to creating better-for-the-environment platforms that will not only help you to reduce your carbon footprint but optimise the UX at the same time. Selecting the right partners, implementing a few changes to the operational side of things and looking at simpler, cleaner displays all play a major role in mitigating the effects of carbon emissions on the planet. Blott.io invites you to paint your mobile apps “green”!
Reach out to the Blott.io Team to further discuss best practices regarding energy-efficient mobile app development or find out how we can implement our tips throughout the design process of your mobile application.