In my previous report, I forgot to mention one more significant product update: Office. The next version of Office (“Office 14”) will have an online version, complete with the famous Ribbon and all major editing capabilities. In addition, synchronization services will allow nice, seamless sync between an online and offline versions, including the ability to open the same file by multiple users for editing with automatic or manual updates.
On with day 3!
Today’s keynote was by Rick Rashid, the head of Microsoft Research. After some general introduction to his division – MS research is one of the largest groups of researchers in the world, he showed (with help from others) some of the projects they’re working on. Definitely amazing and interesting stuff. Here’s one example, the World Wide Telescope project, which can be used online.
Session 1
The first session I went to was “parallel programming for managed developers in Visual Studio 2010”. The talk was very good and to the point, with good code examples. .NET 4.0 will have an abstraction of the low-level Thread class. The first is a Task class, that allows creating a hierarchical tree of jobs to be accomplished with built in ability to wait and cancel as appropriate. An even higher level abstraction over the Task types (there is a generic version for returning results, very intuitive) is the Parallel class, that contains various static methods, such as ForEach and For that can take a set of sequential tasks and automatically parallelize them.
Also, a ParallelEnumerable class contains extension methods that enable transforming LINQ expressions into parallel execution (PLINQ).
Session 2
After lunch, I went to a session that was renamed to “Direct2D and DirectWrite APIs” (it was simply called “new graphics APIs on Windows 7”, but after the “announcement” of the new D* APIs the true name of the session was “allowed” to be revealed).
This was (in the second part) a quick illustration of the new APIs for 2D and text rendering coming up on Windows 7. These are purely native COM APIs, much like the rest of DirectX. These APIs will have an implementation on Vista as well, probably around the time of SP2. The APIs are quite verbose, as all DirectX APIs are, but allow great control and increased performance as all is GPU accelerated if possible, falling back to software rendering if not. Even at software rendering it’s faster than GDI and as good looking (at least) as GDI+.
Session 3
The next session I tried was “Oslo, Repository and Models”. The previous talk I saw about Oslo was disappointing because of the wasting of time by the presenters with private and public jokes, which may be fun for the first 1 or 2, but become distracting and annoying later. Unfortunately, this session was also with two presenters (Chris Sells and Martin Gaudgin, both very respectable), but they too decided this is their chance at comedy, and did a simple M model with about 7 lines (including braces) in 35 minutes. That was the breakpoint for me and I left the session to try to acquire more shirts at the big Expo hall (and I did get a nice CodePlex training jacket, no just a simple T-shirt…)
Session 4
For the last session of the day, I decided on going to the unconventional and hear about the next version of the Windows Embedded OS (the current version is Windoes XP embedded), code named “Quebec”. The next version will have the Windows 7 kernel, with much simplified tools and procedures for creating the OS image than was in the Windows XP Embedded suite.
The surprise was that currently there was no way to get these tools to try them out, although the presenter did have some kind of version. A deeper query revealed that Microsoft does not even have an internal build to test the tools, nor do they have any timeline of availability. The Windows Embedded was not updated in quite a long time, and it seems Microsoft does want to continue this line of products, but that group is very dependent on the Windows 7 groups for availability and features.
Ask the Experts
This was the “Ask the Experts” evening, with all MS experts gathered in the great hall. Personally, in the development of the CLR Explorer tool, I’ve encountered a few issues and something that looked like a bug. I got a hold of one of the senior CLR developers that knows the ICorDebug* set of interfaces I was using, and I demonstrated the bug, which was an access violation reading what seemed like a NULL pointer. I handed him a crash dump of the process and was promised that this would be checked and if indeed a bug will be fixed for the upcoming CLR 4.0 version. At I did some good!
I also tried to get an answer to my logn standing question of why is WPF not exposed as pure native library, so I can use it without dragging the CLR and .NET framework? The short answer is “because”, which involves politics, managed code promotion and the idea that this is really in the DirectX realm and not WPF. Oh, well. I tried.
There were some more interesting discussion at “Ask the experts”. Maybe I’ll write about that in another post.
Last day of PDC is starting just about now…