OK, this is what I'm talking about...
WinFS is much more than a “new file system based on Yukon“, which sort-of makes you think of a search tool for finding files on the disk. You need to forget about the treeview metaphor for a minute in order to get how good this is. First of all, all files have metadata associated with them in the form of XML schema. There are standard schemas built-in and you can extend the OS with your own. Documents, People, etc... OK? Files have built-in relationships!
Here's a statement made by Lenn Pryor that hit home. How long does it take you to search for a file on your machine? Now how long would it take to google that file on the Internet? Why do we have desktop icon clutter? We organize shortcuts to make them more accessible. We are instincively providing ourselves with a “human indexing service” that far outperforms the built-in indexing service based on 10-year old technology.
There was a demonstration in which a list of over 1000 files of various types (documents, notes, videos, images) were shown in a thumbnail view. By the time the presenter had typed in a filter string of “longhorn” the list had shrunk to 30 or so. You can then show a group of documents in “pile view” based on certain criteria in which each criteria shows a number of documents that match, and the “pile” of documents is higher or lower depending on the number of hits. In short, take everything you do with SQL and apply that to the base file system, and expose the functionality in a .NET framework extention... I haven't even started talking about Avalon, the new UI API due to ship in a beta version next year.
In Longhorn there is a single schema for a person. Outlook, IM, Quickbooks, whatever app is written for longhorn will know about the people that you have relationships with. One of the coolest demos I saw was one Amazon.com did, in which they showed an app that used the web services layer to access data at amazon.com. They showed a calendar view of new releases (when certain books, movies, and CDs are coming out), and with a single button click, the guy overlaid his personal calendar onto the amazon.com new release calendar. With the graphics stuff in Avalon, the personal dates just “faded in” to the amazon calendar.
The Avalon API is vector-based, meaning instead of working with pixels you work with angles and points. Not a new idea, but this has incredible ramifications for solving screen/printer resolution problems, and transmitting screens from one PC to another in real-time. Yes, Don Box did a demo of that with wireless lan right onstage.
The new “framework” of managed code specific to LH is called WinFX. So, you won't write a .NET application, you'll write a WinFX application. I for one am glad that Microsoft came up with a better moniker than “A Windows Forms application written against the Microsoft .NET Framework”
The C# compiler comes standard on Longhorn. That's just a tidbit I think is very cool. Don said he could go over to his mother's house, open up a console window, fire up emacs, and write and compile an app right before her eyes. She would then tell him not to use so many angle-brackets and clean up his whitespace.
By the way, there are several new security features you'll hear a lot about soon, including the ability to deem an area of the heap “non-executable“ for data only, and hardware support for key management.
They've also introduced a new declarative CLR language called XAML. XAML is an XML-based markup language that lets you write User Interface code like this (I'm doing this from memory):
<Button ID=“Button1“>Press Me</Button>
It sort of looks like HTML but it's for writing native LH apps. These applications have the same strechy characteristics as web apps. That is, they scale and move around as you resize.
Don and Chris Anderson (sp?) did a demo where they wrote a windows app in emacs that had a movie for a background (which , by the way uses the GPU on the graphics card, removing intensive video processing from the CPU). They wrote the UI in XAML, wrote the code (event handling, etc) in C#, and even wrote a Longhorn service in VB.NET whidbey that made a UI piece for the Longhorn toolbar called a Tile (I believe) that hooked a web service. In a previous demo this same app posted an entry to Don's blog, which you can see for yourself is still there. They did this live onstage.
The new web-service layer in Longhorn is called Indigo, and won't be feature complete for a long time. However, as Jim stressed, everything we saw was real. The bits they handed out do NOT have the new UI and some other things, and performance is bad, but they wanted to give everyone an early start learning about what MS is doing.
So, to answer the OSS naysayers who think this is all hype, you just go right on thinking it's hype, and someday you'll be asking me if I want fries with that.