What happened to WinFS?

The most interesting feature that was ever connected to what eventually became Vista was WinFS, a revolutionary (so it seemed, at least back then) new way of storing and accessing information on a computer.

This feature was cut despite actually reaching a closed alpha/technical preview release. There was a smoke and mirrors blog post from MS about the technology living on in an upcoming SQL server release, but to me it just felt like it was axed, hard.

Does anyone have any idea what happened to it? Is it killed, or just on the backburner? Was it just impossible to implement, too expensive, or did someone think of a better idea?

Are there any projects (From MS or anyone else) that have similar goals?


I don't think anyone really knows.

The most up to date information I can find is an interview with Quentin Clark in which he says that "most of WinFS either already has shipped, or will ship" just in other forms, such as part of SQL server or the ADO.net entity framework.

I personally suspect it was one of those projects that was poorly defined from the start. It was all things to all people and consequently could never fully realise all it's goals. It seems that all the research that went into the various different aspects of WinFS eventually grew into separate projects and became parts of other things.

You can see from this development timeline that it's been an ongoing project since 1990. that makes it one of the few software projects that actually been in development longer than Duke Nukem Forever

[Edit: For completeness, here is some other info I found - WinFS Blog - Last updated June 2006. The last entry basically says WinFS was not dead but is no longer a separate product, it was planned to incorporate the tech into other products like SQL server and ado.net]


New information (May 2010):

I found this article which talks about the features of WinFS that have survived and live on in some form in Windows7.


It became part of SQL server 2008.

I worked on a team that had a partnership with microsoft to demonstrate the feature by integrating it with our product's data storage. there's a white paper floating about on the MS site (and frequently appears on the register) outlining the Marketing Bulls... uhh.. technology integration involved. if you look at my profile, that might give you a clue what to look for...

edit: I believe this is the feature it became


Hal Berenson, the General Manager of what would become WinFS wrote an excellent four-part blog series after Bill Gates disclosed in 2013 that his biggest regret from his time at Microsoft was the failure to deliver WinFS:

  • WinFS, Integrated/Unified Storage, and Microsoft – Part 1 (archive)
  • WinFS, Integrated/Unified Storage, and Microsoft – Part 2 (archive)
  • WinFS, Integrated/Unified Storage, and Microsoft – Part 3 (archive)
  • WinFS, Integrated/Unified Storage, and Microsoft – Part 4 (archive)

From thisisbillgates:

Q. What one Microsoft program or product that was never fully developed or released do you wish had made it to market?

A. We had a rich database as the client/cloud store that was part of a Windows release that was before its time. This is an idea that will remerge since your cloud store will be rich with schema rather than just a bunch of files and the client will be a partial replica of it with rich schema understanding.

The short version is that it while it difficult to pull off, the challenge was to get the Exchange team to use it. They were going to be the test case. Except Object File System (OFS, aka Integrated Storage, aka Cairo, aka WinFS) wasn't ready yet. Microsoft had just bought SQL Server from Sybase, and were also creating an entirely new database engine internally from scratch: Jet Blue. Does the Exchange team wait for Cairo? Do they move to SQL Server? Do they switch to Jet Blue?

In a meeting with Bill to decide the direction for Integrated Storage he had to choose between two options. One was the technology base that he thought was the right one for the long-term vision of Integrated Storage, but it was a store with no one committed to use it. The other was a solid plan and commitment to deliver something that unified the unstructured and semi-structured worlds within Microsoft. Bill chose to let the Exchange-based plan proceed, but also encouraged us to continue to work on SQL Server as the basis for a future Integrated Storage solution.

Exchange team went ahead and used JetBlue. The free database engine that ships with Windows, and has a publicly supported API. JetBlue, aka Extensible Storage Engine, is the database that powers:

  • Exchange
  • Outlook
  • Windows Search
  • Active Directory
  • Windows Updates

Bonus Reading

And in a vein similar to WinFS and data storage, Hal also had an excellent blog on the history of OLEDB, the visions, the promises, and how OLEDB really does solve problems that exist:

  • OLE DB and SQL Server: History, End-Game, and some Microsoft “dirt” (archive)

Along with SQL Server team's announcement that they're ending support for the OLEDB native client.


Just for the record, an excellent ZDNet overview from 2013 (titled "Bill Gates' biggest Microsoft product regret: WinFS"), with lots of relevant links, references and insider quotes like:

... no two members of the WinFS team seemed to be able to answer the question "What is it?" in a succinct, cohesive way. He noted:

"Some people would say that it (WinFS) was the database embedded in the operating system. Others would say that it was XML in the database. Other answers included a SQL-based file system, an object/relational mapping layer, rich storage for Office apps, a file system metadata indexer, .NET in the database, etc. It's not that these weren't useful technologies (many of them shipped outside the WinFS project), it's that there wasn't a singular vision driving the project to completion. Because no one could identify the essence of the project, it made it really hard to make any decisions about what should or shouldn't be included."

In his referenced blog post Welcker continued:

... it provides a barometer for other projects that may be headed towards certain doom. If you can’t boil down what your project is about (and everyone is be able to say what it is) then it’s probably not going to be successful. I would argue that even a single, incorrect goal is better than a wide variety of semi-correct goals. You can always change the course of a team headed in a unified direction but trying to corral a team headed in every direction is pretty much impossible.