The Windows Media Center Platform Team Blog RSS 2.0
 Thursday, January 05, 2006

Finally the day has come for me to outline the full story on the the designer / developer platform in Media Center for Windows Vista. Do you remember when I asked What Platform Features Do You Want for Media Center in Windows Vista? One of the comments on that post from Michael Schoneman resonated clearly with our thinking and seemed to sum up much of the feedback we have heard over the last few years...

“We want SDK support for the cool graphic effects you guys have.  I really love the way stuff slides and zooms on and off the screen.  I want to be able to build something that looks like it's a part of the system, not something bolted onto the side.”

We have listened. Media Center for Windows Vista will expose three ways from which you can choose to deliver full featured software and experiences to your customers.

  • Windows Media Center Presentation Layer Applications
  • Hosted Microsoft .NET Framework 3.0 XAML Browser Applications (XBAP)
  • Hosted HTML Applications

Paradigm #1: Windows Media Center Presentation Layer Application
Media Center Add Ins were first available in the 2004 version of Media Center as managed code assemblies which could fully leverage the Microsoft .NET Framework, access the full Media Center application programming interface (API) and run on-demand or as a background process. The Media Center Application Programming Interfaces (API) allow granular control of Media Center audio / video playback, interoperability with the digital video recording (DVR) features of Media Center and parental controls as well as full access to the Microsoft .NET Framework platform for developing applications which are easier to build, manage, deploy, and integrate with other networked systems.

However, Media Center Add Ins were limited to a single user interface mechanism: a Media Center styled dialog box. While useful for some tasks (such as system wide notifications) Media Center Adds Ins in prior versions were limiting to full-featured application development due to their inability to project a more meaningful user interface.

Media Center in Windows Vista greatly expands and enhances the user interface capabilities of Media Center Add Ins allowing for the creation of full fidelity experiences on par with or exceeding Media Center itself using the new Windows Media Center Presentation Layer via Media Center Markup Language and the Microsoft .NET Framework 2.0. To fully differentiate from prior versions we are calling these new experiences Windows Media Center Presentation Layer Applications.

Windows Media Center Presentation Layer Applications now have access to the same rendering technologies the eHome team uses to produce Media Center itself with the Windows Media Center Presentation Layer.  The Windows Media Center Presentation Layer provides dynamic layout capabilities, integrated animation support, rich text and graphic support, automatic keyboard / remote navigation and more via Media Center Markup Language.

To top it all off, experiences created as Windows Media Center Presentation Layer Applications will remote with full fidelity to the XBox 360 Media Center Extender. That means your experiences will look just as good on the XBox 360 as they do on the Media Center PC itself. :-)

Media Center Markup Language (MCML) is an XML based declarative language that instructs the Windows Media Center renderer in how to display a user interface within the Windows Media Center Presentation Layer. MCML supports advanced concepts such as parameterization, private local storage, rich conditional based data binding and composition-based animated visual content and access to managed code assemblies from markup. Authoring in MCML is an exercise in producing a view description and supplying it with data via managed code interfaces in the managed code Model.

Which brings me to yet another comment conversation Chris Anderson and I had over on his post First Take: XBox 360 Media Center Extender. Chris wrapped things up nicely with the following...

"One last thought. If you think about it, the conventional way of navigating a CD music collection is via the text on the "spine" or edge of the CD, not its cover, just as in a book collection. So perhaps that would be the way to do it. Show the album covers if you want, but underneath it also show the spine view. But of course the broad point is that more display options are better; as you point out, one size doesn't fit all."

It's worth pointing out a third party can create this EXACT view using the new Windows Media Center Presentation Layer -- and it can look and perform just as nicely as the built-in Media Center features. I think Chris will be pleased if the market agrees with him and creates his uber-perfect view of his digital library.

Paradigm #2: Hosted Microsoft .NET Framework 3.0 XAML Browser Applications (XBAP)
We introduced the ability to use XBAP applications in Media Center at PDC 2005. The Microsoft .NET Framework 3.0 is the next generation platform for Windows allowing you to develop for both traditional mouse / keyboard Windows desktop experiences and remote controlled experiences using common tools and shared / reusable resources. The Microsoft .NET Framework 3.0 team has provided great tools for designers in Microsoft Expression Graphic Designer (aka 'Acrylic') and Microsoft Expression Interactive Designer (aka 'Sparkle'). To learn more about using the Microsoft .NET Framework 3.0 in Windows Media Center view the Professional Developers Conference 2005 presentation.

Paradigm #3: Hosted HTML Applications
Existing applications written in HTML will continue to work and be supported in Media Center for Windows Vista with zero or few modifications needed by the third party. Long term we hope folks will move to either Windows Media Center Presentation Layer Applications or Microsoft .NET Framework 3.0 XBAPs because the experiences can be so much more immersive and rich, but we will maintain compatability for Hosted HTML since it is so ubiquitous.

