Time to ditch the spatial Finder
In a fairly recent Ars Technica article, John Siracusa layed out in great detail his issues with the Mac OS X Finder, and argued that Apple needs to clean it up by restoring what he has termed “The Spatial Finder”. I could probably write a ten page thesis on this, but I’ll try to be relatively brief.
Basically, the spatial Finder (which was copied and has been pretty much retained by Windows) refers to the idea that the organization of folders, files and so on on the computer have a spatial relevance, just like files and folders in real life, so that people can always find them, and so forth. Siracusa goes on in his article to basically list a laundry list of potential enhancements to the Finder, and then tries ‘real hard’ to make them fit into his “spatial” paradigm.
Then, we hear today that Apple’s upcoming Panther release of OS X (presumably 10.3) will contain new, groundbreaking features, like “piles” (what an awful name), and so forth, that also relate to a spatial paradigm (like piles of papers on your desk), from patented Apple technologies, some of which are discussed here.
I have a problem with all of this: computers aren’t real life, and it’s time we ditched these stupid spatial metaphors, and allowed computers to advance in terms of cataloguing information to a point way beyond spatial limitations. Allow me to elaborate.
First of all, files, folders, and piles are an incredibly inefficient means of storing anything. It’s basically the best way there is to store papers, but the whole point of a computer is that, because there is no physical “paper”, we aren’t bound by the constraints of physical location. Yet, we imposed these “spatial” metaphors, as a way of easing people into computers, and now we have a situation similar to the QWERTY keyboard, where a whole army of computer users are incredibly inefficient, just because we started out a certain way because of weird limitations.
Whenever I work with new computer users, I realize that they can’t find their files. Do you know why they can’t find their files? I believe it is because they inherently know that they are using a tool without spatial constraints, but we are trying to artificially enforce this spatial metaphor where it doesn’t make sense. They will be like, “What do you mean ‘whare did I store it’? It’s all on the computer, right?” And, you know, we could learn a lot from these new computer users. Because yes, it’s all on the computer. It’s all in the same place.
So, I have a solution to the problem of OS X’s spatial Finder issues: we should drop the ’spatial’ altogether.
Now, to illustrate my point, I will use as an example Mac OS X’s system-wide Address Book. In the Address Book, you can create categories of users, in order to organize your contacts. So, say you have a category named “Co-Workers”, and another named “Friends”. You might use these groups to, say, print out mailing labels for a party you’re having, where you only want friends to come. So, say you’ve added Bob Jones inside your Co-Workers group. In Address Book, you can create a contact inside a group, but he doesn’t live there; it’s merely a label. So, say you and Bob go out for drinks after work, and you start to consider him a Friend. A close enough Friend that you want to invite him to your party. So, you drag his name from Co-Workers to Friends. Doing that doesn’t “move” him, it merely adds him to another category.
Another example is iTunes. In iTunes, all the MP3s you rip or drag in are added to a main “Library”, and you can create playlists. So, you can put a song in your “Rock” list, and in your “Driving in the Car” list, and in your “Stuff from High School” list. Doing that doesn’t move the original file; it merely adds new labels, or metadata, to the song.
I suggest that the Finder should be slowly replaced by a system that works like iTunes and the Address Book. In short, get rid of this whole “Folder” nonsense altogether.
I can imagine a system where you can create some logical hierarchy of how things are meaningful for you. Like, you might create a “Work” category, and under that different categories for clients, like “Client ABC” and so on. The system-wide open and save dialog boxes would be completely replaced, so that, when a file was saved, instead of saving it in a “location” (which is a bullshit concept anyway), you merely select one or more categories, and add them to your file. So, a letter to your client, Client ABC, would be placed in the Client ABC category.
Then, because Client ABC is a category under “Work”, it’s also automatically in the Work category, but with one degree of separation. Your Address Book contacts could be categories themselves, as well, so if Bob Jones, your Friend and Co-Worker, was working with you on the Client ABC account, you could make a relationship between Bob Jones and Client ABC, and then any file you directly categorized as Client ABC would be one degree away from Bob Jones as well.
Make sense?
Basically, it takes google’s search technology, and applies it to system-wide file storage. There would be no folders, only categories to which things are applied. And then, through the interrelation of categories, different files are shown in the display based on relevance as you’re browsing your topics.
Of course, lots about the system could change…when logging in, rather than always seeing your desktop, with the same old files, you could see your most recently and most often accessed categories, all there. So, when you’re working on the Client ABC account with Bob Jones a lot, that’s important to your life, and the files related with that ought to be prioritized. Then, over time, as you move on to Client XYZ, you would see the Client ABC category diminish in importance until it was no longer part of the “often used categories” display.
A system similar to this was included in the BeOS, although its implementation was more literally based on file metadata, rather than category hierarchies and as far as I know, it didn’t take it one step further, and include functionality similar to Six Degrees of Kevin Bacon, or google…but it should.