From software bloat to world resource crisis

Soon her eye fell on a little glass box that was lying under the table: she opened it, and found in it a very small cake, on which the words “EAT ME” were beautifully marked in currants. “Well, I’ll eat it,” said Alice, “and if it makes me grow larger, I can reach the key; and if it makes me grow smaller, I can creep under the door: so either way I’ll get into the garden, and I don’t care which happens!”

– Lewis Carroll, Alice’s Adventures in Wonderland (1865)

As Alice, we wonder everyday whether or not each of our decisions will have any impact on the world. Especially, when they look so insignificant! We go to a little wonder shop around the corner, and buy shiny e-cakes that all ask to be devoured immediately… Unfortunately, as Alice soon learns during her adventures in Wonderland, there are always consequences to careless choices.

In a recent comment, following a great post on software life-cycle analysis, Olivier Philippot made four key observations that could help us better understand the consequences of our choices in the software industry. Here is my take on them:

  1. The ever-growing needs in computer resources of new versions of software products is the main cause of the accelerated obsolescence of computer hardware, leading to an exponential increase in the quantity of toxic e-waste.
  2. Therefore, it should be sufficient to progressively reduce the resource needs of new versions of software products to extend the effective lifespan of computer hardware.
  3. Software publishers know how to reduce the resource needs of their software products: first, they avoid piling up unnecessary software layers on top of one another, and second, they compile their code.
  4. However, many software publishers generally do not do it because developing quality software products makes less money than shipping poorly designed, hastily developed, resources-hungry bloatware. Of course, the benefit they make is a hidden cost for their customers, and hereafter the general public.

Let’s take an example: the PDF reader you use everyday. While delivering nearly the same user experience for twenty years, each new version of the well-known Adobe Reader becomes heavier on resources, whether Sumatra PDF, the brainchild of a small team of free software developers, is nearly achieving the features coverage of its illustrious competitor, but with a tiny footprint. Corporate responsibility, anyone?

Could it be possible to draw a path from this mundane software bloat problem to the world resource crisis? Among the many mottoes that make the Agile programmer‘s ethos, the YAGNI principle – « You ain’t gonna need it! » –  is maybe the most radical because it clearly states that bloat, this hallmark of our consumption society, which has been driving product design, technology, decision-making and society as a whole, for nearly a century, is suddenly threatening everything.

Maybe the time has come to drop our unnecessary weights, renounce our quantity-obsessed demeanour, and instead focus on simple, meaningful stuff that matters the most?

Maybe the time has come for light things, that respect us and the world we live in.