Computational material and digital heirlooms
Since my previous post on digital heirlooms and my own concerns about archiving I’ve been thinking more about what the difference between physical and digital heirlooms even is.
I realized that a big part of it is that physical heirlooms don’t represent the most complex devices, but they’re generally things with well-defined parts & structure, with understood routines for maintenance. If the hinge on a box starts to break, we know what to do about it. These things are concrete, discrete, understandable, and importantly very rarely need to be done.
The same durability can even be true of a lot of devices that are electronic, but not computational. I recently watched a Technology Connections video on electric fans and their construction and the host shows that he has a century old that’s still working fine. Their maintenance also seems a lot more feasible that computational devices: replacing a blown capacitor, for example, is something that you can do with a soldering iron and a short tutorial.
I know I’m being somewhat general and there are of course going to be exceptions, but the generalities are still interesting.
Computational materials are much more fragile, by default, and I don’t think they have to be. Upgrades to operating systems can break software. Not upgrading can make it vulnerable as a target. If something breaks because the software hits an untested condition, it’s not going to be obvious what’s gone wrong. If there’s an external service the device depends on then any changes to the service can break it.
The reason why I’m saying “computational material” is both because I’m trying to distinguish things that are computer-like from simple electronics but also because I think they’re just very different kinds of things.
Computational material is always more general, more configurable, than a physical or electronic device. It’s less like a finished, manufactured thing, and more like modeling clay that can be shaped for a purpose but doesn’t necessarily stay set. A computer stays a computer even when you fix it to a specific purpose, is what I mean.
Should it, though?
What about creating things like digital heirlooms where the computational material can be set and unset. What would it mean to be “set”? It would have to mean the configuration was made rigid, the software stack simplified, and the interface self-contained. It would have to mean that failures could be well-understood and corrected without a “debugging” process as we normally think of it.
I’m picturing an end-result that’s a lot more like embedded software, but only after being “set”. In other words, no operating system, no ability to install or run new software, and no flexibility. Of course, if updates or reconfiguration needs to be done that can be a part of an “unsetting” process that boots it up into a full operating system again and not the simplified runtime.
Does this guarantee longevity? No, but I think such an approach might at least make it easier for a digital heirloom to exist.