Monday, June 26, 2006

Microsoft Bites the Bullet: WinFS Bites the Dust

The demise of WinFS—recounted by Quentin Clark's "WinFS Update" and "Update to the Update" posts in the WinFS team's "What's in Store" blog—shouldn't have surprised anyone. WinFS is only the latest in a chain of Microsoft's abandoned enhancements to—or replacements for—the New Technology File System (NTFS) and aborted implementations of object-relational mapping (ORM) technologies. Microsoft's Paul Vick calls them "Black Hole Projects" and provides a detailed list of their typical characteristics. I've been following—and writing about—the primrose path to the Object File System (OFS) and its successors since 1993. In a Guest Opinion titled "Is Visual Basic Ready for Client/Server Prime Time?" for the October/November 1993 issue of Fawcette Technical Publications' Visual Basic Programmer's Journal (later to become Visual Studio Magazine), I wrote:

Creating VB database front-ends by pasting together objects stored in a repository database probably will have to wait for Chicago (Windows 4.0?) or Cairo (Windows NT 4.0?) and Microsoft’s newly rumored object database for Windows NT, code-named Cumulus.

The choice of Cumulus as the codename for Windows NT's always-forthcoming OFS isn't surprising when you consider the Cirrus was the codename for Microsoft Access 1.0, which Microsoft released in November 1993 at Fall Comdex. As it turns out, Stratus probably would have been the better choice because OFS bought the farm after scud-running once too often.

OFS, RFS, Storage+ and Windows DNA

OFS morphed to the Relational File System (RFS, more commonly called Storage+) in 2000 when the successor to Windows Server 2003 was codenamed Blackcomb. Storage+, COM+, and Forms+ were to be the foundation of Windows DNA (Distributed Network/iNternet Architecture). Paul Thurott published a detailed history of OFS, RFS and Storage+, plus commentary on WinFS in his August 2005 "Windows Storage Foundation (WinFS) Preview" article. Paul's July 1999 "COM+, A Windows 2000 technology showcase" article (updated March 2000) describes Microsoft intentions for Storage+, COM+, and Forms+. Paul had this to say about Storage+:

Storage+ will do away with the NTFS file system and replace it with a new relational, object-oriented file system based on SQL Server 8.0. Expected to arrive with the next version of Business Windows (post-Windows 2000, think 2003 or 2004), Storage+ will turn the file system into a relational database, speeding searches and providing a higher level of granularity for those searches. It will also have the wonderful side-effect of finally ridding us of those limiting drive letters.

An SQL Server 2000 (8.0)-based Storage+ never appeared and there's no liklihood that future WinFS features will be derived from SQL Server 2005 (9.0). Ed Brill found SQL Server déjà vu in Bill Gates' September 2005 association of WinFS with "Katmai," the codename for SQL Server v.Next, and Steve Ballmer's December 2000 statements about WinFS and "Yukon," the code-name for the long-delayed SQL Server 2005.

One of the comments about Brill's post leads to an August 29, 2005 WinFS Team post by Peter Spiro, "the General Manager in SQL Server responsible for the WinFS team," that ends with:

A few years back Ray Ozzie came to Microsoft to speak at an internal workshop we have called WHiPS (Workshop on High Performance Systems). Ray talked about Groove. It was a pretty cool app trying to be a platform (tough to do for a small company). As we were talking after his presentation he described how he had to first build a platform on top of the operating system, which then enabled him to build the app that he had envisioned.

He said he needed storage beyond just a file system; he needed synchronization capabilities to share information between different machines/users, he needed advanced security mechanisms, he needed a way to model his particular schemas in the storage system, he needed to search on the information. So he built a richer storage system that incorporated these types of concepts and then he built the Groove app on top of his platform. His comment to me was that Microsoft should build such a platform and stop selling the same old operating system and storage capabilities that we as an industry have been polishing for 20-30 years. He felt this richer platform would create a new ecosystem that allowed a variety of new apps to be developed. He was right; and I told him we had already started on it, and that it was called WinFS.

