Three years and two weeks
On the numbers I won't quote, the one argument that doesn't need them, and whether this was pragmatism or opportunism.
Same list both times.
Third-party scripts nobody in the building could account for. Images going out at 4x the size they render at. Six font weights for a site that uses 2. A video autoplaying on the homepage, because somebody had paid for the video and it was going to be seen, dammit. I raised some version of that list every year for 3 years, and every year it was agreed with, sincerely, in a meeting, and then never scheduled, because it was competing against features and features win.
Last fall their new operations director asked me whether the website had a carbon footprint and whether we could make it smaller. Same list. Approved in 2 weeks, with a budget, out of a pot I hadn’t known existed 🙃
I’ve been sitting on this post ever since, because I still can’t decide how I feel about it.
Same list, new letterhead
There’s no separate discipline here. Reducing a site’s environmental impact means transferring fewer bytes, running less code, and making fewer requests, which is a list I’ve been writing on this blog since 2015 under the word “performance.”
What changes isn’t the work, it’s who you’re talking to. A performance argument is a technical argument. So it gets evaluated by people who think of it as my department, and it competes for the development budget against things you can point at in a screenshot. A sustainability argument connects to a commitment the business has already made out loud, increasingly one their own customers ask them about in procurement questionnaires. Different person, different alternatives, different pot.
It’s a bit like the landlord who ignores a repair for a year and then has somebody out the next morning the moment an inspector uses the word “hazard.” Nothing about the repair changed. The sentence found somebody who was in a position to act on it.
So no, I don’t think it’s a trick. It’s the same fact about the world reaching a different desk. To be honest, I’d still be lying if I said it felt clean.
Give or take an order of magnitude
If you’re going to borrow this argument, please get this part right, because the field has a credibility problem and it would be very easy to make it worse.
Estimating a web page’s carbon footprint is genuinely hard, and the published models disagree with each other by factors rather than by percentages. The per-gigabyte energy figures that get passed around come from studies with different system boundaries, different assumptions about network equipment, and different vintages of hardware, and the headline numbers have been revised down substantially over the years as the methodologies improved. Which is how this is supposed to go. It also means anyone still quoting the number they learned in 2015 is off by a multiple and doesn’t know it.
There’s a marginal versus average problem underneath all of it that most write-ups skip straight past. Most of the network’s energy use is roughly fixed. The router in the hallway and the base station down the street draw power whether or not your bytes go through them, so the saving from transferring 1 MB less is not 1 MB’s share of the network’s total draw. Treating it as though it were overstates the case, sometimes considerably.
It’s a little like figuring out your share of a plane’s fuel burn and concluding that staying home saves that much fuel. The plane went anyway.
So my rule is to use the calculators as a relative measure, before and after, same methodology both times, and never to quote an absolute figure as though it were established. “We cut the transfer per page view by 70%” is defensible and somebody can go check it. “This saves 400 kg of carbon a year” is a sentence I cannot defend and somebody will eventually ask me to. (And I say that as someone who would love to be able to quote the big number, because the big number is what gets the budget.)
The greenest phone is the one you already own
Here’s the argument I’ve come around to. It barely shows up in the writing about any of this.
The biggest environmental cost of a phone isn’t the electricity it uses over its life. It’s having been made. The mining, the fabrication, the shipping. Go and read any manufacturer’s own environmental report and production is most of the pie. It isn’t close.
Which means the single most environmentally significant property of a piece of software is whether it lets a device stay useful. A site that’s unusable on a 5-year-old mid-range Android is doing its own small part to get that phone replaced early. Multiply that across an industry that has spent 15 years quietly assuming everybody is on this year’s hardware, on wifi, in a city.
That argument leans on no contested per-gigabyte figure at all. It leans on a fact about manufacturing that nobody disputes. It lands on something I can actually go and measure, which is whether this page is usable on old hardware.
And it converges with everything else I already care about. The site that works on a cheap old phone is the accessible one, the fast one, the one that survives a bad connection out where the coverage is thin, and the one that still does something when the JavaScript never arrives. It’s the same site. I’ve been making 4 separate arguments for it for 9 years and every one of them has the same conclusion, which is either very reassuring or faintly embarrassing depending on the day.
Stop me if you’ve heard this one
The list, which will shock nobody who has read anything else here.
Third-party scripts, measured and then cut. Nearly always the single biggest win and the one with the least design impact, because half of them are doing nothing and nobody currently employed there knows why they’re on the page.
Images at the dimensions they actually render at, at a sane quality, in a format from this decade. Still the largest transfer category on most sites I open.
Fonts in fewer weights, self-hosted, subset.
Video never autoplayed, never used as a background, always behind a poster image and a play button. Video is by a distance the heaviest thing anybody puts on a page, and an autoplaying background loop is the most wasteful pattern in common use. I have never once seen one that earned its keep.
Caching set properly, so a returning visitor transfers almost nothing.
Then 2 that really only surface under this framing.
Hosting on renewable power, which is a real and checkable property and one of the very few items here that’s a procurement decision instead of an engineering one. Best ratio of impact to effort on the whole list, on account of somebody else doing the work.
And deleting things. A page that doesn’t exist has a footprint of 0. Most of the sites I audit have several hundred pages, of which maybe 80 get meaningful traffic, and pruning the rest is probably the most effective single item here. It is also, coincidentally, the thing I have been trying to get onto a scope of work since 2020.
Please recycle
Now the uncomfortable half.
A website’s footprint is small next to almost anything else a business does. For the client I’m describing it is a rounding error against their vehicle fleet. And there’s an obvious failure mode where a company with a serious problem somewhere else gets to publish a nice paragraph about their lightweight homepage, and the paragraph does the work of looking responsible.
Where does a useful framing turn into a cover story? I don’t know, and I notice that I’m not a neutral party, seeing as the framing is the thing that got me the budget.
I don’t think it makes the work pointless. The changes are real, they’re cheap, they make the site better on every other axis, and declining to do them because the framing might get misused is a strange kind of purity. It’s the same move I keep making, which is to say the counterargument out loud before somebody else has to.
Instead I’ve started being explicit in the report that this is one small item and not a claim about the organization. I’ll do the work. I’m not writing the paragraph.
By any means necessary
The honest version of my position is that I used an environmental argument to get approval for work I’d wanted done for 3 years for completely unrelated reasons. It worked, and I’d do it again next week.
Whether that’s pragmatism or opportunism depends on which day you ask me. I know, I know, the outcome is identical either way and the bytes don’t care what I was thinking about while I deleted them. It sits a little funny anyway.
I’d say for it that every change on that list is one I’d defend on its own merits under any of 5 different framings. I spent 9 years watching the first 4 lose. So when the fifth one turns out to be the one that moves money, I’m not going to get precious about which argument was allowed to work. I’d rather have the fast site and a slightly complicated feeling about how I got it.