I have been convinced for a while now that the industry is headed toward more of a companion application model... that is a model that offers the best of the web world in the browser and everywhere and the best of the client world out of browser.    One common example of this model is Outlook Web Access everywhere and Outlook for the desktop.  While this patterns has been around for a while... it has been very difficult to implement. Today, if you can afford to double implement this is in reach, but as we move forward with .NET and Xaml everywhere with Silverlight and full WPF you can reuse lots more of your application design (in Xaml) and business logic (in .NET) across the web and the desktop.

As I am sure you are aware, NBC, like all the major networks has for a while now offered streaming for their TV content image from their web site..  But they have recently put into beta and .NET Framework based full desktop companion application that enables offline viewing, scheduled download of higher definition content and offers the ability for even more desktop integration in the future.  Notice it does go full screen as well.. 



I can't wait to see what sort of solutions networks can build when they can get on a single platform for the web and desktop client experiences... 

From looking at the C:\Program Files\NBC Direct directory it appears that the good folks at NBC are using a lot of cool stuff from the community:

Spring .NET Application framework






What are your thoughts on Companion applications?  Have you seen any good ones?