As of June 15, 2006, Ray Ozzie became Bill Gates' replacement; and he's called Microsoft's Chief Architect.

Eight days later WinFS is dead.

Déjà vu all over again: Project Green, MBF and Object Spaces

Apropos Paul Thurott's mention of "Business Windows," how many members of the computer press and .NET-oriented book writers fell into the "Project Green" trap before Microsoft abandoned the Microsoft Business Framework (MBF) in October, 2005? My initial table of contents for Expert One-on-One Visual Basic 2005 Database Programming included an entire section devoted to ObjectSpaces, the OPath query language, and MBF. Much to my surprise ObjectSpaces and all references to MBF disappeared in Whidbey Beta 2, as I reported in my September 14, 2005 "The Language Integrated Query (LINQ) Project" post:

[Luca Bolognese, a prime mover on the ObjectSpace team, announced at Tech•Ed 2004] that ObjectSpaces had acquired a dependency on WinFS and thus was postponed to the Longhorn/Orcas timeframe. (He appeared close to tears as he made the announcement.) The dependence of the long-delayed Microsoft Business Framework (MBF) API on ObjectSpaces as its object persistence platform probably was a contributing factor to the demise of ObjectSpaces [and MBF support] in VS 2005.

Microsoft Watch's Mary Jo Foley quoted Satya Nadella, Microsoft Business Solutions corporate vice president, in her October 21, 2005 "Microsoft Scuttles Plans for Standalone Microsoft Business Framework" article:

[Nadella] said that Microsoft is planning to deliver all of the same MBF features and functionality it originally envisioned, but just in a different way.

"MBF won't ship as a separate entity. It has gotten factored into parts of our other deliverables," Nadella explained.

MBF technologies can be found in the Windows Workflow Foundation engine, the forthcoming Language Integrated Query (LINQ) project extensions to Visual Basic and C#; and the Common Data Platform (CDP) application programming interfaces; Visual Studio 2005; and "Orcas," the version of Visual Studio slated to follow Visual Studio 2005, Nadella said.

WinFS, Longhorn, and the Windows Data Platform Vision

Backing up to December 16, 2003, I wrote in my "Get a Grip on Longhorn" article for the February 2004 issue of Visual Studio Magazine:

The WinFS data model consists of Items, Relationships, and extensions. Items use an XML schema to define the metadata properties of everything that's stored in WinFS. The schema lets WinFS serialize Items as .NET objects, which you access with members of the System.Storage namespace. For example, System.Storage.Contact provides the context required to find, add, and delete Person objects, which have DisplayName, PersonalEmailAddresses, personalTelephoneNumbers, and several other predefined properties.

Relationships create joins between Item metadata values to return multiple Item types in query resultsets. For example, you can relate an Office document's Author property to a Contact Item's DisplayName property. A natural-language search returns links to matching document and contact Items. Extensions let you add new properties to an existing item's XML schema. Other WinFS features include Notifications, which let users subscribe to events raised by Item-related changes.

Synchronization between WinFS stores on multiple machines takes place through a "community folder" that's associated with groups of Items on local machines. Synchronization replicates Items between machines according to instructions contained in send-only, receive-only, or send-receive synchronization profiles. Information Agents automate actions for users based on WinFS data, rules, preferences, and contexts.

So 2-1/2 years later WinFS has gone the way of ObjectSpaces and MBF: Balkanized into Paul Flessner's Data Platform Vision, with some promised features to be integrated into SQL Server "Katmai", ADO.NET 3.0, and Visual Studio "Orcas."

Note: You can watch Jim Allchin—Microsoft's Group Vice President for Platforms—explain in an August 19, 2005 Channel9 video that "we now intend to deliver WinFS after the initial availability of Longhorn client. We continue to be committed to WinFS. It is expected to beta when Longhorn client is broadly available." Jim will have retired by the time Microsoft discovers the effect of the loss of WinFS on Vista sales.

