A friend recently attended a demo of Microsoft’s latest operating system, Longhorn. This is the long-delayed replacement for Windows NT, which was introduced in the early 1990s and has been improved into Win2000 and WinXP. The main risk for a project like Longhorn is Second System Syndrome. A group of programmers is given an existing product and a list of 100 things that people have said they don’t like about the product. They boldly plan to build a Second (new) System from scratch that will solve all of the problems the First System solved plus have the 100 new nice-to-have features. Traditionally Second Systems are late and often, on balance, don’t solve any more problems than the First System. Longhorn was particularly at risk due to the fact that a larger challenge was attacked with very similar tools to those used to build Windows NT circa 1990. Programmers haven’t gotten any smarter since 1990; how can we expect better results than were obtained back then unless there is a shift to radically new tools?
Longhorn has in fact been running quite late (two years?) and Microsoft has been reducing the scope of its ambition. My friend was underwhelmed by the result. One of the big features of Longhorn is a more searchable file system, something that WinXP users can get right now by downloading Google Desktop Search. Longhorn will let you create a virtual folder that represents the results of a persistent search, e.g., you can have a folder with all files containing the word “Samoyed” and it will be updated quickly when a new matching document appears anywhere in the file system.
Does Longhorn have a versioned file system? No. I.e., you can’t ask the system to show you what a spreadsheet or document looked like two months ago. Probably the vast majority of user-created documents in a file system are there because of this lack of versioning in WinXP’s NTFS file system. You have “Whizco Contract”, “Whizco Contract pre-lawyers”, “Whizco Contract post-legal-review”, “Whizco Contract with comments from Whizco”, “Whizco Contract 20050510”, “Whizco Contract Final”, “Whizco Contract Final Signature Copy”, etc. If Longhorn had a versioned file system, as became available for commercial Unices in the early 1990s, there would only be perhaps 1/10th as many user-created documents on the typical system.
The hierarchical file system with its folders and subfolders was created for mainframe programmers in the early 1960s. Let’s call it a Multics-style file system to pay homage to this pioneering system built in the 1960s by MIT and Honeywell. Alan Cooper, one of the creators of Visual Basic, and a perennial consultant to Microsoft, has persuasively attacked the idea of exposing this hierarchy to end-users. It was built by programmers for programmers but somehow leaked out into consumer consciousness with the Apple Macintosh and the original DOS on the IBM PC. Do we need this? How many documents can one person create? Even a professional writer such as Stephen King hasn’t generated an overwhelming number of stories and novels.
Why not start with a versioned file system? Then we can get rid of the “save” and “save as” commands in word processors and spreadsheet programs and replace them with a “name this version” command. When you’re done working on a document you close it. If you want to go back a couple of months you ask for the version circa 20050301 or a version with a specific name. Given a versioned file system we provide access to documents via a chronology. If you’re looking for something related to your 1999 taxes, scroll back to April 1999 and it will probably be there. If that doesn’t work resort to a full-text search. If we need to organize a bit more let us aggregate documents in named folders, as in a mail-reading program, most of which don’t allow or don’t encourage subfolders.
There is nothing wrong with the hierarchical file system as a tool. Assuming you know a file’s name, it provides O[log N] access to a corpus of N documents. This makes a hierarchical file system great for computer programs and computer programmers but why should users have to see the innards?
Apple and the Linux folks aren’t doing any better in this area than Microsoft. For years I have been hoping that Google or Yahoo! will show the way with a replacement for Microsoft Office and the underlying desktop file system. The average household user of a personal computer doesn’t need anything with many more features that the Palm OS or Microsoft Outlook and probably has far fewer megabytes of documents than he or she has of archived email.