Fixing, or killing, the filesystem

The filesystem sucks. It’s too complicated for the “average user,” and it’s too complicated for me: I have crap all over my computer and not a clue where, or what, much of it is.

Actually, I think it turns out that I don’t use it, or need it, as much as I think I do. Let’s see, here are the apps in my Dock. Which ones use the filesystem as part of their “user experience”?

Where I’ve said “Nope,” I’m referring to applications which could work just as well with some kind of futuristic soupy object database as their storage; I don’t care how much they use the filesystem under-the-hood in their current implementation.

Important properties

What are the important properties of a data-management interface that could replace the filesystem?

Beyond this, there are some more technical concerns:

Filesystems vs. databases

The filesystem can be used as a lightweight, fairly reliable database system. The filesystem is really a database: well-deployed and as a consequence highly robust. But it wasn't designed for being used as a subset of SQLite, say.Any reforms to the filesystem would probably scale it up to be a more considerable database. Files having "aspects" would have to be handled in a relational way. Increased complexity means increased fragility, but starting from scratch also allows us to take into account modern requirements.

What would a filesystem look like if you scaled it up from a cdb or redis base, using CouchDB or other no-sql techniques?

This gives me another idea: saved searches, somehow, in the way that CouchDB does them with views. When you make a new file or make a change to a file, it’s asynchronously indexed in each of your saved searches, if it matches them.

Summary

Some files need to be grouped to work with unix tools. This might be a largely tradition-led way of doing things, but there are still some obvious conveniences, and the design has lasted. But most files don't need to be grouped in any filesystem-like way. They can be stored with metadata and essentially "lost" to the user from a hierarchical perspective.

An experiment you can try at home: don't use the filesystem. Some laptops are predicated on this idea, of course, but their idea is that you use a walled cloud instead. But what if you don't save files at all? Is that possible? Experimental evidence suggests that it isn't possible, but that power users probably archive more than they need to because of the library problem. A library holds many books, but only a few are consulted. Since it's impossible to know in advance which books need to be consulted, a library has to hold many books. Similarly if you don't know which of your files you're going to need to look at in future, you had better save all of them. Because disk space is cheap, there's no reason why you shouldn't do so; except that it creates a bit of a clutter. But then, as William Loughborough said, the clutter is inherent to the organism!