We created Veronicas Radio as a demo for one of the Windows Media Center Mix 06 talks to show off the flexibility of the new UI framework (Media Center Markup Language) we had in the works for Windows Vista. It was eventually cut from the talk because we created the Q sample application (a podcast client) which was much more feature rich.
Little historical fact: The experience is so named because Veronica Law, a Program Manager at the time with the Windows Media Center team requested we create a way to listen to a couple of internet radio stations -- so it was literally "Veronicas' radio" -- and the name stuck.
We made this application available for a short time to those who wanted to install using a command line interface (in other words, not very user friendly). Basically, it's a mash up of a couple of samples we would later publish in the Windows Media Center SDK -- specifically FunHelix.mcml and ObjectModelMediaCenterEnvironmentPlayMediaAudio.mcml in the Windows 7 version if you want to follow along.
A fan of Windows Media Center recently emailed me…
"I have Vista Media Center [upgraded from XP] and have recently been clearing out programs I no longer use. One I did use [and loved the look and style of] was Veronicas Radio. However, it no longer works. I think the website which was hosting the associated files was the The Media Center Sandbox pages but the page displayed in the .xml file no longer exists."
In response I dusted off and modified the markup, updated some of the radio stations (including KIRO FM 97.3 to be able to listen to Seattle Sounders FC soccer games), deployed to my web server and created an installer. This applet works for both Windows Vista and Windows 7 and is a web application – the installer only registers the URL with Windows Media Center.
I also remembered a small applet we thought about shipping within the Extras Library for Windows 7 called Time + Date but ultimately cut due to time constraints. This was inspired by the memory of my parents calling a local telephone number (using a rotary phone no less) to get the current time and temperature.
The screen shot shows it running with the Sanskrit language selected in Windows and is another good example of a simple copy+paste from SDK samples (RulesChanged.mcml, TransformersDateTimeTransformer.mcml and ObjectModelMediaCenterBackgroundModes.mcml) to come up with something fairly useful. This applet works with only Windows 7 and like Veronicas Radio is a web application.
In the process of getting these experiences out there I began to remember some of things we wanted to do like the 5.x releases of the SDK back in 2007. It has been nearly a year since I ended my involvement with Windows Media Center so thought it fitting to celebrate that wonderful product and platform by putting a small package of things together for developers which echoes some of those post shipping plans. It’s a sort of curtain call I’m referring to as the ‘Windows Media Center SDK for Windows 7 Addendum’ although it’s not officially from Microsoft.
Included in the zip file is…
- A couple of new and updated loose MCML samples (mostly to fix up the URLs to the defunct play.mediacentersandbox.com).
- Source code for the Sample Explorer application you find in the Extras Library after installing the SDK as well as the desktop browsing tool. This is a good example of one approach for creating a testing / automation framework for your own application.
- Source code for Animation Explorer and Preview Tool Launcher desktop tools. The Preview Tool actually has a pretty robust automation model itself and this source shows you how to take full advantage for your own authoring tools.
- Templates and source code for the Visual Studio 2008 templates included with the SDK. Follow the instructions in Readme.txt for use with Visual Studio 2010.
- Web Application Installer Template used to create the installers for the above applets. They are fully compatible with the InstallApplication Method in Windows 7 and can be used to craft installers for http://madeformediacenter.com/m4mc/.
- You can dig into the readme for more details on these resources.