Category: Digital sobriety

Ethical and responsible Developer’s Week

Reading Time: 4 minutes

Software is everywhere. Because yes, software impacts directly our daily life: uberization, digitalization… but let’s stop the “buzzword-ization” right here. We, developers, are the architects of a virtual world serving real life. Our work has an impact on companies and life. If we accept to be credited for the numerous benefits realized, then let’s be honest and also recognize the drawbacks.

Social exclusion, diverse impacts on the environment, digital gap… all of these are real effects caused by the software we produce.

But do we really have the choice when facing the clients, the demand and the typical constraints such as cost and deadline? Can we code any differently?
Well, the answer is yes! And this is the choice made by numerous companies and individual developers: volunteering project such as Code for America eco-design of public software… Being an ethical and green developer is possible but how can we do so, in a very practical way?

Monday: (Re)think software impact

Monday is usually planning poker day, we discuss past events and upcoming tasks. A sustainable software is above all an environment and man friendly software. The beginning of the week is the perfect time to rethink the functionalities you are about to develop. Are they all useful and necessary? Will your choice of ergonomics exclude part of the population? Are you going to integrate elements going against users’ interests (tracking…)? It is the right time to discuss it with your client or the product owner. But don’t you worry, ethics and responsibility are pretty contagious.

Tuesday: Switch to « slow connection » mode

Nope, sorry, you cannot stay in your ivory tower with a fiber and 4G connection. Many users don’t have access to a 4G coverage (rural places, developing countries…). Your application or web site might be completely unreadable with a 2G connection? It is super easy to check: switch your phone in 2G and browse through your website. Spend the day like this and you may have empathy for the nomad user located in Northern Montana.

Wednesday: Switch to low-tech

Happy to be back with a good connection? But did you realize your users don’t necessarily own the latest up to date smartphones, like a Galaxy S28 or the iPhone 15? You develop on a killer platform and emulator so, of course, it’s fast. Here’s another mini challenge: let’s switch to “low tech” mode for the day! Choose a smartphone that has less than 2 CPUs, borrow the intern’s PC to browse through your site… Chroma development tools are pretty helpful too. You can emulate a visit from a single CPU. If you lighten your app as a next step then, not only you will get furthermore potential users, but will also avoid nourishing the need of others to replace their hardware “just because” their equipment is too slow. Yup, obsolescence isn’t (only) created by manufacturers.

Thursday: Lose your senses

Chances are you are a super-developer with your 5 senses working in full force; so imagine losing one, or more, of those precious senses. Use a screen reader, close your eyes and listen to your site… Not easy, huh? Accessibility is very important, if you don’t pay attention to it you end up excluding part of the population. At the end of the day, you will probably want to implement a few additional accessibility rules. Here’s a useful reference: Accessiweb.

Friday: Don’t send to prod directly, measure energy consumption first

First off, never send to prod on a Friday (if you’re ever in doubt, check here. So you might as well just do some double checking. By now, your actions probably reduced your application’s overall impact on the environment. In order to be sure and avoid future mistakes, you need to M.E.A.S.U.R.E. Yes, measure! No matter if you think resources consumption aren’t a real issue and it’ll be just fine “‘cause you were careful”… well, guess what? Intuition isn’t enough in this case. Now, your users, know that they do watch very closely their battery percentage and data consumption. After all, as any good performance-addict would do, if you focus on display speed, you might miss the energy-reduction opportunity, that could be easily done… You could even increase the level of consumption which, really, isn’t a good idea. So, 1) Measure, then 2) Act.

Saturday: Git pull request – the good word

Coding is life, so on weekends you work on open source side projects. Why not trying to discuss implementation of improvements you would have learnt this week with the rest of the community? Open source being a favorable environment for these best practices.

Sunday: Be responsible – and a proud one!

Usually, in typical family dinners, you “that works in IT” are asked to solve Uncle Bob’s printer issues. Because, no, they still don’t get what you do as a job. For their defense though, when you tried to explain Aunt Lucy how awesome the newest Angular 2 features were, you kinda ruined the vibe.

