Before going on to my next scenario, I wanted to address feedback I’ve gotten so far.
On the general usefulness of WinFS, Stephane Rodriquez commented that “It’s not about information, it’s about MESSAGE.” You can quibble with my language, but we both mean the same thing – you need a simple way to get at the stuff that’s important to you, when you need it. We showed a demo at PDC of trying to find documents written by Bill about Longhorn. Using the Longhorn document library, which exposes a simple query interface on top of data stored in WinFS (yes Michael, I agree that a great user experience is what really makes WinFS shine,) it takes two clicks (one to stack by Author, a second to stack by Project) to go from 1100 documents down to just the 40 or so where Author=Bill and Project=Longhorn. Or to stick closer to my first scenario, two clicks to find music where Genre=Jazz and Mood=Mellow or what have you.
Both Mario and Harold (in comments and in his blog, respectively) want to see an easy way to get meta-data out of WinFS for use by other systems. Right on – that’s why the system includes an extensible demotion engine to write meta-data back into the filestream as appropriate. Of course you can also query for meta-data using SQL, if you want, and even request the results in XML format.
Regarding my first scenario, I’ve got Dare agreeing that “scenario is compelling”, although he suggests “that there doesn’t even need to be explicit inter-application sharing of data” to make the scenario work. Along the same lines, Simon comments that “I can already do this by selecting details view and letting explorer show me all of the meta-data stored *inside* my mp3 files.” It’s certainly true that for this scenario, you don’t need WinFS to get access to the meta-data for an individual file. But you do need WinFS to get to it in a consistent way across multiple kinds of items, stored across multiple folders, and to do it fast. Mario addresses some of this in his comments, but I’ll be more explicit.
Let’s say you use iTunes to purchase AC3 files, you’ve got some old MP3’s lying around, a collection of WMAs, and maybe some Oggs as well. And they’re spread across a hierarchy that’s 10 folders wide and 10 deep. Now you’re in Movie Maker, and you want to find that mellow jazz tune to add. What you need is a queryable index across all those files. You need a storage engine that extracts the genre information from the files, stores it in a common schema, and indexes it, so that you’re not grinding through the hard drive every time you want to find a piece of music. That’s where WinFS adds value in this scenario.
A few more comments worth pointing out: Asbjørn suggests this kind of common store with a schema that allows for relationships would be useful for organizing his inbox such that: “My e-mail is basically in a pool altogether, and is placed with pointers (shortcuts) in different views (compare them to database views, as there is no physical moving of files going on) that I can create.” David wants to get the same sort of quick and easy sorting/filtering experience I mentioned above for the PDF files he downloads, and Mario points out that the promotion engine in WinFS is designed for exactly this case.
Okay, moving on to the next scenario…