What happened to WinFS?

Friday’s announcement has left a lot of people asking what happened to WinFS?  The short answer is: nothing.  But a lot happened to Windows.

As I explained in my previous post, the customer and developer feedback we’ve been getting was consistent on two points: We want to start using WinFX as soon as possible, and we don’t want to require Longhorn to run WinFX applications.  To respond to this feedback, the product teams had to ask themselves what they could do to tighten their schedules, and figure out how well their platform would behave on XP.

The WinFS team spent a solid couple weeks going through this evaluation.  There are of course plenty of things you could do to increase the confidence level on a project the size of WinFS, since it has so many features, including:

  • Built-in schemas for calendar, contacts, documents, media, etc
  • Etensibility for adding custom schema or business logic
  • File system integration, like promotion/demotion and valid win32 file paths
  • A synchronization runtime for keeping content up to date
  • Rich API support for app scenarios like grouping and filtering
  • A self-tuning management service to keep the system running well
  • Tools for deploying schema, data and applications

If you cut one of these, or reduced its functionality, you could probably shorten the schedule.  But I think the team concluded that the real sweet spot of WinFS is all these features delivered together, in an integrated package.  The feedback I’ve heard from ISVs, certainly, is that if you take any one of these things away, you significantly diminish the value of WinFS overall.

In Bill’s interview with CNET, he talks about even adding additional features that ISVs have been asking for, such as “adding the tabular stuff and figuring out a server plan”.  In his words, “The WinFS team, in terms of its progress and performance, is doing very, very good work, but it couldn't take the additional features and make an '06 schedule.”

The team also looked into what it would take to get WinFS working on XP.  The biggest sticking point, as I understand, is around the file system integration.  There have been several changes to NTFS in Longhorn which enable WinFS to guarantee consistency between an NTFS file and the WinFS Item which represents it.  If you run WinFS on XP, you lose that guarantee, which could affect the reliability of the system (unless someone ports NTFS changes back to the XP code base, which makes for even more work to be done.)

So what happened to WinFS?  Nothing.  Others Windows teams concluded they could make some changes in order to deliver more quickly, and so they are accelerating and aiming to deliver to WinFX functionality on XP and Server 2003.  The WinFS team concluded that neither of these was viable, so their plans are unchanged.

Actually, “unchanged” is misleading.  They are updating a lot of their plans.  The API went through one of Steven Clarke’s usability studies, and the API team has really listened to that feedback and come up with some new API patterns and a revised data model.  I have seen the proposed changes and they are a huge improvement.  The schema team has been busy taking feedback on the default, in-the-box schemas, and those are getting refined as well.  The performance team has achieved tenfold gains in some areas, and they’re really just getting started with the profiling and tuning process.  The file system integration team has been working closely with ISVs to tune the promotion/demotion model.  The core data model team has been working with MBF to come up with a single model that will support information worker apps, PIM apps, and line of business apps.  There’s a team hard at work figuring out how WinFS feature manifest themselves in the next release of Windows Server, as well as the next release of SQL Server.

The work the entire WinFS team is doing is really amazing, and I am looking forward to the day that we can share some of it back out to the community.

Do I wish we could have found a way to include WinFS in the 2006 releases announced yesterday?  Yes.  But am I glad that the team stayed focus on building the right thing for ISVs, and accepted the trade off is shipping in 2007?  Emphatically yes.