I'm at the Microsoft Professional Developer's Conference (PDC) in Los Angeles.
Today Microsoft formally unveiled "Longhorn", the next version of Windows. Scheduled for shipment in 2006, Longhorn features a multimedia-capable new display framework ("Avalon"), used to create a new Windows UI ("Aero"), a new database-like filesystem ("WinFS"), new inter-program and inter-computer communication mechanisms ("Indigo"), and a new object-oriented system API ("WinFX"). In conjunction with Longhorn Microsoft is also previewing a new version of SQLServer ("Yukon"), and a new version of Visual Studio ("Whidbey"), along with updates to .NET languages like C# and ASP, and a new declarative XML-based language used for specifying Avalon display objects and properties ("XAML", improbably pronounced "zamel", by analogy to Netscape's similar XUL, which was pronounced "zool"). There's a lot of new buzzwords and concepts, all for an OS which is still three years off. But it is exciting!
Day 1 featured a keynote by Bill Gates, given in his usual "I'm bored but I'm here so what the heck" style. He surveyed "lessons learned" by way of introduction to new versions of Windows and new opportunities for developers. If he wasn't the founder of Microsoft - and the world's wealthiest man - would you pay close attention? No. He is not dynamic when addressing big groups and never seems to have much of import to say. Sprinkled into his talk were funny videos including a terrific backhand "interview" of John Sculley (ex-CEO of Apple), comparing Newton (circa 1992) to Windows CE (circa 2003).
Following Mr. Bill, Microsoft GVP Jim Allchin presented "a lap around Longhorn". During the lap he called on several members of his team to drill down. Key to the Longhorn architecture is that new 'stacks' are being created to implement Avalon, WinFS, and Indigo, building on the foundations in Windows XP. So good old Win32 code will happily run on NTFS files, side-by-side with Avalon code using WinFS.
After all the on-stage coding, Jim introduced three software developers who have been beta-testing aspects of Longhorn.
That wrapped up Jim's lap; overall it was a pretty meaty keynote. It is hard to say how of this stuff will make it into the final release, but Microsoft did give every developer a preview copy of Longhorn which can run all the code they demoed. Stay tuned as I become a XAMLer.
After lunch I attended three sessions which discussed Avalon, Whidbey, and Indigo in more detail. The Avalon presentation by Michael Wallent was pretty boring and discouragingly short on detail. (Too many powerpoint slides, show us code!) There were some interesting questions at the end about interop between Longhorn and "legacy" Win32 applications. It appears Microsoft is bending way over to insure backward compatibility for Win32 applications, and today's .NET applications as well. It is possible to run Win32 and .NET applications "as is" on Longhorn, and also for Win32 objects to interact with WinFX objects. There most likely will be a performance penalty for this compatibility, but hey, it works.
Whidbey was ably presented by Scott Guthrie, using ASP.NET and featuring the many objects Microsoft provides as web-application building blocks. Whidbey looks reassuringly similar to Visual Studio, and appears to be an incremental upgrade rather than a rewrite. It will be available well in advance of Longhorn, to enable people to develop Avalon, WinFS, and Indigo -based applications under WinXP. The web development environment has been nicely simplified, eliminating all the bogus side files and directories required by FrontPage, as well as the requirement for FrontPage Server Extensions. It all looks really nice, but for building web apps I still like LAMP. Maybe with time and familiarity I'll feel differently.
The Indigo presentation featured Don Box at his most outrageous and pontifical. It was entertaining for nearly an hour, but unfortunately the talk was scheduled for an hour and a half, and toward the end it became painful. It appears Indigo is one of the least complete technologies presented so far. As I mentioned above, the key to Indigo is the conceptual transition from objects calling other objects remotely to clients calling servers using request/response messages. Don called it "service orientation" instead of "object orientation". He made a good point that it is pleasant to treat program-to-program interactions the same as machine-to-machine interactions, but in the end they're really different, and Indigo recognizes this. The underlying messaging architecture is called ASMX, a derivative of HTTP developed for SOAP. (Hey, I'm getting pretty good at this acronym soup, huh?) Microsoft seems quite committed to improving security in Longhorn, and since machine-to-machine security is more critical than program-to-program security within a machine, Indigo has a lot of security features.
Wrapping up the day was a well-attended BOF session (birds of a feather) for webloggers, hosted by Robert McLaws (host at the Longhorn Blogs). Also present were bloggers Robert Scoble (of course), Marc Cantor, Werner Vogles, Clemens Vasters (author of Das Blog), Greg Reinacker (author of NewsGator), Scott Water (author of .Text), and about 100 others I don't know (sorry)! And oh yeah, Drew Robbins and Kevin Schuler were there (hosts of PDCbloggers).
I left for the PDC at 5AM, and got home at midnight. Cool.