But this time it’s different, we promise. This week that just went by changed something. Today, you can proudly tell what you did, what it changed, how beneficial it is and how good it will be for the environment and the society. This time, I can assure you your folks’ faces will light up and you might find in their approving looks the appearance of a true respect and understanding of your job of developer, that you now proudly practice and assume. The week after will be different though!

Software eco-design : towards a Happy Sobriety in the Digital world

Reading Time: 6 minutes

Digital is booming ! We consume more and more services and information in digital formats, whenever and wherever we feel like it. These services and contents keep getting bigger in number and in size. This omnipresence leads to a sharp increase of resources consumption in datacenters; however, the effects are even more significant in all deployed products such as laptops, tablets, smartphones, internet boxes, connected objects, Dresde University estimated that, by 2030, the Internet as a whole would consume as much energy as the whole humanity in 2008!

The most striking digital evolutions are both the amount of data we produce then store every single minute, and also the hardware miniaturization allowing an easy access to information and services. To be able to do that, we are constantly in need of an increasing intelligence embedded in hardware that keeps getting smaller. Such changes are doable only if we have recourse to new optimizations : components, batteries, datacenter cooling… and now software! Because natural entropy of the software is an actual thing and we even have a name for it: « BLOATWARE » !

The « bloatware» phenomenon

Nowadays, developers are not taught to watch used resources anymore ; not in school, nor in companies. As a main goal, developer teams aim at delivering expected functionalities in a predefined timing (which is good enough!). In order to be productive, we put together, integrate and then reuse existing libraries. When dealing with slow software, we always end up increasing the material strength to counterbalance the lack of software efficiency… Unfortunately nothing is measured throughout the whole development cycle, which would, at least, allow to react early enough and prevent correcting costs from being too high, hence be prohibitive. This tangible addition is possible at the expense of autonomy, ecology and common sense after all.
Some might even say this is a form of relocation for the digital world; when investing locally in software efficiency leads to cost reductions of hardware produced on the other side of the world, in social, sanitary and environmental conditions that are not always decent.

The Code Vert project was born !

As a company dedicated to a more respectful and virtuous digital environment, we had an intuition : by applying eco-design principles to the software “manufacturing” process, it should be possible to lower energy and resource consumption when the software is being used. However, this intuition had to be verified, and that’s what we did in the context of « Code Vert ».

This project, launched in 2012, lasted 30 months. Thanks to this, we validated gains resulting from a better use of coding instructions in an IT program (good «green» patterns or « Green Patterns»). In addition to that, we also were able to have a better overview of what our solution, GREENSPECTOR would look like, the goal being to accompany developers in their practical software eco-design implementation. Since then, we enriched the tool with power consumption measurement functionalities, which allows developers to see real gains (nothing like monitoring progresses to measure results!), thus going further than just the « theoretical » application of a good pattern; but it also allows detecting overconsumption, which would be impossible to see by simply analyzing the source code

Companies commitment to software eco-design

What is the point for a company to engage in this software sobriety path? Examples are multiplying lately and, soon enough, digital eco-design will be fully integrated in good work habits of all development teams. Would Facebook have figured out its viable business model a couple years ago, if it hadn’t divided its servers’ power consumption by two, thanks to the implementation of a software optimization strategy, preventing them from having to build a new datacenter?

More recently, Facebook launched its mobile application Facebook Light, intended for emerging markets thanks to reduction of both exchanged data volume and consumed energy (hence battery life). Now around us, we are starting to see digital eco-responsibility criteria in digital calls for tender issued by major French companies, or even good patterns reference document.

Software eco-design stakes and gains

