03 November 2011

Reimagining the File System

Yeah. This is going to be nerdy.


The Metaphor

It started with the Mac in 1984. In making the jump from the green-on-black blinking cursor to the graphical interface and the mouse, there was a disconnect that needed to be solved: how can abstract collections of bits by presented visualy? How can they be organized? Ultimately three basic paradigms evolved:

  1. The File: The human accessible “bit”; the container that data, whether a text document, an image, a song, etc., it’s a standard “currency” ofr digital stuff.
  2. The Folder: The central hub of organization was, more or less, the manila folder - iconic, infinitely hierarchical, and uniquely representative of a holder of “files”, especially in the early years when those files tended to be text or images only.
  3. The Application: The fundamental “doer” within the OS, which could operate on files, run standalone processes (like a calculator, or, later, an internet browser), it was representative of the things we have available at our disposal on our desk.

Now of course the metaphor didn’t correlate one-to-one with physicality; after all, no one in their right mind would keep something like a calculator, let alone a typewriter, in a manila folder. Likewise, folder hierarchies in the real-world were more likely to be found in containers, drawers, file cabinets, and the like, rather than a never-ending cascade of folders. And yet the concept more or less adequately suited the needs of the Mac user at the time.

Search Found

Of course the underlying impetus for this representational view of the interface, especially in the organizational paradigms, was that organization was essential for the efficient look-up, retrieval and use of files and applications. “search”, more often than not, was a much more literal term; if a program or file was misplaced, the only recourse was to visually search every dark causeway of the file system. The file system itself was also quite small - data was contained on floppy disks, a relic of an era remembered now only iconically, and perhaps ironically, in program “save” buttons.

Broken

And so this paradigm held for an extremely long time in the Mac OS interface; and, since Windows shamelessly copied everything about their system from one place or another, the metaphor lived on as well. Systems became more robust, programs became more rich and interactive, file types became more diversified and larger, and storage became extremely affordable; and yet this organizational ideology remained nearly entirely unchanged: scraps of accessible data, held in folders (or spewn across the desktop), with applications available to interface with them.

But as internet use becomes more and more ubiquitous, this paradigm becomes more or more convoluted, to the point of becoming a distraction, or even a disruption for the end-user. Files are redownloaded several, or even dozens, of times, because the first version can never be found. Important data is deleted, because it’s believed to be one of many multiples of a copy that in fact has, through attrition or forgetfulness, become the only remaining master. And while search has caught up with our strenuous data demands, organization remains frustrating and nearly impossible.

Association vs. Location

Fundamentally, the current analogy of the computer is location-based: my “stuff” is either in this folder or that one; and yet that distinction is entirely semantical, because those bits are still exactly the same whether they’re filed under “Documents” or “My Terrible Weblog Posts” - the hard drive does not care what naming convention you decide to hold to when organizing. And yet, if you want your data to reside in multiple places, say, in your Work Projects folder as well as in your Pictures it must be duplicated; there’s little way around it. And what’s worse, altering one has no effect on the other; they’re now in all sense of the words seperate entities that happen to display the same output. It makes no fundamental sense - if I want the same bits, why can’t I just group them in multiple places?

The solution is an easy one, I think – keep track of associations, not location. All applications are held centrally 1, so there is no question as to where I need to go to work on something. Files are just in a “soup”, where everything is organizable and viewable at a glance - though it would be an unpleasant experience to dive directly into this sea of data. Instead, the new “folder” becomes an ad-hoc grouping of files based on user-selected similarities – things like origin website, project data, lewd pictures of the queen, etc. – or system similarities like date added, type, author. The system would keep track of these associations to groups, determining how many times they are referenced, and where, withot the need to duplicate any data. If the user wants a duplicate, it would be simple to do; but there is no need to do so in order to group the same thing in multiple places. Associations could have their own hierarchical associations as well, just like folders.

Data would primarily be accessed by applications though, given the decreased reliance on the file system. And instead of hunting for data in the backwaters of umpteen different nested folders, applications would set subscriptions for the type of material they would be able to access, and display these files, arranged in the same ad-hoc maner, without the need to hunt and peck.

Data meant for the trash would likewise be incredibly easy to produce. Remove a file from a group, and the system would dereference the underlying data by one; drop to zero, and it would automatically make it’s way to the trash. Want to immediately delete the data itself? Not a problem – and more importantly, there would be no need to look for any possible extraneous copies because there just wouldn’t be any. Newly acquireddata would have it’s own inbox, waiting for some initial assignment, while the trash would just be a corral to glance through before sending unwanted files out to pasture.

The differences are slight, and subtle, and probably not worth really worrying over. And yet there is something broken with the current implementation; and these slight changes would go along way to vastly improving accessibility for a wide variety of users.


  1. Yes, I am aware that Windows does this by default and it’s one of the few things I like about the system; however, the subsequent hierarchy is all but impossible to fathom. ↩

No comments:

Post a Comment