Thursday, October 15
Circling back to thoughts I had a while ago, it sure is depressing how much the actual technology of the database is invisible to the general population.
Everybody talks about scale. (Me included.) You know what? Fuck scale. Scale the way it gets meant in software and networks might be as bad as the Empire State Plaza as an architectural ideal. Nobody wants to live in a landscape of fascist concrete spaceships. Normal humans mostly don’t want to spend their days smack in the middle of Times Square either. These places might be a living for a few, but they’re not exactly a solid material and spiritual foundation for a thriving and humane civilization. You need fields and neighborhoods and places where things are quietly growing.
Here’s what I’d like in a database technology: The kind of scale it should primarily worry about isn’t the scale of running a single web app or social network silo with a massive userbase. Not corporate scale. Instead, it should “scale” to the level of widespread use by individuals and small organizations, at about the level of a tool like spreadsheets, except with the available guarantees and structural rigor that are so specifically lacking from passing around files full of arbitrarily input row-based data.
And by this I don’t mean that the thing in question should be a single-provider closed-source service running on other people’s computers. That’s 90% of the problem in the first place. Not that I’m claiming I know how to make it available otherwise. I think what I’m asking for is a modality for exchanging and accessing data that affords users a bunch of strong abstractions without enmeshing them in all the hard details of service configuration and messing around with files. And most of the ways we know how to do that kind of thing involve corporate scale and other people’s computers.
As an example, the technology of files is still available to most users, even though the BigCorp tech world is trying to hide it from non-developers, and seems likely to succeed once everyone uses iOS/Android-style clients where the app silo is the whole paradigm. Still, it’s taking a long time to get there.
So why are files resistant to total erasure from the user experience, despite so much effort to supplant them and so much disdain from the Ted Nelson wing of computer intellectualism? It’s not just that they’re a fundamental abstraction for building systems at this point, is it?
Maybe a big part of it is that filesystems with roughly equivalent semantics got built into all of the now-major operating system families so early in the history. No really equivalent thing happened for databases. (People with experience in the mainframe world might quibble, but that world was always about corporate scale.) And it’s kind of like you might need that level of support (at the baseline of the system in every common end-user OS) for the tech to be both user-accessible and not instantly susceptible to centralization of control.
Which is sort of a problem, since it would run directly counter to the perceived interests of most corporations with the resources to make decisions about end-user operating systems these days.
I’m probably thinking about this all wrong.