Does this mean that I've abandoned Windows Presentation Foundation (Avalon) to work on the DWM? By no means. The DWM is built upon the core graphics layer of Avalon, and is being developed by the same team responsible for Avalon.
We've been heads down on design, development, and testing for quite some time, but now that there's an end in sight, I figured I'd come up for air and describe a bit about what we've done and the technical underpinnings of this visible feature. There's lots and lots that can potentially be discussed, so I'm going to keep this first post fairly broad and high level, and will be interested in feedback if there are other specific areas of interest that readers would like to delve further into. So please do comment with your thoughts!
The DWM is of course just part of Windows Vista and not considered distinct from it. Its features are exclusively available in the Windows Vista Aero experience. I'm pulling out some of the more recognizable features here.
By far the largest change to Windows Vista in the way that windows are presented is the introduction of "desktop composition". This underlies everything that is done by the DWM. The primary takeaway for desktop composition: the way an application gets pixels on the screen has fundamentally changed.
In all versions of Windows, up until Windows XP, applications were asked by Windows to paint their visible region, and they would paint directly to the buffer that was to be displayed by the video card. With Windows Vista, applications are asked by Windows to paint their entire surface to an offscreen surface (alternatively known as a bitmap, buffer, or texture), and it's up to the DWM to take all of these offscreen surfaces, and "compose" them together to the onscreen buffer.
Read the previous paragraph again. From a windowing system display perspective, this has profound implications in terms of the features that can be implemented, and the quality that can be achieved. Some examples:
Desktop composition is the most fundamental aspect of what the DWM provides, but we've really only scratched the surface of that topic, and there are still a lot of related topics to explore for a full understanding of what we're doing in Windows Vista. Here's a rough cut of likely topics, roughly in the order I'd expect to tackle them.
Again, please do comment with your interests and where you'd like this conversation to go. No promises of course that we'll even get to any of them... but I do expect to.
While this is probably the most technically comprehensive discussion thus far of the DWM out on the web (though I'm certainly happy to be proven wrong), there are definitely other places with great sources of information and news: