Well - in the software industry tradition of announcing products before they're ready, with the PDC drawing to a close I thought I'd tell you that I'm working on a sister site to .NET 247 called WinFX 247. The new site will ultimately be at www.winfx247.com, but the domain changes haven't propagated yet so please don't try it. This new site will be dedicated to everything that we will be seeing in the Whidbey and Longhorn timeframe.
The reason why I'm mentioning this now is that I'm working on a feature of the site that will show you where all the new additions to the framework have been made in the Longhorn PDC bits. It will show new namespaces, new public types and new private and public members on those types. I will also be plugging this into all of the Microsoft newsgroups in short order, and over the next few weeks into other fora. This should help all of us understand exactly what we've been given.
I've separated the sites mainly to ensure that .NET 247 remains useful to those developers not messing around with the Whidbey bits. Ultimately, .NET 247 will get subsumed into WinFX 247 in the same way that the BCL will be subsumed into WinFX in the Longhorn timeframe.
I'll keep you all posted through my blog, but if anyone has any comments or queries please get in touch.
In Bill's keynote at PDC, he picked out a domain: winqual.microsoft.com. This is the domain that the Windows crash reports go to when apps die.
Apparently, ISV's can get the reports that are sent to Microsoft. This means that you can use Microsoft's error reporting system to capture crash reports for your own application, rather than having to roll your own. To sign up, you'll need a Verisign ID - but anyway, you can view information on this dealy at https://winqual.microsoft.com/default.aspx.
When I read that Microsoft had patented this “phone home” technology (Slashdot), I thought it was a bit odd. Perhaps Microsoft are trying to drive all error reports through their own systems in order to improve the quality of Windows and don't want apps eating their own error goop.
PS: Incidentially, I just started using FogBUGZ in anger (which I love), and you can integrate your own “phone home” reporting software into FogBUGZ by using a feature of theirs called Scout. (It's a little hard to find documentation on this, but there are plenty of hits in their forum.) I'm doing this as part of the work I'm doing to improve .NET 247.
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:
|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.
Finally got here. I've been up for... oh... 22 hours? Haven't quite made it over to the conference center yet as I'm jetlagged and needed to catch up on some sleep.
The Omin's wireless is now working for those staying here... (Julia? You're the only one that I know of staying here.) They just fitted a repeater in my room to boost the signal. Apparently, the other networks in nearby buildings are knocking out the signal. Works A-OK now. Of course, I'm the daddy of signal as the transmitter is about three feet from my head.
Interestingly, I have just developed a headache, but I suspect it's jetlag.
Oh yes - someone on my flight (KL0601 from Amsterdam to LA) was wearing an infamous “I'm blogging this” t-shirt. Who are you???