In "What's So Great About Longhorn?" (February 22, 2005, InstantDoc ID 45479), I talked about WinFS, a revolutionary file-system interface to appear in Longhorn, the next version of Windows. Unfortunately, the current rumor is that WinFS will, in fact, not ship with Longhorn after all. (Of course, Microsoft could change its mind again.) I think the decision to remove WinFS from Longhorn could very well turn out to be one of the worst moves Microsoft has ever made. In this article, I want to start looking at why we should be mourning the loss of WinFS.
Despite its name—which is reminiscent of HPFS, NTFS, UDFS, and earlier file systems—WinFS isn't a new low-level file system that might replace NTFS. Instead, it’s a layer on top of NTFS that’s intended to solve the problems of modern disks, which are much larger than hard disks were when Microsoft introduced the notion of a disk containing only two components: files and directories. In fact, hard-disk complexity is the main reason Microsoft dreamed up the idea of WinFS. As I suggested in "What's So Great About Longhorn?", hard disks have become so large that using a DOS 2.0 approach to taming modern disks (which is what PC OSs have done since 1982) is as silly as dressing an adult in kid's clothes.
WinFS offers several paradigm-shattering features. Let’s look at them in order of increasing importance.
Synchronization and notification. Windows 2000 includes a tool called Synchronization Manager, which keeps offline cached data synchronized with data on file servers and Web servers. WinFS’s Synchronization Manager was supposed to further this idea a bit by adding better synchronization for portable devices, which probably means Windows CE-based portable devices rather than the majority of portable devices. Yep, a real yawner. But WinFS's notification improvements are more interesting. A simple notification feature has been available in Windows since Win2K—Windows File Protection. WFP is a program that runs constantly, monitoring the state of most of the files in the \System32 directory. If WFP detects that a program has modified a file, it restores the file to its original state. WFP has been a basic but effective way to make the OS more stable. But imagine if you could point to a file, or a group of files, and have Windows notify you or run a certain program should any of those files change. Or, what if you run a Web site and you're worried about worms, Trojan horses, and other hacks? You could set up a simple script that would page you or email you if any of the files in the \wwwroot directory change. And no, unfortunately, you can’t do that today with object auditing, which is a somewhat grosser tool. Perhaps Microsoft might consider adding at least this watered-down version of notification to Longhorn.
Smarter searching. For some reason, Microsoft has always had trouble making indexed searches work as fast as they probably should. As I noted in "What's So Great About Longhorn?", you can search the Internet with Google faster than you can search your own hard disk. Microsoft intended to solve that problem in WinFS. Now, we can only hope that improved searching capabilities will appear in some far-off Windows version—at least, before the Linux or Apple folks incorporate it and make it seem passé.
Dynamic folders. All this talk of searching capabilities becomes even more interesting in light of the new file attributes that WinFS files and non–file objects were intended to carry. Back in 1982, files had just a few attributes: the date and time of their creation, their backup status, whether they were integral to the OS, whether users could modify or simply read them, and whether the system's disk-display tools would display them. I'm talking about the Archive, System, Read-Only, and Hidden attributes. Microsoft has added new attributes over time, but software vendors (including Microsoft) have done little with them. WinFS, in contrast, not only included a plethora of new attributes for files but also tools with which to exploit them. Suppose you want to create a folder called Movies directed by Kevin Smith that I’ve rated Excellent. In WinFS, such a folder wouldn’t be a traditional folder but instead would be a dynamic sort of folder called a view.
These WinFS features are merely appetizers. In my next VIP Exclusive, I’ll talk about the entrées.