It is an interesting coincidence that Microsoft released Silverlight 1.0 Beta, a browser plug-in that utilizes WPF to provide a rich user experience, shortly after releasing Longhorn Beta 3, which does not include WPF Remoting for Terminal Services. Given this, I think that it is worthwhile to discuss the similarities and differences between these two technologies (other than the fact that one exists and the other, at least currently, doesn’t).
The similarity between the two is that both are Microsoft proprietary technologies enabling server-driven applications to provide a high-grade user experience using WPF. In both cases XAML is generated or stored on the server, then transmitted to and rendered on the client. In addition, while some event handling and validation can be performed on the client, the brunt of the business logic is performed on the server.
The are also numerous differences between the two technologies:
Based these differences, in particular #2 and #3, it appears that despite relying on the same WPF/CLR technology WPF Remoting and Silverlight espouse very different usage patterns. Silverlight naturally follows the Web 2.0 pattern of handling as much user interaction as possible in the client, and requesting more data from the server only when it is required. Session context is also based on the client state. WPF Remoting is an extension of RDP, and as such it is the server that does almost all of the heavy lifting with the client primarily just doing the rendering.
While the approach used by Silverlight has the benefit of generally being more scalable, it is also more complicated to use than WPF Remoting. Creating Web 2.0 Ajax applications, with or without Silverlight, is certainly more difficult than developing a standalone WPF application. Given this I believe both approaches have merit, and I remain hopeful that Microsoft will eventually give WPF Remoting a chance.