Bloated software & the degradation of devices: a social and ecological problem
We’re back with another short post about the relationship between our technology, heirlooms, and what we need from our devices.
To start, I have an old iPad 2. It’s only barely usable at this point, useful for only very minimal web browsing and reading PDFs. It was upgraded from OS version to new OS version until it slowed to a crawl, bloated with new versions of software that all continued to take up more space and require more resources.
It’s strange, right? Much of the software we use is actually very old in nature: word processors, compilers, web browsers, &c. Much of their functionality is basically the same now as ten or even twenty years ago. We know things don’t have to be this bloated. If you try using a single-board computer like a raspberry pi0 you’ll find that it is usable as a daily driver for most things: programming, writing, watching media, or playing video games.
Now, is it as good of an experience as a modern machine? No, of course not. My point isn’t that there’s no point to advances in computing power or storage but rather that I think our devices don’t have to derade the ways they do over time.
Constrained devices like tablets & phones are some of the worst offenders because we have no ability to choose what goes on them—not in the same way I have with, say, a twelve year old netbook that I can install a 32-bit low-powered Linux on. You’re at the mercy of a relatively closed eco-system and limited range of software that you can install.
Of course, the situation on desktops still isn’t great. You have to be careful in how you get old hardware to work, like the Raspberry Pi OS does. One of the problems here is, again, everything grows in scope and features in these bloated ways that, well, don’t actually make sense to me. I know that we want software to always do more over time, but I don’t think that always has to come at the price of more resources. Emacs has, of course, gotten bigger over time as well but in terms of resource usage an instance of Emacs in the terminal still can take only a dozen or so MBs of RAM. That’s a much slower curve than most software has had over the past few decades.
Why do I care about this, though? Is it just to be a grump? I mean, yes, partly I’m a cantankerous but also I’m still concerned about issues like longevity of devices, the viability of digital heirlooms, and what it will take to archive and simulate older systems. I also think this is an ecological issue. If computational systems continue to grow they’ll be taking up a very non-trivial amount of our electricity needs. If software continues to make older hardware obsolete then we’ll have to ramp up our mining of rare metals to meet demand.
I’m not comfortable with the idea that our computational needs will continue to grow, at least not at the pace they have been. I’d rather see more devices that are like the mobile equivalent of an rpi0: small, limited, but capable of doing all the things we need anyway if we can get software that will cooperate.
I find the overall concept of Collapse OS to be a bit, well, weird & unrealistic for plenty of reasons but I deeply respect the goal: how can we have a minimal system capable of doing a lot of what we need that could run in incredibly limited contexts, e.g. a z80 processor.
What do I want, then? Should I start limiting myself to devices like an rpi4 as my main desktop? Should I try to write minimalistic software myself that can run on very old devices? Should I refuse to replace devices until they’re truly broken and when official support degrades jailbreak them instead? Maybe.
But I think there are larger structural issues here that I don’t actually know how to address beyond noting them.