Longhorn - I'm so excited, and I just can't hide it.

My first update from PDC.  Lucky for you guys that I’m blogging now and having lunch in a little while because I’m very thirsty having sat in the initial talks lasting three hours without a break! 

 

I tell you thought – I’m so excited about Longhorn, and I just can’t hide it.  The pieces are really fitting together for me now.

 

Bill’s talk was a little long-term wish-wash at times, but had some interesting parts about what was going on with the whole Longhorn thing.  This PDC is all about Longhorn, which I hadn’t really realized before, thinking that it was about Whidbey, Yukon and Longhorn.  I would say that Longhorn is going to be by far the most significant of these and offer the same level of change to the industry as Windows 95 did – which would make sense seeing as almost a decade would have elapsed between both versions.

 

Bill (and later Jim Allchin’s talk) talked a lot about security.  Bill specifically picked out the “Next Generation Secure Computing Base” initiative, which from my understanding sounds like a collaboration between Microsoft and system vendors to create the kind of platforms that physically stop you duplicating copyright material and so on.  He mentioned a 2006 timeframe for this.

 

He also said that “software” is the big problem going forward, whereas once it was CPU capacity for GUI’s and network imperatives for Internet applications.

 

Pay special attention to this graphic – it’s going to be the most important graphic you see for a very long time:

 

Presentation: Avalon Data: WinFS Communications: Indigo
Base Operating Systems Services: Fundamentals

 

This is where we get into Jim’s talk, which was much more about the detail of Longhorn and all the bits.  He introduced the idea of “WinFx”.  In my opinion, this will be the name that the .NET Framework is renamed to.  I suspect that they will reduce the importance of this name going forward – calling .NET Framework developers “managed code developers” and setting up WinFx as the class library we will use to do everything.  It’s basically an extension on the BCL that we have today.

 

Fundamentals include things like:

 

·        Deployment – click once, reduced reboot, software update services, migration services (one machine to another, same machine),

·        Reliability – a “flight data recorder” at the OS level, driver verifications and hardware monitoring,

·        Security – lots and lots of stuff here (sorry, I didn’t note is all down!)

·        Performance – full use of the GPU (they appear to be obsessed with this – it appears that games developers use it all, but that desktop developers hardly use it), something about “Superfetch” that I don’t have any notes on and glitch-free CPU scheduling and disk I/O to make everything smoother.

 

Avalon was just incredibly sexy.  This is merging of Windows applications and the Web.  In the future, there will be no distinction between the too.  I can’t get across how amazing this is, but Don Box and Chris Anderson did a demo with some very slick looking graphics on it, and Adobe also demonstrated some very cool things that you can do with this.

 

Avalon is based on an idea of declarative programming (I think).  You physically describe a page as XML (XAML in fact, which I guess stands for eXtensible Application Markup Language), in the same way as you would the Web.  Longhorn then turns this into controls on a window.  There is no hack from managed code to unmanaged code in Longhorn like there is in the .NET that we run today on non-Longhorn platforms – i.e. no hack from new Form() to CreateWindowEx.  There is also going to be a XAML/code-behind split with desktop apps as there are with ASP.NET applications today.

 

Avalon is entirely based on a “vector based compositing engine”, which means that everything is described in vectors so that it can all be scaled up properly.  There is also only one engine for rendering, as today there is a separate 2D and 3D engine.

 

Expect to need to employ graphic designers to build Avalon applications, they way that often has to be done with Web applications today.

 

Longhorn has the C# compiler and SDK bits built in.  This includes a build engine which smells a little but like NAnt, but trust me, I’m very happy to have this.

 

WinFS was pretty damn amazing.  This is where anything in the OS is described with metadata, which can be extended, the idea being is that we move away from a file/folder metaphor that we have today and into a world of dynamic views. 

 

For those who have used Outlook 2003, you already know how this works.  In Outlook 2003, I can click on “New Mail” to see a dynamic view of just new mail.  I can then click on Inbox to see everything in my Inbox.  WinFS kinda works like this.  I can click on “My Documents” and then see all of my documents.  I can then filter to see just the files for a certain project.  I can then drill down to see all authors for that project.  Or I can do it the other way around.  Or I can invent my own metadata and filter on that.

 

Jim described the very compelling idea here of “silos” – the idea being that application data is too partitioned to enable easy sharing.  What they are moving towards is one where schemas are extended for applications, and that any application has (controlled, reliable, secure) access to another’s data.  This means that (if allowed) an application can drill into any other application’s data store to get data.  (Amazon demo’d an application that displays a calendar of new releases from their site with the user’s calendar overlaid on top.  I haven’t really explained this well – I’ll try and improve this a bit later on.)

 

As well as this, WinFS offers synchronization services to make writing partially connected applications easier, and information agents that run across all applications.  (e.g. get e-mail, send an IM that goes to my phone.)

 

WinFS is also a layer on NTFS – I think.

 

To me, a lot of this sounds awfully like what Active Directory should have been.  They have some standard schemas that can be extended: person, user, infrastructure and system.

 

Indigo is the communications piece and handles how any applications communicate with others.  SOAP and Web services are obviously a big part of this, but Indigo appears to have a lot of extensions built in to handle security, and I guess all the other things that are a pain to do in Web services that we have today.  They didn’t go into too much detail about Indigo – but I presume there’ll be plenty of information about this at PDC!

 

Collaboration is also part of Indigo.  They have this idea of a persistent peer-to-peer connection so that I can achieve what looks like a closer integration between people that I’m working with.

 

To me, WinFS looks the most interesting of all of this.  Avalon looks very, very sexy, but personally I think the important thing here is WinFS as this changes the fundamental ways that applications persist data.  I’m sure Indigo is very interesting too, but I’m wondering how many ways there are to talk about loosely coupled message exchange…

 

In terms of timescales, in the first half of next year we’re getting the Tablet PC update (“Lonestar”) and XP SP2.  In the second half of the year, we’re getting the first beta of Longhorn and the XP 64-bit for AMD. 

1 Comment

Comments have been disabled for this content.