file managers
Operating systems are getting bigger and more complex with every release, but at the most basic level they have very little to do. To the end user the OS does two main jobs - it lets you run and switch between applications, and manage your files. In the years since the advent of multitasking very little has changed as far as launching and switching applications is concerned, and it is probably even longer since any radical change has taken place in the way we store and retrieve files.
The Spatial Finder
Up until the advent of Mac OS X the Finder used the spatial paradigm for displaying the contents of your hard drives. It was very easy for novice users to understand and use.
The magic of the spatial finder was that each folder had a window and the contents could only be shown in that window. The Finder would remember where you put the window on the screen and always opened it there so that it was easy to recognize. This was a stroke of genius by Apple as it soon became very apparent that people saw the Finder as the computer. A disc shown on the desktop (which used to be the root level of the computer) could be double clicked and the contents whether they be folders or files would be shown in a new window. Opening the content of that folder opened a new window and so on. It was, and still is, a very efficient way of browsing the file system because it represented the contents in a very familiar way. We are comfortable with it because things can only be in one place at a time and stay where you put them - just like objects in the real world.
Unfortunately, for the spacial Finder, file hierarchies got much deeper with many more files that anyone could have imagined back in the early eighties, and the spatial Finder was really outgrown for a great number of tasks. For some users with only a few documents filed away inside only a few folders the spacial system is great, but for even the average user the shear number of files and folders just makes this very elegant and easy to understand method of displaying content much harder to use.
The Hierarchical Browser
Microsoft was the first developer to make the move to the file browser which others (including the Mac) now use as the default way for viewing the file system. Interestingly, Gnome have now actually returned, in part, to the spatial model. Although the details of how each system works, whether it be columns in OS X or tree view in Windows, varies, the general idea is that you get a web-browser style navigation of the file system with the ability to go back and forward in the browsing history.
Obviously, the Browser paradigm is only really another way of looking at the hierarchical system where files are grouped together in folders nested one within the other in exactly the same way that it would be done in a filing cabinet. In many ways this is contradictory. The whole point in have a hierarchy is so that you can sort items into easily identifiable locations. This does not happen with the browser - opening a folder does not leave an easily recognizable trail of sub folders and can often leave you feeling lost. Perhaps column view in OS X (brought over from Next) is one instance where it’s reasonably clear where things are, although it does however have it’s problems.
Meta-Data Browser
The ill-fated BeOS implemented a meta-data driven file system in the mid-nineties, but it died along with the operating system. It was however many years ahead of it’s time and shows us where things should be headed.
All three of the main desktop operation systems in use today, Mac OS X, Windows Vista, and the various flavours of Linux, all leverage meta-data to some extent in the way that they search for files, although none of them actually use it for filing.
Currently, these operating systems use 'Smart' or 'Live' folders to group files based on a set of search criteria - pulling them from the hierarchical file system that is still used for storage. This is obviously a half-way-house since you have no control over the meta-data as you save the file, and it has to be placed somewhere in the hierarchy.
The Next Step
The browser paradigm is ideal for viewing a system where the main form of sorting is done through meta-data rather than location. It is actually possible and probably preferable to have no assigned location for the file. This is exactly like throwing all your documents in your home folder and sorting them by other attributes.
One of the best examples of this type of file handling currently available is in iTunes. Even with over six thousand songs in my collection I never have any problem finding what I want. Find as you type searching is incredibly powerful as is the ability the search by artist, album and genre. The paned interface is a very easy way to narrow down your search quickly and efficiently. iTunes now has 'CoverFlow' which allows you to easily skim through you're album covers - giving a very easy way to quickly identify an album by the way it looks, something you would do without thinking with a CD collection.
Additionally, iTunes lets the user forget about where the files are stored within the file system - iTunes is the file system as far as the user is concerned. Ok, it does sort things within the traditional file system so that you can go digging around in there if you want but as soon as you do it becomes obvious that the files and folders system is pretty limited. You have to first know the artist then the album and finally the song to be able to get to the file.
One of the main problems facing developers trying to implement a database style file system is that it’s ingrained in our minds that things seem to have a location on the computer and that it will always be there when we go to look for it. The spacial paradigm has been very successful because people understand it. A new way of sorting files will require a new way of thinking.