DevX Executive Editor A. Russell Jones reported June 14, 2006 from Tech•Ed 2006:

WinFS Lives: WinFS, cut from the first version of Vista, isn't dead; it's still being improved. Shan Sinha, a Program Manager on the WinFS team, showed off the newest features, and promised a second beta later this year. WinFS wraps the tried and too-familiar NTFS file system in a relational database, providing new and revolutionary relational abilities to the Windows file system. Doing that has far-reaching implications, and presents huge technical hurdles. For example, a relational file system must manage its own indexes, backup, and recovery, and must do so both invisibly and with no human intervention (no database admin). Despite adding new and integrated file system capabilities, it must maintain file-level compatibility with earlier versions, so that existing programs don't break, and it must be able to maintain the new information and relationships across backups. From the demos though, it looks as if Microsoft has conquered the problems. In one demonstration, Shan destroyed the data on a disk sector, then walked the audience through the automatic recovery process. Very impressive. [Emphasis added.]

Peter Galli's June 27, 2006 eWeek interview with Corey Thomas, Microsoft group product manager for SQL Server, explains "Why Microsoft Pulled WinFS as a Stand-Alone Product" after three Tech•Ed 2006 presentations. Thomas adds a surfeit of spin but no mention whatsoever of Ray Ozzie.

Analysts and Bloggers Write WinFS's Obituary

Analyzing WinFS has consumed thousands of reporter-hours and untold barrels of electronic ink. Mary Jo Foley has been reporting the WinFS saga for Microsoft Watch since PDC 2003. Follow Mary Jo's WinFS breadcrumbs for the chronology of the "Rise and Fall of WinFS":

Note: You can watch Mario Juarez interview Mary Jo Foley at TechEd 2006.

Microsoft Monitor's Joe Wilcox's also has taken Microsoft to task for its WinFS peregrinations:

You also might want to check out Microsoft's Dare Obasanjo's reflections on WinFS and recent events:

Dare says in his last post cited above: "WinFS merging with Object Spaces is my canonical example of scope creep at Microsoft." The link is to Franz Brouma's May 22, 2004 post, which includes a comment from Microsoft Distinguished Engineer Tim Brookins. Tim had posted "MBF Joins the Longhorn Wave" on May 10, 2004 to explain why MBF would not be included in the VS 2005 (Whidbey) beta, as reported in InformationWeek's "Microsoft's Business Framework Gets Pushed Back" story of May 5, 2004 and CRN's "Microsoft Business Framework To Wait For Longhorn, Orcas" same-date article by Barbara Darrow.

InfoWorld's "Strategic Developer" columnist and chief blogger Jon Udell emphasizes the lack of support for Internet-based social networking in Cairo and WinFS, but doesn't buy analysts "WinFS is dead" pronoucements:

InfoWorld's "Enterprise Windows" columnist Oliver Rist entered the fray on June 29, 2006 with his "Microsoft kills the WinFS dream" article that's subtitled "Server admins' hopes fade as better Windows file system management goes the way of the dodo."

The DaVinci Code Effect: WinFS as Empty Holy Grail

Finally, the Seattle Post-Intelligencer's Todd Bishop quotes Bill Gates at PDC 2003 in his "WinFS: Microsoft's 'Holy Grail' file system still elusive" article:

WinFS -- this is unified storage. Some of you here have heard me talk about unified storage for more than a decade. The idea of taking the XML flexibility, database technology, getting it into the file system: that's been a Holy Grail for me for quite some time. And here it is." -- Bill Gates, October 2003.

As Todd Bishop observes, "Well, not yet, at least as a part of Windows."

[Updated June 27, 28, and 29, 2006. Minor changes and links added on July 1, July 5, and October 20, 2006.]

Technorati: , , , , , , , , , , , , , , , , , ,