June 18, 2004

Hyper-Spatial Kvetching

All right; I admit it. I'm to blame. Dave Camp came to see me several months ago on one of his frequent, death-metal-fuelled wanderings around the office (he claims that this is how and when he thinks, but most of us think he needs to walk while listening to that stuff or he'll involuntarily punch out his flatpanel one day). At any rate, he solicited my opinion on the upcoming redesign of the Nautilus File Manager.

Fine, so he didn't ask me how it should look, or how it should act. He did, however, if my flaky memory serves, ask me about my preferences regarding file management and the various philosophies then available. I told him that as far as I was concerned, Mac OS 9's Finder was the then- acme of filesystem management. He nodded, indicated in a particular grunting sort of Dave Camp way that he'd heard this particular opinion before, and told me that while that was interesting, he'd really like to know why I felt this way.

Poor boy.

So, despite the fact that he is without a doubt much more educated about, informed on, experienced with and generally understanding of this topic than I, I plunked him down in a chair in the Ops Pit and fired up a Blue and White Macintosh G3 with which to demonstrate my upcoming argument. I told him about a great many things, in poorly-chosen words, but probably the most important single thing I told him was this:

In the Macintosh Finder, the objects you see are not representations of objects on your filesystem. They are the objects on your filesystem.

This is no doubt going to cause all manner of howls from many of my nonexistent readers, but let me try to explain myself better. The problem I had and have with what I have since learned is called the browser model of file management is that what the user is seeing is a loose representation of the truth. The user can 'break' the relationship between the viewed object and the file or data represented fairly easily, in a number of ways. For example, the simplest way to break the relationship in the Windows explorer is to bring up another window, browse the same directory as the first window, and delete something from within it. It won't go away in the first window until that window has a reason to refresh.

This is wrong to me, because it makes the following demands on the user. It requires the user (as opposed to the computer - or software, really) to maintain state information in his or her head, or at the very least, perform an action (window refresh) to be 'sure' that what he or she is seeing is the 'current truth.' Bzzzt. That's not what I want. I don't want my file manager to be a tool that shows me most of the state of my filesystem, or a mostly current state. I don't want to have to remember for myself which window is my active working one; I don't want to have to clutter up my working brain with metadata like this which the computer can and should remember for me.

I prefer what I have since learned is called the spatial model or object model depending on if you work for Ars, in which the metaphor of physicality is extended as far as is practically possible inside the file manager. Not necessarily the aspects of physicality such as relative size, or mass, or smell (heh). The important bits, though - relative position of the object to other objects and directories on the filesystem, and the inability of a physical object to exist in two places at once. This latter is key for the easy and secure manipulation of files without having to maintain state information in ones head.

I showed Dave how the Finder will rigorously enforce the one-to-one rule - one object gets one view. A folder on the hard drive can only be viewed in one open window at once. If you double click on the folder again, rather than open an additional window displaying its contents, the Finder will 'promote' the existing window view - moving it to the front, or enlarging/unhiding it if it has been parked somewhere for convenience. There is no way in the Finder to trip oneself up by having 'ghosts' of objects hanging around after operations - at least, assuming things are working and there is no corruption.

This does not mean, as some who have yelled at me for this preference seem to think, that there *must* be a bazillion open windows after the user has browsed down several levels into the filesystem. Nope. The default behavior in the Finder, in fact, is to be parsimonious about opening new windows at all; double-clicking an object should, in fact, open up a view of its contents inside the existing window, such that the window is essentially 'replaced' by a window showing the new information. At that point, double-clicking the original object can and should bring up a new window, because doing so does not violate the singularity rule - there is still only one view of that object's first level visible (by object, I mean anything with contents - volumes, folders, files with Finder previews, etc. etc.)

Anyway. There are several excellent discussions and articles online that do a much better job than I of explaining this and setting out normative battle lines. John Siracusa at Ars Technica has a much more detailed, logical, sensible and just plain correct opinion piece on why the Mac OS X Finder sucks, which makes much the same argument. The GNOME and Nautilus crew had some lively discussions about it too.

In any case, I then performed all manner of unfair acts designed to take advantage of my own, superior, privileged position. I gave Dave a Mac to play with. I continued to fire incoherent opinion pieces at him by mail. I bought him beer, which was perhaps the most effective. I threatened his net access and his hard drive, since I was and am his sysadmin. In short, I abused every possible avenue to ensure that we would have at least one sensible file-management app out there, since Avie Tevanian and the rest of the NeXTies seem to have finally taken over Apple to the point where Steve Jobs' insane love for brushed metal and 'simplicity' seems to be more than enough reason to do things like, I dunno, lay off the entire Human Interface Guideline group and knife their baby by putting a craptastically 'browser model' Finder into Mac OS X - extending it past the outpost of shitty that Microsoft had staked out by including the NeXT 'columns' view. I don't know about you, but when I'm forced to use that thing I have these awful feelings that I'm being shown a bunch of paper lists with the pages overlapping and being told I'm looking at a marvelous new paradigm in information management.

OK, I'm done. Really. Posted by jbz at June 18, 2004 1:44 AM | TrackBack

Post a comment

Remember personal info?