So, WinFS is
dead, and the post mortems are
out
This is a good thing. It's good for MS because they can stop
pouring money into an ocean-boiler of a project, and reassign the
engineers to something useful. It also means that anything that
stepped near the turf of WinFS won't get perceived as an attempt to
undermine the project and get stamped on (*). Best yet, it implies
that windows developers should stop holding back for more future
releases of stuff, and focus on what Vista is bringing, as that is
going to be (relatively) stable for a few years. Indeed, if they
code for the Avalon bits that already run on WinXP, .NET 2.0
developers can write apps to ship today, instead of holding off for
Vista.
Its good for end users because you don't really need a new and
not yet stable filesystem. NTFS was unstable until win2k shipped; I
lost two disk partitions simultaneously once to what was probably a
race condition bug on a two CPU system. Remember how we didn't get
a disk defragmenter until win2K?
It's good for OSS people because yet another windows filesystem
was not what we needed. NTFS support on linux isn't great at
present; WinFS would be even worse. And, because Vista now won't
have a fancy new filesystem with slick relational bits in it, apps
that target classic filesystems in a bid to be portable won't
appear drastically out of place on Vista. You won't get an obvious
split in functionality between winFS apps and "legacy apps".
Now, if WinFS was ready to ship with Vista, and Vista had
shipped a few years back, well, perhaps it would have been a good
strategic move for MS. A new filesystem which lets your app
integrate better, but at the expense of no portability to any
platform, and a built in need for Vista and not older versions of
windows, versions which are Microsoft's real competitors. But it
was precisely the need to add radical features like a new
semantic-webby (*) filesystem that caused Vista to slip so badly.
The strategic goal "own the files" got in the way of the real one
of "ship early and make money".
At the same time, I have to mourn slightly the death of an old
idea. WinFS is descended from CairoFS, which was meant to present
the OLE2 filesystem interface directly to apps. Instead of saving
to OLE2 Structured Storage files (horrible bloated FAT-in-file
files), the filesystem itself would be aware of what was going on.
manage links between objects saved inside different documents.
Furthermore, it would be nice to have a transacted filesystem. Copy
on deploy would work properly for more than one file if you could
queue up a list of file operations in a single transaction, then
commit them atomically. Look how SVN gains from this, and imagine
it in your filesystem. I even think integrated metadata could have
interesting uses. If MS cannot roll out a radically different
filesystem for the desktop, who can?
(*) Trivia note. We were at Chepstow Castle today. The verb
to undermine comes from castle siege techniques, where you
built a tunnel under a castle tower and then collapsed the mine (by
filling it with flammable materials, lighting it and burning down
the supports that were holding the mine up. Castles with square
corners were more vulnerable to undermining, apparently; I guess
they have different load characteristics
semantic-webby, this should mean the same about "semantic
web" as "enterprisey" does for enterprises.