Hierarchy Doesn’t Scale
Sun, November 11, 2002
I was just chatting with a friend of mine and he said that he really wanted to write a namespace extension so that he could expose a hierarchy of data in the shell. Back when namespace extensions were introduced with Win95, I thought that everything could be integrated into the shell, making the shell the last application. Sometime in the last seven years, I’ve come to hate that idea. As a hardcore computer geek, I’ve embraced the hierarchy organizational styles in three major applications:
- Email folders (I keep things filed in a multi-level hierarchy and use my Inbox as a to do list)
- The file system (I keep things filed in a multi-level hierarchy and use my Desktop as a to do list)
- Free-form outline program (I keep things filed in a multi-level hierarchy and use a file called todo.txt as a to do list)
As anal as I am about arranging and categorizing things into their various hierarchies (and as many places as I’ve spread my to do list to, apparently), the hierarchy only helps me about 50% of the time. I spend just as much time searching for things as I do going right to where it “should” be.
The hierarchy used to be lots more helpful, but as the data I keep around grows over the years, it becomes less and less possible to remember where something really “belongs” and to find it there. In fact, I’ve come to believe that a hierarchy is a terrible way to keep data organized at all. A hierarchy is really just a way to associate key words (called “folder” names) with hunks of data (called “files”) and then only showing them in a very limited way. Searching is a possibility, but it either takes a long time (because file indexing is turned off) or it misses files (because file indexing is turned on — what’s with that, anyway?). Searching creates an ad hoc logical folder, but there’s no way in the shell to create a permanent logical folder with custom content.
The basic hierarchy structure is easy to understand, but things become much more powerful if I can keep one hunk of data in multiple locations. Some versions of the Windows file system support this , but the shell doesn’t (although it can be simulated with shortcuts). Also, the same kind of “pivot table” capability that Excel provides, mixed with a much faster, more flexibly searching capability of a database, is much closer to what I’m after. Hopefully Longhorn will provide something like this.
Also, being able to search all three of my hierarchical data sources at the same time would be pretty damn useful, but one thing at a time…