To be honest, I can’t believe I’m actually writing this. To say that Microsoft’s WinFS technology has been a long time coming would be to stretch the definition of ‘long’ to unprecedented, er, lengths. Indeed, everything about the release of this code has come as a surprise. First, it wasn’t supposed to come out until the Professional Developers Conference, but it actually emerged onto MSDN a good week earlier. Second, despite the fact Microsoft has come up with this release early, we’re being assured by the heads of the development team that the overall code status isn’t ‘early’, and that it still won’t be shipping with the first shrinkwrap version of Vista due next year. However, something’s here now, as proof that Microsoft has finally nailed its colours to the flagpole. The corporation is clearly aware it won’t get a second chance at this, and there’s no doubt this has induced an unusually strong sense of caution.
So what is WinFS, and what exactly has been released? Well, WinFS is set to become many things, depending on where on the timeline for the next five years you’re looking. Be in no doubt, however, that it will end up becoming the single unified ‘digital soup’ into which all data is poured under future Windows versions. ‘All data’ means files from the file system; all information from the Registry; everything to do with Active Directory; and all the stuff you keep in Outlook today such as your contacts, emails and calendar events.
In fact, if all goes to plan, the only stuff you’ll still be holding in a traditional RDBMS database is the sort of information that requires the very highest level of relational performance – some crucial line of business application, for example, like a huge customer billing system. (I can’t see something like SAP R3 moving over wholescale to WinFS any time soon as its primary store.) However, even in a large application like R3 or PeopleSoft, there would be a good argument to be made for holding some of the information in WinFS. It’s intended that developers should exploit WinFS for data storage too: just pour all your application’s data into the digital soup and let the system look after it.
Microsoft is labelling its release a beta, although it’s somewhat more flaky than you might expect even from an early beta. This is a bunch of raw code that needs a lot of handholding, as well as an understanding and forgiving attitude – and most definitely a spare test computer. The most obvious safety step would be to install it onto a Virtual PC installation, but while it would install onto a Virtual PC running on my Mac desktop it wouldn’t run there, complaining in the event log that the processor lacked specific instructions. I happen to know that the Mac version of Microsoft Virtual PC is really a Pentium III emulation, so it won’t run code like WinFS, which requires explicit Pentium 4 support.
I therefore dug up a real test box running XP Home and proceeded with the installation routine, which in itself isn’t particularly hard. First, you need to ensure you have the right beta version of the .NET Framework installed onto the computer, then install the WinFS package, after which you need to reboot the computer.
Once the machine has restarted, open up the Windows Explorer window and take a look at a new item that’s appeared there, labelled ‘WinFS Stores’, among all the usual hard disks, CD-ROM drives, the Control Panel and all the other periphery. I suggest you then go and make a cup of tea and return to the computer some while later, because building the first Default Store takes a noticeable period of time and it’s possible to have the user interface appear to lock up while it’s sorting out its washing.