The day started with not one, but two keynotes. The first was led by Ray Ozzie, and much like his keynote on day 1, involved a bunch of other people, each one coming up to do their part before Ozzie closes the session.
The main topic was Windows 7. Some new features of the OS were demonstrated, such as improved task bar, automatic discoverability of printers and devices, and of course, the (multi) touch interface. Definitely nice, although still relatively costly hardware.
The road map was briefly presented, with no specific dates, but the hint was Windows 7 should RTM 3 years from Vista’s RTM (which was November 2006).
The live services platform was demonstrated, with some nice features allowing seamless connectivity across PC – phone – web with little effort. Impressing.
Scott Guthrie came up and showed some of the support of Visual Studio for developing for the Live platform along with some new WPF feature, mainly the introduction of the famous Ribbon and other new controls for WPF development, such as DataGrid, Calendar and more (some of them updated from a previous preview).
The second keynote was by Don Box and Chris Anderson, doing a double act with no slides, just code. Don Box is always fun to watch even if he does nothing. The chemistry between him and Chris is quite amazing – this is how a double talk should be – flowing, funny and with a lot of code.
They started out with a simple REST based service (the one developed in the previous PDC, they said) and continued to showing how to host it locally, but still find it through a hosted address, and then really deploy it to the Windows Azure cloud. All in all – a fun and informative session.
After these two keynotes (and lunch) I went to see a talk on a somewhat obscure topic, the Concurrency and Coordination Runtime (CCR) and the Decentralized Software Services (DSS). These two technologies (DSS is built on CCR) were a part of the Microsoft Robotics Developer Studio (MRDS), but are completely separate and independent libraries that can be used outside Robotics.
Microsoft has decided to take these two libraries and create a “toolkit” that includes them both, with a hint that they may become part of the BCL in a future release of the .NET framework. I am somewhat familiar with CCR and wanted to hear more. The talk itself was not too bad, but ended after 45 minutes instead of 1:15. The CCR includes some new concepts that the presenter skimmed over way too quickly. Without the proper background, most of the audience was quite lost. There is a continuation talk today on this, I’m considering attending. Today the toolkit should be released. As I’m writing this, it is not released yet.
I went to Don Box’s talk on the “M” language, which is part of the “Oslo” initiative. I always like Don Box’s presentations because they are at least funny.
He did this with another guy and they were swapping places (one talking, the other writing code or flipping slides), just as was in the keynote. However, the other guy was no match for Don and the session had some serious downsides (but was funny). This too was over in 45 minutes, which was really annoying. It could have been so much more. Basically, “M” is a new language (there’s a lot of that floating around) that allows description of data, with its structure and constraints. The *.m source files are compiled by the M compiler (m.exe) into some compiled form (*.mx) files, which can then be used to generate an SQL database that corresponds to the data. After that, various queries can be done against that data with T-SQL or LINQ.
“M” is a based for creating textutal DSL (domain specific languages), with tokenizing and parsing done by the “Oslo” framework. I’ll definitely tackle this subject in some later post after I do more research.
The last session I went to was again somewhat on the outer rim, using Direct3D on the Windows 7 platform. I went with Tamir Khason, and we were surprised to find out that the session was switched to some more basic DirectX on Windows 7 session, with the “real” session moved to Thursday. Oh, well, we went in.
The talk was quite basic, with two new Direct APIs, Direct2D, to tackle 2D rendering (Direct3D has no direct notion of that) and remove or reduce the need for mixing the slow GDI or GDI+ calls. The second new element is DirectWrite, to tackle text drawing – again, something that was lacking in the traditional DirectX libraries, and replacing the basic features GDI provides.
Direct3D 10.1 is the basis on which Windows 7 runs. This API was redesigned so that not target game developers only, but other graphics based applications (compared to DirectX 9).
I’ll probably go to the “original” session on Thursday.
That’s it! The evening was spend in Universal Studios (the “party”). It was fun, especially “The Simpsons” ride!