November 16, 2003
Longhorn news from L.A.
Clemens Vasters's company, newtelligence, did a debrief of new information gathered at the Microsoft PDC in LA. It was a very interesting evening. It was fun to meet Clemens, whose blog I have been following for quite some time now, in person. The beer was free (sponsored by MS), so the basic human needs were covered.
Contrary to the agenda in the invitation, Clemens was the only speaker, which was fine by me — he is easy to listen to, seems to be as knowledgable as one can be about technology that is only a few weeks old, and did a good job covering the essential news of Longhorn, Microsoft's new OS due to be released some time in 2006 (God willing, that is).
So thanks to newtelligence and Clemens for doing this! I had read quite a bit about Longhorn before, and I assume most everybody reading this will have done so, as well. Nevertheless, here's my brief, and very personal summary of what I found interesting ...
The news about longhorn can be divided into three main categories - presentation (Avalong), data (WinFS) and communication (Indigo). I'll attack them in reverse order.
Indigo is the new, and most notably, only way to do communications in Longhorn. It is thus the successor to DCOM, COM+, .NET Remoting, Named Pipes, and any other IPC means that can be used in Windows today. It's based on SOAP and the whole plethora of WS-* standards. This was clearly Clemens's pet peeve, as is also illustrated by the new name of his weblog ("Indigo'd"). Personally, I was not extremely impressed by the APIs themselves - basically, they are roughly equivalent to most of the other SOAP stacks out there. One major difference is that Indigo is applicable in any communication scenario - even on a single machine. In this case, it will recognize that the other end is also capable of speaking Indigo, and use an efficient, binary protocol for communication.
(What I found quite funny was Clemens's assertion that all of the relevant Web services standards are, in fact, all developed by Microsoft. The others - namely, BEA and IBM - help a bit, but basically the standards just follow Indigo's implementation road map. Sure, Clemens. BTW, what color is the sky in the world you live in?)
WinFS, although being an acronym for Windows File System, is not really a file system at all. It does away with the old-fashioned notion of files and folders, and replaces them with "items" and "stacks". An item is rather more fine-graine then a file; an example would be a contact address, a calendar entry or any other piece of data. These items can be related, put onto stacks (which allows for categorization or grouping along multiple dimensions), and has a concept of meta-data that can be associated with each entry. Other data stores, such as relational databases or applications with proprietary storage mechanisms, can take advantage of these features by exposing their items to WinFS.
This seems like a pretty neat concept, although quite a few questions remain open for me. I'd love to dig a bit deeper with an actual Longhorn preview release some time soon.
Avalon is the successor to all of the Windows UI APIs. It comprises a new, XML-based, declarative language to describe a user interface. The UI elements, such as canvases, controls, labels, texts, and media content such as pictures or videos, can be composed in any manner. This means that you can e.g. put a video in a list box, and once you scroll the list to this item, you will see the video playing. It's also possible to "decorate" (in the GoF Design Pattern sense) structures that were composed this way, for example to apply effects like rotation. To do this, Avalon is completely vector-based and uses the GPU of the ubiquitous-in-2006 graphics accelerators. The programming model is roughly similar to what you'd do today with ASP.NET.
Strangely enough, Avalon was what impressed me most (this is strange because I'm not a UI-centric guy at all). But it seemed to be the most revolutionary feature.
All in all, a very interesting evening. I'm looking forward to the next event of this kind ...
