There have been too many Vista vs. OSX articles, in which almost all have been from a consumer perspective. I'm a software developer, so I generally don't care how cool iPhoto is or want to get in a religious war of iTunes vs. Windows Media Player. What I do want to talk about is UI. More specifically, Vista DWM vs. OSX Quartz Compositor/Apple Core.
OSX
Introduction
I recently had my employer purchase me a Mac Pro. It was a win/win situation because I can dual boot my Windows OS with OSX and at no risk because it wasn't my money.
I have not really used a Macintosh since 1999. I believe System 9.5 was the last one I used. See, I was a double major, computer science and computer graphics. For computer graphics we had the Macintoshes. That is where I learned to hate anything Apple made. Not a single Mac could run Photoshop for more than 25 minutes without crashing (when I say crash I'm talking "sad mac" face) and the entire class would constantly request to "finish their work" in the CAD room next door, which was NT 4. I had built up the idea that Macs were the feminine face of computing. It was for people that don't want to care how a computer ran, but wanted something pretty for their desk that checked email.
Now enter 2007. With my previous bias, I really wanted to come to the conclusion that OSX sucks. I really did. Macs are not just for women any more. But now for men that have testicles.
OSX Quartz
I do not want to get off topic so here's the meat of OSX Quartz. Quartz is the UI compositor for OSX. It offloads all the pretty desktop effects ontVo the GPU so we can get the smooth animation of the Dock, the "Genie" effect when we minimize or 3D effects on windows without taxing the CPU. Apple's "Core Image" technology also does some interesting things like raster manipulation (blur, warp, shadow, etc) on the GPU without bothering the developer on the dirty details of pixel-shader programming.
Apple has done an excellent job showcasing their Quartz technology within their OS. When you drag a "Widget" on your screen, you see a nice ripple effect. Icons are highly animated in the Dock. The whole desktop can smoothly move out of the way to show other options. Windows that go full-screen generally have a smooth fade effect attached with it.
Vista
Introduction
I've been running Vista since the first day it was out. I was really excited to get it and overall very happy with it. Vista has been receiving a lot of bad press, especially amongst the IT crowd. Most of the complaints are a rehash of the problems with XP and I mostly disregard these as people thinking they can have a six-year-old computer run it or it's the old dog not wanting to learn new tricks.
Vista DWM
The Vista DWM (Desktop Window Manager) is what I was excited about the most with Vista. The DWM is an ingenious piece of work that renders all windows to the GPU of a video card. Conceptually it is very similar to the OSX Quartz engine. This gives the OS the ability to do things like "Flip3D" and other minor window effects.
After getting dirty with the Vista SDK, I have to say the DWM API was a HUGE disappointment. Let me explain. The OS obviously has the ability to take windows and render the output to 3D textures (as seen in Flip3D). It also has the ability to do advanced effects on the window (as seen in the blurred glass) via pixel shaders. For some reason Microsoft does not want ISV enhancing it. They have only provided an API for getting live thumbnails of windows. This does little for anyone. Some people have made use of this API, making an Expose like feature for Vista. In my opinion, Switcher (http://insentient.net/) surprisingly is better than the stock OSX version.
Conclusion
I think at the moment Apple is a head of the desktop composition curve, but I Vista's DWM has more [locked away] potential. With the power of DirectX/3D (and hardware manufactures developing pretty much FOR DirectX) built right into the desktop, I think we can expect a UI experience that leap frogs Quartz.Microsoft just has to open the damned API. Come on Microsoft, I know all about the "DwmpDxGetWindowSharedSurface" in dwmapi.dll. Just give us some header files and we'll shut up.
If anyone is interested in hacking the dwmapi.dll, let me know [jeremiah.morrill at gmail.com]. I've been able to get the Direct3D surface of my applications window and render it to a 3D mesh, but requesting any other window renders a black texture and makes other apps crash.