Questions, Comments...?
We have posted the Windows Media Center Software Development Kit (SDK) to the Windows Vista beta program and made it available to MSDN Subscribers along with the December CTP. We are inviting any and all folks who have access to these resources to take a look at the new SDK and tell us what you think by...

  • Filing a bug report as part of the Windows Vista beta.
  • Leaving a comment on this post.
  • Sending email directly to one of us.

Aaron and I will be sharing more details in the coming weeks and months.

So, what do you think? Have we given you what you wanted?

Categories: SDK | Comments [24] | # | Posted on Thursday, January 05, 2006 5:49:59 PM (GMT Standard Time, UTC+00:00)   
Thursday, January 05, 2006 7:37:02 PM (GMT Standard Time, UTC+00:00)
Charlie, this is really good news. Allowing third parties access to develop experiences with the same visual richness as the rest of Media Center is a great step forward, and will even further differentiate Media Center from other HTPC products. Some questions: Do you have a visual designer for MCML as well as being able to use Orcas/Sparkle within VS2005? Will you be providing source examples to help us get started like you did with MCE2005, and finally, what version of the framework are we compiling against? 2.0?

This is the point now where I need to get an MSDN subscription I suppose!

Cheers,
Andy
AndyC
Thursday, January 05, 2006 7:48:15 PM (GMT Standard Time, UTC+00:00)
>> So, what do you think? Have we given you what you wanted?

YES!!!!

I will be downloading the Vista CTP right now .. how much of Media Center works in this CTP (once you get past the expiration problem)? I know the MCE that was in the PDC build didn't work at all.

Roy J. Salisbury
Thursday, January 05, 2006 8:09:04 PM (GMT Standard Time, UTC+00:00)
--> Will you have a visual designer for MCML (a la Sparkle)?

No.

--> Will you be providing source examples to help us get started?

Yes. In fact, the SDK has undergone a total revamp to be even better in this department.

--> What version of the Microsoft .NET Framework are we compiling against?

2.0 (And can I get a Hallelujah!)

--> How much of Media Center works in the December CTP?

Pretty much all of the Media Center features work in the December CTP. Hosted HTML applications should work in the December CTP. Media Center Add Ins with Windows Media Center Presentation Layer and WinFX XBAP application support will come with a CTP or beta release later this winter or early spring (but you can read about these approaches in the SDK).
Thursday, January 05, 2006 8:29:04 PM (GMT Standard Time, UTC+00:00)
I haven't downloaded the SDK yet, but based on your description above an initial question is why there is another markup presentation language MCML? Couldn't Media Center just make use of XAML/WPF?
Thursday, January 05, 2006 8:37:17 PM (GMT Standard Time, UTC+00:00)
>> We have posted the Windows Media Center Software Development Kit (SDK) to the Windows Vista beta program and made it available to MSDN Subscribers along with the December CTP.

Is this a seperate subscriber download or contained in the Vista download? I can't find it listed anywhere.
Roy J. Salisbury
Thursday, January 05, 2006 8:40:36 PM (GMT Standard Time, UTC+00:00)
--> ...why there is another markup presentation language MCML? Couldn't Media Center just make use of XAML/WPF?

I'll have a post in the next day or two which explains better. To tide you over...

• Media Center Markup Language (MCML) is the UI description language for Windows Media Presentation Layer in a Media Center Add In.
• eXtensible Application Markup Language (XAML) is the UI description language for a Windows Presentation Foundation application.
• Hypertext Markup Language (HTML) is the UI description language for a browser based application.
• All three will be available to designers and developers in Media Center for Windows Vista.
Thursday, January 05, 2006 9:19:02 PM (GMT Standard Time, UTC+00:00)
Thanks for listening to developers!

I was wondering, is it or will it be possible with Add-Ins to extend the existing Microsoft supplied user interface? For example, add a new view, add options to a pop-up menu (i.e.: "more details" menu). Or to do so, would we have to replicate the whole existing interface?
Jerome Paradis
Thursday, January 05, 2006 11:30:41 PM (GMT Standard Time, UTC+00:00)
The Windows Media Center SDK for Windows Vista can be found starting at the Table of Contents, it's under Tools --> SDKs and DDKs --> Windows XP Media Center Edition --> Windows XP Media Center SDK - December CTP.
Thursday, January 05, 2006 11:37:01 PM (GMT Standard Time, UTC+00:00)
--> ...will it be possible with Add-Ins to extend the existing Microsoft supplied user interface?

Only within the confines of current abilities (like the More With This feature). You won't be able to add a custom view to the digital library features of Media Center but you can create your own library with whatever view you wish (and have the power to make it every bit as compelling as the built-in Media Center features).
Friday, January 06, 2006 12:04:46 AM (GMT Standard Time, UTC+00:00)
>> The Windows Media Center SDK for Windows Vista can be found starting at the Table of Contents, it's under Tools

Great.. found it. Thanks!
Roy J. Salisbury
Friday, January 06, 2006 1:03:09 PM (GMT Standard Time, UTC+00:00)
Awesome :) I guess a lot of people will love you for this. Will install the SDK & CTP this night.
Friday, January 06, 2006 5:16:28 PM (GMT Standard Time, UTC+00:00)
Is MCML a historical markup developed by the Media Center team that's been used in the exisitng MCE before XAML came along?

