3 ms·
Without directly answering my own question, I'll share my thinking about its potential design requirements. I think it should be "inhabitable" as in, people sh
by gabesullice 3y ago
Without directly answering my own question, I'll share my thinking about its potential design requirements.
I think it should be "inhabitable" as in, people should be able to have experiences (plural) while using the software, not merely have an experience of the software. The Mona Lisa is not inhabitable, the Pantheon is. Digitally, this could mean something vastly different, such as a MMORPG vs. a site like an Facebook, Twitter, or Reddit. Both are "inhabitable". Google Search is not very inhabitable.
I think it should be practically "unbounded" as in, it shouldn't have a fixed limit on the number of users. It should only be limited by the computational resources that are allocated to it. IPv4 is bounded, IPv6 is not. For example, a chatroom shouldn't be arbitrarily limited to 1000 participants. However, it'd be acceptable if the operator can only afford enough machines to handle X number of connections, so long as if those resources were increased, the software's capacity would increase linearly (or better).
This one is counterintuitive to most software designers, but I think its implementation should be spectacularly visible to its users. By analogy, its columns and arches should be on display, as opposed to having its wooden frame covered in sheetrock and paint. I think there's plenty of room for artistic interpretation on this requirement though. For example, a webpage might use gradients to highlight its margins and paddings, or the portals in something like a MUD server could directly correspond to server port numbers.
To ensure that the monument couldn't be cheaply imitated, I think the "problem" it solves would need to be of a scope and scale that it's evident that no single person could learn/master the techniques used to craft the software in one lifetime, under normal circumstances. For example, it would be extraordinary for someone to master the techniques needed to build a massively distributed, networked system and also master the art of building high-performance game engines over the course of a single career. Maybe possible, but definitely extraordinary. So if the "problem" solved by the software required masters from many disciplines, the project would be very difficult to immitate.
Finally, another potentially counterculture requirement: the monument would need a spec sheet. It must have a point where it can be declared complete, where new features are rejected because doing so would change its nature. Maintenance would be acceptable. For example, upgrading it to run on newer architectures would be fine. It shouldn't necessarily need to be run in an emulator to be preserved. But it shouldn't be an ongoing, open-source project that gets features added and removed. It should be able to be experienced "as it was" to the furthest practical extent. By analogy, cathedrals have electric lighting nowadays, but we don't say "we could make this cathedral's towers twice as tall if we were to rebuild it with steel."