AJAX in newtellivision
Did I mention that both, the Media Player experience and the MCE experience are actually AJAX apps? The Media Center guide screen dynamically loads the guide data from the backend services as (slightly) annotated RSS and transforms it into a remote-control scrollable grid that looks very similar to MCE's own.
The whole glory is hiding in the source code archive under newtellivision.Framework.Server and there in the envelopes/mce and envelopes/wmp subdirectories. I tried to make the JavaScript legible and not optimized for size, so it should be fairly straightforward to read. There is a lot of setTimeout() trickery going on, though. A special twist is that all of these files are embedded resources and the newtellivision server serves them up from within the assembly. The binary install doesn't have any external collateral in the program directory. However, if you place files into the envelopes/mce or envelopes/wmp directories below the program install path, you can override the whole or parts of the experiences. Don't like the colors? Override the *.css files, etc.