Trying to understand why we need to learn and use another presentation markup language instead of getting double mileage out XAML.

XAML/WPF provides vector graphics, graphics effects like transparency etc., layout containers, data binding etc. and then renders all of it using Direct3D. So it sounds perfect for Media Center UI.

Unless MCML is a set of higher level convenience primitives built on top of XAML?

Cheers
Friday, January 06, 2006 7:02:05 PM (GMT Standard Time, UTC+00:00)
--> Is MCML a historical markup developed by the Media Center team that's been used in the exisitng MCE before XAML came along?

Yes.

--> Unless MCML is a set of higher level convenience primitives built on top of XAML?

No.
Saturday, January 07, 2006 11:55:56 AM (GMT Standard Time, UTC+00:00)
Hi Charlie,

I've installed Vista 5270, Windows SDK, VS2005 and the MCE SDK from connect.microsoft.com but there no samples written in MCML or XAML. Only the HTML ones.

Thanks,
Olcay
Saturday, January 07, 2006 6:02:59 PM (GMT Standard Time, UTC+00:00)
There aren't any samples in the public beta version of the SDK yet -- we are still working on the underlying namespaces for MCML and integration of the XAML features. Expect to see those included later this winter in the sections 'Developing Applications and Services for Media Center' and 'Sample Implementation Code' as well as installed source code.
Saturday, January 07, 2006 6:04:19 PM (GMT Standard Time, UTC+00:00)
Oh, and we would love to have your feedback on the new structure of the SDK -- it's pretty different than the current one. :-)
Saturday, January 07, 2006 6:54:27 PM (GMT Standard Time, UTC+00:00)
Is there anything or type of application you can create using MCML that you can't do with XAML/WPF?
Sunday, January 08, 2006 12:18:49 AM (GMT Standard Time, UTC+00:00)
"Oh, and we would love to have your feedback on the new structure of the SDK -- it's pretty different than the current one. :-)"

Ah so thats why only the html samples were in the SDK hehe. Can't wait to get my fingers on the next SDK beta ;-)
Sunday, January 08, 2006 11:52:09 PM (GMT Standard Time, UTC+00:00)
Charlie, this is fantastic news!

I had hoped the UI namespaces would be exposed in Vista, however I wasn't convinced they would be. Now that I know that they are my enthusiasm for the platform has at least tripled!

I don't suppose there is already yet-to-be-documented support for MCML in Rollup 2 by any chance? It would be nice to be able to develop an MCML-based add-in that worked for both 2005 and Vista to cover the transition period between the two...

Thank you very much for listening to the development community!

James.
Tuesday, January 10, 2006 10:01:48 PM (GMT Standard Time, UTC+00:00)
--> I don't suppose there is already yet-to-be-documented support for MCML in Rollup 2 by any chance?

The Windows Media Center Presentation Layer (and it's automation via Media Center Markup Language) will only be available starting in Windows Vista.
Wednesday, January 11, 2006 12:20:02 PM (GMT Standard Time, UTC+00:00)
Great stuff, MCML is just what I wanted. I am looking forward to see what the community will do with these platforms
Tuesday, January 17, 2006 9:43:12 PM (GMT Standard Time, UTC+00:00)
Good news. One question, will I be able to compose XAML on top of the current 'Live TV' or 'Playback' view? If I wanted to be able overlay a status for a long running task (or display the tempereature or something) I want to be able to either create an addin that shows this overlayed the current fullscreen playback or add a more programs item that has a page with the current 'Live TV' with this overlay.

Would this be possible?
JoeW
Friday, February 24, 2006 8:05:20 AM (GMT Standard Time, UTC+00:00)
How exactly would a XAML/XBAP application appear on a media center extender? Would this even work or does the MCML have to be used for an application to show up on an extender? Thanks.
PeterS
Thursday, March 09, 2006 8:13:32 AM (GMT Standard Time, UTC+00:00)
--> Will I be able to compose XAML on top of the current 'Live TV' or 'Playback' view?

No. Graphics overlay on top of video can only be accomplished using a Media Center Add In via Media Center Markup Language (MCML).

--> How exactly would a XAML/XBAP application appear on a media center extender?

All three application paradigms (HTML, Media Center Add In, WinFX XBAP) can be remoted over to Media Center Extender. There will be differences in the fidelity of the experiences: HTML and WinFX XBAP will render at 3-5 FPS using a Remote Desktop-like environment (rendering happens on the Media Center PC and the result is sent over the wire as a screenshot). Media Center Add Ins will render at 30 FPS full fidelity (the rendering happens natively on the XBox 360).
Comments are closed.
Blogroll
About

Disclaimer
All information available via this site is provided 'as is' with no warranties and confers no rights.

© Copyright 2008 Microsoft Corporation.

Sign In
All Content © 2008, Microsoft Corporation.