Spatial Nautilus: A Postmortem
File management is a rather unsexy subject these days, with the explosion of smartphone interfaces onto the scene in the late 2000s rendering the very concept of files a mystery for a large portion of the computer-using public. Even in "proper" desktop computing, files have lost their first class status in the UI across the board; just how much "file management" is done by piling everything up into one's Downloads folder and using search to find the thing one needs at a given time? Or through a huge monolithic app's save/open dialog? The thing is, navigating a filesystem hierarchy is something that most users don't want to do, which is why these mechanisms are so popular, as is the evergreen concept of the Desktop. No hierarchies there; just big ol' icons that say the thing that they are.
Apple recognized the complexities of managing lots of files when designing the Lisa, and then the Macintosh. They were no doubt inspired by Xerox's seminal work in the graphical user interface at large, but many of the concepts within Apple's GUIs were indeed invented whole-cloth, owing much in particular to Bill Atkinson. The Macintosh introduced its desktop, in which a user can place files and folders wherever they wished in whatever organization preference they had, so to have a definite visual model of "where your files are." As mentioned, it's an element of UI that persists in most environments now. But they didn't stop at the desktop; whenever you opened a folder there, you didn't get a two panel list of files or a tree model or anything of the sort.
Instead, you got...another desktop. This time it's in a window, with an infinitely scrolling canvas, but it's unmistakably something that works the same way as the desktop. You can move icons wherever you want, and they'll stay there until you move them again, even if you close the folder and re-open it, even if you shut the computer down and restart it. Everything's where, and how, you left it. If you resized a folder's window and placed it somewhere on the screen, that's exactly where it'll be next time you open it. If you asked for a list view of a specific folder, it's that specific folder that will be forever displayed as a list, until you yourself tell it to show the icons again. There was nothing that generically displayed the contents of a folder, nor one's place in the directory hierarchy; there just wasn't a way to open two of the same folder. There was a strong, one-to-one relationship between the windows and icons on the screen and the data on the disk, brought on by such rigorous consistency and coherency. It's this paradigm that was retroactively labeled "spatial file management." Your files and folders were simply inside of your computer and you can put them wherever and however you want and they'll stay that way; just click and drag.
The filesystem of the classic Mac OS too was built to defeat the vagaries of directory hierarchies. A given file or folder's "path" was merely another piece of metadata; many apps were self-contained single icons that could be moved around with impunity, and they'd still work just fine. There was a great amount of freedom afforded to the user in where they could place their files and folders, and a high resilience in programs being able to find necessary data nonetheless. Rarely did a Mac user even know what the file path separator was (':'). They never had to. Their file is "right here." Everything about the Mac OS was built from the ground up to behave like this.
DOS is in every way not like this. File paths are extremely and necessarily present, as they're the final court of appeal as to where a file "is." Instead of moving a file somewhere else, you have to tell the computer in no uncertain terms which file you want to move and precisely where you want to move it, and the computer will do it for you if you told it the right thing in the right way. Programming in a basic sense is telling a computer what you want it to do, and the textual interfaces up to this point meant that you had to program a computer, to some degree, to make things happen. The Macintosh holistically effected an environment in which you just do stuff on the computer, as if it were a tool, and not a servant through whom everything happens second-hand. But again, the Mac was built this way, bottom-to-top, from a blank slate. The freedom of being able to put files here and there without breaking anything internally makes the usefulness of the Finder's interface completely obvious at a glance. They correspond.
Given that the history of the PC can be very much expressed as a history of "how, for the love of God, can we get people to finally stop using DOS," it was necessary to pull together a compatible environment that approached a modicum of Finder-like usability. Many Finder clones were created as simple DOS shells since the Mac's inception, but these could never provide a fully consistent "world of the computer," as one still had to deal with DOS on the application side of things, and with them all their interface inconsistencies and DOS-ness. It wasn't until Windows 95 that a DOS-compatible environment acquired something close to the finesse of the Finder.
Windows Explorer, at this time, was a reasonably competent Finder clone, at least if we're talking about the Finder pre-System 7. You had a standard desktop that works the way you'd expect it to, you had a My Computer folder that displayed connected drives, and consumer Windows being a single-user OS at the time, you more or less had total freedom in wherever your files went. Icons and folders dutifully remembered their spatial states. The problem is that, well, the rest of the operating system and any applications written for it rely on a kind of DOS way of doing things. Many installed programs expected to be in certain, precise paths, especially as the "Program Files" folder became the standard location for such things, and didn't much enjoy being placed elsewhere. There was a lot more fragility here, many more places that were "off limits" to the user if they wanted their computer to continue working. Having the user be able to reach the C: drive in two double-clicks from their desktop is directly analogous to the Mac OS user being able to open "Macintosh HD" from theirs, but the implications are very different.
One could make shortcuts to such stubborn locations and place those wherever one wished, but this was a step further in abstraction than many users were willing to go, if they even knew how to do it. Furthermore, any experienced DOS users coming to Windows 95, long acclimated to file hierarchies, would have immediately sussed out the tree-based, single-window "Explore" view and used that instead. For Windows 95 to possess the elegance of the Macintosh would have required a heaping spoonful of interface sugar, hiding and abstracting away all the finicky bits, that it just didn't have. But by the time anyone could have improved this situation, Microsoft was bound and determined to make Internet Explorer ubiquitous and so anti-competitively integrated it into Windows Explorer with Windows 98 and later versions of 95, turning it forever into a file browser and definitively killing spatial file management dead in the Windows space.
Apple's user interface design principles remained unflinchingly rigorous and consistent up until the end of the classic line with Mac OS 9. With Mac OS X, the Unix nerds at NeXT ran roughshod over the whole thing, deciding that so much of what made the Mac good was Bad, Actually. Spatial orientation was out, Miller columns were in. The Finder became, at best, no one's favorite file manager in the way it attempted to have the spatial paradigm and a browser paradigm live in the same space, thus making both worse. For all their ability to present a seamless experience to the user of an internally highly complex system, they decided that a user-visible filesystem hierarchy was here to stay. Around 10.6 they dropped any remaining vestiges of the old spatial paradigm altogether.
It should be wholly unsurprising to anyone that KDE and GNOME, at around the time of Mac OS X still in their infancy, used navigation-style file managers. If a Unix or Linux user in this era would deign to use a GUI in the first place, it had better reflect every inch of the reality of the underlying filesystem. We're not here to type documents or play games, we have a system to administrate! Indeed, the absurdly complex tree of harshly abbreviated and often inaccurate directory names that is the Unix filesystem, wherein most things absolutely need to be at this path, was about as unwelcoming as could be to a file management paradigm that is most comfortable in a system where one at least has the illusion of "free run of the place." Concerted efforts were made to add user-friendliness to these two major desktop environments in the broad strokes, but the feeling in the early 2000s was largely that if you were using them, you were pretty familiar with working within a complex hierarchy.
So should it be surprising to anyone that in the computing landscape of 2004, when the GNOME project announced its intention to "go spatial" with its file manager, Nautilus, they were greeted with a rather mixed reception? Tellingly, the few commenters who greet the idea with unreserved enthusiasm speak fondly of Mac OS 9, whereas the many who express incredulity do so by way of unfavorable comparisons to Windows 95. There wasn't a system in any kind of wide use more antithetical to the blank canvas of Mac OS's nearly empty root filesystem under complete control by a single user than a Linux system. Take this angry commenter, for example:
"I click on "Computer" -- one window opens I click on "Filesystem" -- opens in same window I click on /usrlib/mozilla/plugins -- opens four more windows
6 windows open, dumbest thing I've ever seen.
But wait, you say! You can middle and have it close the parent folder while it open the new. Sounds great.
One window. But wait! I dodn't know the exact location of the file (which is common with *nix OSes), and it's not there, but in /usr/lib/mozilla-1.6/plugins/. No "back" or "up button to navigate back up one or two folders.
So, I have to close that window, and start all over, this time leaving multiple windows open. However, I have a terminal session and Gedit open and set exactly where I want them. Now this stupid spatial thing opens up windows wherever it wants, right over my workspace particularly."
As entertaining as I might personally find this person's being flummoxed by having six whole windows open, or that their problem could have been solved had they kept the windows open until they were done, or that they missed the path button in the lower left of every folder window that shows every parent folder right up to the filesystem root, I feel like this is illustrative of the core issue. Why is this poster having to dig into the non-userspace portion of the filesystem to find a plugin? I honestly can't remember if at the time Mozilla had an interface to see installed plugins, or to install or remove them for that matter, but if it did, that's the interface through which such sensitive operations should be performed. It should be noted that once an operating system acquires the kind of complexity needed for a multi-user system and a larger sprawl of system-specific files, it effectively becomes impossible to maintain a classic Mac OS-like paradigm of allowing the user to do whatever they want wherever they want. However, in the absence of this freedom, abstractions such as "a plugin interface" need to be made. Abstractions like "Add/Remove Programs" and "Control Panel" and "The Start Menu" need to be made, and they were, but the files that they control need to be hidden from the user in the normal file management interface, which at the time was close to one and the same with the whole GUI shell. Spatial file management as a paradigm died as a result of file management becoming unnecessarily more fraught and wanting of a careful hand, because of its would-be implementers not realizing that just because something is a file, it doesn't automatically need to be reachable by the primary user-visible file management interface.
In the desktop Linux world, especially in this era, there just wasn't the kind of scaffolding needed for spatial file management to make any immediate sense. To be clear, being able to shape a folder and its files to suit a particular need is useful in any environment, but here we're speaking of an environment in which users regularly had to trawl a deeply nested set of directories not of their own making and where they had, at best, very limited control. Some kind of place-setting was necessary for it to make sense, either in the form of a revamped model by which GNOME represented the computer to the user, or at least in the form of an explanation as to why the spatial paradigm can be powerful. Neither was offered. No one explained that you can, for example, have a folder full of launchers to act as a kind of application palette, like the mini-desktop described at the beginning of this essay. No one explained that you could have your Pictures folder always open in the same sized window always in thumbnail view. No one explained that you could have a programming project always display in list view, wherein you can indeed navigate the source files as a tree, popping folders open in their own windows as was convenient. There wasn't much discussion of use-cases here, just that it would be easier for beginners.
One may say that the best interfaces shouldn't have to be so explained, but again, the environment wasn't provided in which the spatial paradigm would be more directly obvious. They could have said that in the new default spatial Nautilus, the home folder is the desktop and you can't go above that; hidden files are hidden full stop. Any files that aren't in your home directory and aren't ordinarily visible should only be modified by applications that have access to them; if that becomes impossible in some case, just use the terminal to do what you need to do and file a bug against the offending app. I'm sure that would've gone over swimmingly with the userbase. But really, that's exactly what would be necessary: a hardline separation between the environment in which the user works, and the environment in which the system works. A computer cannot be an appliance when it's constantly exposing its internals. In the classic Mac OS world, one likely would have a folder containing their web browser and associated stuff, placed wherever the user wanted to place it. They would have a big icon representing a plugin somewhere else. They would then drag and drop the big obvious plugin file into the folder named "Plugins". And that would be the end of it.
Getting Linux "ready for the desktop" was always an uphill battle, requiring the cooperation of dozens of different parties with different aims, to produce something that would run on myriad different kinds of hardware, whereas Apple was a vertically integrated monolith, a single entity producing its own software for its own hardware. Here I might say GNOME was maybe jumping the gun a bit. They read John Sircusa's article about the Finder, got excited and decided to make Nautilus into the Finder. But what they perhaps didn't understand was that there was a lot of scaffolding already in place for the classic Finder to succeed as well as it did. To inject this paradigm into Linux with any chance of success would mean having to create a simulacrum walling the user off from all the nasty bits; instead GNOME did what Microsoft did and plopped the root filesystem into their My Computer equivalent. I don't think they ever had an inkling of the kind of hard UI separation between userspace and the system that I described; I'm not sure they had any real vision at all, here. Squeezing a usable graphical interface out of Linux is a hard task and I think Spatial Nautilus was just a straw they were grasping at. But, personally, I'm glad they did.
All told, Nautilus at the end of its 2.x series life, now living on as Caja in the GNOME 2.x series continuation MATE, is a pretty competent and highly useful Finder clone. It's stable, coherent, and customizable, and I'll use it to manage my own files until the march of technology makes it literally impossible to do so. But GNOME unfortunately didn't seem to have much confidence in it, and never seemed to build on the interface in any user-apparent way. Its initial release lacked the "disclosure triangles" in its list view which allows you to expand subfolders in a tree, a feature added in the Macintosh System Software version 7, but it did get them at some point down the line. I don't particularly feel like continuing to download ancient versions of Fedora Core to find out which one it was. But in any case, this is a feature that I think would have dampened the initial skepticism significantly had it been present, as it makes traversing deeply nested directory structures a snap, while still maintaining spatial coherency. I actually think this is an important point to stress, because I think people misunderstand it: The nested list view in the Finder and in Spatial Nautilus is still spatial. The key point of a file manager's being spatial is that it's never ambiguous which folder you're modifying the spatial state of. If I open up my Music folder with dozens of artist subfolders and switch it to list view, I know I'm just modifying my Music folder, even if I can view and modify the contents of each of its subfolders within. The Finder would even drive this point home by closing the subfolder view whenever you opened it in a new window, and by closing the folder's window when you clicked its disclosure triangle in its parent folder.
But anyway. Beyond the addition of the nested list view, we never got anything like tabbed folders, wherein you drag a folder window to the bottom of the screen and it becomes a tab that can pop up in a kind of incredibly useful folder/menu hybrid, nor spring-loaded folders, wherein you can drag and hover items over a series of folders and have them spring open continuously until you make your drop and they all slam shut at once. Nautilus only ever reached feature parity with System 7.6's Finder it seems. It certainly didn't get any of the pie-in-the-sky features like saved search folders offered in John Siracusa's aforementioned article. A lot of different kinds of views can be fit into the spatial paradigm, it's just that no one really tried.
(UPDATE: Nautilus totally did have saved search folders! It's just there's a longstanding unfixed Caja bug that was obscuring it from me in the present day. But if you open a browser window, search for something, and then go to "File > Save search", it'll save a file that will open in a specially decorated spatial window! Unfortunately it's kind of nonfunctional for a variety of reasons, and from what I've gleaned from the mailing lists it wasn't exactly a well-known feature in its day.)
Not long after GNOME 2.6's introduction of Spatial Nautilus did Ubuntu make its first release. Ubuntu made a huge splash on its debut; it was a corporate-backed Linux distribution that seemed focused on getting into the hands of ordinary users rather than into more enterprise servers and workstations. They focused on creating a singular experience built around GNOME, and wanted to make Linux easier than ever to install and use, and tried their hardest to make sure you wouldn't have to use the terminal. They mailed you completely free CDs, shipping included, on request, for God's sake. I can't say we had the year of Linux on the desktop because of them, but they were massively successful in their own way, and remain a popular option for would-be Linux users to this day. However, they also set up their distribution of GNOME to have Nautilus open in navigational view by default.
This actually wasn't much of a diversion from the norm; distributions knew what their users were used to. If you were a GNOME user on any given non-Fedora distribution back in the day, most likely you'd have to go out of your way to check a box in a preferences dialog in order to make Nautilus behave in a way that was by its implementers neither adequately explained, nor well understood, nor ever fully built upon. Several versions after its introduction, GNOME itself followed suit and made the navigational view the default, leaving spatial mode behind to rot, and then removed it entirely upon the hugely controversial interface revamp brought on by the GNOME 3.x series.
If Spatial Nautilus caused a stir among users, GNOME's 3.0 release was seen as downright iconoclastic, completely eschewing anything even remotely resembling "the desktop metaphor," abruptly changing into a form not terribly unlike what it is today, and inspiring no imitators at that. This abrupt and total shift drove many distributions to replace or at least significantly modify their default GNOME; MATE and Cinnamon arose to fill the gap left behind, as did Ubuntu's now dead Unity, and the "GNOME Classic" and "GNOME Flashback" projects stood in as stopgaps while the main project was refined. But this kind of thing isn't new territory. Distributions by and large made Nautilus open as a navigational browser by default and no one followed GNOME in implementing spatial modes into their own file managers, so this certainly wasn't some kind of fad. Just a strange flight of fancy by heavily opinionated developers, one among many in their long history. Nautilus today is another run of the mill navigational file browser, wholly unrecognizable from its 2.x series incarnation, tucked away as just another app in the extremely un-file-centric modern GNOME's app grid.
We can point to Linux's overall baroqueness, a result of its being a clone of a decades old operating system, as a reason for Spatial Nautilus's rocky start, but we'd have to point to GNOME's lack of ideas of what to really do with the spatial paradigm as the reason for its demise. It was slowly dying from the day it was born. Too much of Linux required manual heavy-lifting in the form of terminal commands and trawling through obscure files for the spatial paradigm to make any automatic sense, for the interface presented to be truly holistic. The Finder was "the computer" in a way that GNOME as a whole couldn't really be at this point in time. The fact of the matter is, they were giving this feature largely not to neophytes who could be told "this is a computer. these are your files", while pointing to icons on the screen as one would to a Mac user in 1984, but to an audience who was already intimately familiar with a complex filesystem hierarchy, and weren't at all amenable to the suggestion that remembering locations of things is a highly useful aid, or even a substitute, to remembering names.
I feel like most at the time considered Spatial Nautilus to be pandering to novice users, offering no hard benefits of its own. GNOME itself did little to dispel this notion:
People have argued (and I'm inclined to agree) that the object oriented methaphor (hereafter called oo), is easier to understand for new users. The argument is that the direct graphical representation and manipulation makes it easier for people to understand the concept of directories.
This new metaphor wasn't said to be more useful or more powerful or more versatile than browser navigation, it was merely "easier to understand for new users." Well, is it any good for old users? They offered no answer to this, because again, they didn't fundamentally understand what they were doing. The obviousness of the Finder's goodness arose from its presence in the Mac OS, but just dropping it in medias res into the Linux world without adequately explaining why it was good, nor even understanding why it is good, was a recipe for stagnation. It was ignored by most users who didn't like it and then it died, the end.
A rather sour note to end on, but in this current age of corporations hell bent on having you own and control as little of your own data as possible I'm not optimistic about a resurgence of the spatial paradigm; I should be happy that we still have files at all. As for myself, I'll just keep using MATE and its Spatial Caja for my personal work, like this, and struggling on with whatever other environments I'm forced to use for other things. And to head this one off: I'm not an Apple fanboy, I don't own any (functional) Macs, and classic Mac OS sucked and was long, long overdue for an update by the time OS X became a reality. I just greatly admire its interface and wish more of it was carried over into modern environments. My allegiance is with Linux-based operating systems for the fact that they, practically speaking, give me more freedom than even the classic Mac OS. I can remake the UI in my image in every way, even write my own damn file manager if I want to, and if Apple were to announce tomorrow that they were offering "Mac OS 9 Shell for macOS" I still wouldn't run out and buy a Mac. But Hell, I have thoughts, and I need to put 'em out there every once in a while. So there you go.