In a world where moderating wisely mobile use is not an option (it might change one day, who knows?), this process answers a pressing demand from the end consumer we all are : the battery life of our mobile hardware, embedded, connected etc that follow us everywhere ! Indeed, autonomy is one of the main criteria when it comes to choosing a smartphone model. In early 2017, most mobile manufacturers were claiming that their focus was to develop the best battery life on the market for their latest smartphone. The user’s interest here doesn’t lie in making money, but in mobility, productivity, usability… overall to get a better user experience. Software optimization then becomes an essential part of the cog in the manufacturer’s autonomy quest, at least for the ones who want to grow their market shares.

Other gains can be even more interesting, particularly in the field of connected objects. Software eco-design allows a reduction in maintenance frequency, but also an increase in life cycle of deployed products (sometimes greedy for rare resources), even with a higher level of service. The first service we can offer in this IoT domain is to provide the object’s power consumption profile, based on actual use (not manufacturer’s data, when they’re even available…) to integrate it very practically in the solution’s economic model. This process has to include resources measurement (energy, data, memory…) while it’s actually functioning. In the end, no matter what the motives are, we are aiming at making it at least as performing for the user, for a lower exploitation cost, while controlling the stress from energy and resources needs – too often not renewable enough.

For those who don’t have visible or substantial gains in spite of the potential costs of implementing this eco-design, you can try and comply with an online good Green pattern reference so you can, at least for now, communicate on exemplarity and encourage this « eco-system ». Nantes Métropole was the first collectivity to get its website dedicated to energy transition labeled so it could publicly communicate on its interests in this eco-responsibility process applied to the websites.

Good patterns in terms of software eco-design !

How did we manage to set the good pattern bases in design and development efficiency? As part of Web Energy Archive, the Green Code Lab organization measured the power consumption of over 700 websites. What came out is a correlation between the resources consumption and the website’ complexity (scripts, number of requests in a page…). Other points were noted, which allowed to demonstrate that, on average, the consumption of a page in a minimized tab (non-displayed on the screen, hence no interaction), represents about 1 Watt of power on a workstation that doesn’t even display the page (so it doesn’t include consumption of requests sent to servers and supplying the network with traffic!). Avoiding such useless consumption is pretty easy to realize, you can just ask the developer to plan a data processing termination whenever the user isn’t looking at the browser tab.

In 2017, over 50% of web info and services are accessed on a mobile phone, under constraints of service, smartphones’ battery, limited data depending on phone plan… All reasons for a web content editor to be interested in this subject and watch its pages otherwise there is a threat of losing audience and consumers that are looking for instantaneousness.
Companies are slowly starting to integrate this process in their software factory, with interesting gains they forgot the past years. In « digital factory » or « mobile factory », the main stake is not to miss the digital transformation of organization, by providing a flawless user experience, (understand here mobility performance and productivity) key aspects in a project success.

Conclusion

Let’s fantasize a bit. Wouldn’t it be possible to take this logic further, and try to « save the planet » from the danger the digital evolution has generated ? This would give developers a new meaning and purpose to their job, they could finally find a way to intervene practically at their own level to limit their production’s ecological impact, thanks to their daily tasks. A way to avoid “throwing up” code with no responsibilities nor morals, and add value to the job?

It is true that revising an organization’s aplication portfolio in order to realize a retro eco-design doesn’t necessarily makes sense from an economicla point of view in the short-term. But digitalization is just starting, chapters that remain to be written are far more numerous than the ones already published. Let’s bet companies won’t have the choice but integrate this new frugal dimension in order to be competitive in a world with scarce resources. Like Pierre Rabhi describes furthermore in his book, we are heading towards a « Happy » Sobriety in the Digital world!

Are the French presidential election candidates ruining your smartphones with their websites ?

Reading Time: 3 minutes

First of all, let us precise that we are in no way telling you who to vote for. By using a hot topic in the news the aim is to sensitize a majority of people to numerical consumption and means to act on a media that is used more and more every single day, hence that has a growing impact on our world in terms of energy and resources consumption. First round of the French presidential elections is coming up this weekend so it was the right time for us to measure the energy consumption and impact on battery life of the 11 candidates’ websites..

Continue reading “Are the French presidential election candidates ruining your smartphones with their websites ?”