When All You Have Is Hierarchy...

I end up thinking about ways to multi-sort computer files because I have tried to sort my own files, and bumped up against the limitations of 2-D hierarchical sorting.

Existing 2-D Approach

The way I’m describing it is over-simplified, so sorry if I am boring the wizards out there. In Linux you have inodes, hard links, and files in more than one place at a time. That makes it not strictly 2-D and not strictly a tree. But the main user experience is putting files into a hierarchical tree.

The dominant paradigm in the computer world for organizing files is a two-dimensional tree structure. You have a directory which can contain files, and also other directories. This simple mechanism will let you build up a complicated nested tree of files.

Directories containing other directories is such a simple mechanism, yet it lets you easily build up a complex hierarchy. This approach is simple, yet we have gotten a lot of mileage out of it.

...Everything Looks Hierarchical

Let’s create a hierarchy, shall we?

When you are given a simple, branching hierarchy in which to store your files, it affects how you see your files. It changes the way your mind works in respect to your files. You look at your files and think:

“I need to divide up all my files into a hierarchy. What is the most clever hierarchy I can think of?”

Where Does The Hierarchy Come From?

If a nested hierarchy is dominant in our understanding of how to sort computer files, where does it come from? Who is the “enforcer” who makes us use this system?

When you look at your files on a hard drive platter, or in flash memory, they are not stored in a hierarchy. They are just blocks of data here and there.

The hierarchy of folders within folders is essentially a useful paradigm that is created by the filesystem and operating system. You could theoretically replace this paradigm with one that is even more useful.