In the "Chat with Microsoft Execs," Bob Muglio answered a question about Avalon extending to RDP clients that have WinFX (maybe an RDP6?). I have been working my way through the blizzard of Microsoft information and found an interesting gem that could be what he is talking about, and it would affect the future of the terminal server market.
Both RDP and ICA work by taking graphics primitives in the kernel, down near the video driver (termdd). When they can, they try to use GDI objects instead of bitmaps, but bitmaps end up being the “lowest common denominator” when pictures and shading (pixilation) are use. In any case, these are graphical objects rendered on the server to a resolution for a 2D display “virtual screen”. These protocols do a pretty good job to figure out what has changed and, compressing to reduce bandwidth, shipping them over the wire.
One of the ideas that have been out there for years to enhance terminal server has been to grab the graphics at an earlier point closer to the application and send that over the wire for local rendering instead. But it has only been an idea (I am aware of one implementation, but it was not commercially available. Brian may remember a conversation he and I had about it the first time we met!)
Up on Channel 9 there is a video (link below, this is not the same video as the Channel 9 Terminal Server video that Brian linked to several months ago) of Chris Anderson, who is the architect at Microsoft for Avalon (now called Windows Presentation Foundation), the graphics end of the new Vista/Longhorn platforms. In this video he describes how terminal services could hook into the new graphics primitives. Chris does not talk time-frames or releases, but his talk does offer the possibility of doing all the graphics rendering on the client device instead of on the terminal server. Bob and others seemed to imply a Longhorn timeframe for this functionality in the chat and only if the Client has WinFx.
This would be a significant development for terminal server. It would open up the deployment of graphic rich applications on terminal servers. Things like AutoCad, or MSC, or even video games! These are significant applications that should be centralized on a hunkin’ piece of iron that is near large storage capacity. By offloading the graphics rendering to a more capable device we can have the best of both worlds. Certainly 2D zoom and rotate could be done at the client. If the graphic objects could be 3D objects, then 3D rotation would also be local. Now this only works with a thin-device with a good graphics card--but it beats buying a $10k workstation since CPU and storage are not important--and has to have WinFx capability.
You can see the Video here: http://channel9.msdn.com/Showpost.aspc?postid=67522
The video is a technical white board talk covering the internal architecture of the new graphics system, and it helps a whole lot if you already understand how the current graphics system, including User32, termdd and the like work. He gets into that about half way through--roughly the 6 minute mark. Also in the chat area of that web page is a pretty good diagram in a post by Tom Servo that I think is helpful--although an educated “guess” at how this stuff lays out.
PS: I am pretty sure that this does not spell trouble for Citrix. They likely will be able to hook in the same way. In fact, having two implementations of this level of remoting UI will probably produce a better result for all of us.