Big Screen Blog

Media Center, Windows Phone7 + Silverlight Goodness..

Media Center SDK v6.0 (Windows 7 M3) First Impressions

with 6 comments

I’ve been playing around with the new “pre-beta” release of the Media Center SDK v6.0 (for WIndows 7 M3) – and thought I’d share some of my first impressions on the SDK itself – and also the new Platform features it enables.

Before I start – I should re-iterate that the version I’ve seen is a “pre-beta” – so some things (like complete documentation) is not yet available – and bugs/etc may still exist. As per the keynotes at PDC last week – Windows 7 M3 release aims to be ‘api complete’ – rather than ‘feature complete’ – meaning that what we see in the M3 API is locked down up front (and unlikely to be changed between now and RTM). From what I understand – the general plan for Windows 7 is that additional (non api) features will be added up until the Beta release – and then the path to RTM  will be fixing outstanding bugs and critical issues.

What’s new in Media Center SDK v6.0

Once setup – v6 installs a similar set of components/tools to v5.3 (including the MCMLPad, MCML Sampler, Animation Tool) – a Help/Reference file and a desktop version of the MCML Sample Explorer.  The SDK also installs required schemas/project templates into Visual Studio 2008 (and I think 2005) – so you can quickly get started on projects.

Inside the SDK directory – source code for the Z Sample application as well as the MCML Sampler examples are found (as per v5.3). Notably absent are the HTML and MSAS samples – which are now depreciated in the new Media Center Platform (but for the time being will still work to ensure backward compatibility).  As XBAP/WPF addins were depreciated in the v5.3 SDK – these are now no longer natively supported (however as before – you can still use XBAP/WPF and Silverlight via HTML addins).

As the SDK is still a “pre-beta” – the documentation for the new Platform features are unfinished (many topics are currently empty placeholders) – although you can find a few changes (such as ‘whats new’ topics). Luckily – the MCML sample files contain some commented examples of a number of the new features – so these can be used in the meantime (and I was able to get a good understanding of their usage).

The benefit of the new Sample Explorer being available as a desktop application (rather than as an MCML application in previous SDK versions) is that you can more easily browse content (using a treeview) – and that you can copy the MCML (and .net) source into the clipboard (and more easily insert it in your projects). As before you can click on samples and launch them inside MCMLPad (and ehshell.exe).

The Sample Explorer is pictured below :



What’s New in the Media Center Platform

To get a good overview of the highlights in the new Media Center Platform – there’s a blog post from Charlie Owen (definitely worth a look) – so I’ll try to go into more detail on some of the things that weren’t mentioned.

First off – I was a little disappointed that the new features didn’t bring much new to the table for developers writing locally installed MCPL addins – with the exception of adding some much needed features for working with Content playlists – and a replacement for the MSAS functionality (developers will now be able to more easily find out what is ‘now playing’ .) 

Instead the new features are very focused on making it easier to develop MCPL Web Applications – which I’m not sure was the thing the majority of Media Center developers were after.  I’d assume the reasoning is that Microsoft are trying to get more of the large players (Hulu, YouTube etc) to put content into the Online Spotlight (aka ‘Extras’ in W7MC) – however my experience is that most companies wanting to do Media Center products still need to use local addins to get full access to the system (so things such as offline download managers and DRM can be implemented).

What’s New for MCPL Web Applications

As mentioned – the big winners for the new features are mainly MCPL Web Applications – with the following new features being offered :

– Data Access model :designed to allow easier querying of XML Web Services from the client.
– Cookie Support
– Relative HTTP path support
– ResourceGroups – allowing you to more easily download sets of images/audio assets (with notifications – so you can make ‘loading’ screens etc’)
– Support for additional .NET classes such as StringBuilder/Regular Expressions and Date Converters.
– Exception Handling (for catching and handling those previously uncatchable MCML errors).

What’s new for Hosted MCPL Applications (locally installed addins)

In contrast – the list of new features for addin developers is small – and many of the functions are simply there to make it a little easier to write applications (rather than providing features to enable new scenarios). In many cases – the new features could be done with workarounds in Vista MC.

Charlie’s post mentions most of the highlights :

– new Classes for dealing with Playlists Management
– Secure/Password Text Entry helpers.
– proper Page Model for managing Navigation Stacks
– Single Instance support (this one was doable but quite difficult in VMC) – allowing you to ensure only one copy of your addin is loaded/running.
– SwitchAnimation  Type (allowing for conditional triggering of animations based on chosen values from classes like Choice, IntRangedValue, BooleanChoice etc ).
– Background and Zoom mode support (allows developers to show static or animated default background – VMC only provided the static version – plus also allows developers to do overlay style addins on currently playing content).
– MCPL On ScreenKeyboard – this provides an on screen keyboard out of the box (developers just call a single method – like they would to show a dialog) – however it’s let down a little due to it using a blue background (which will hence only look nice with addins that copy the Microsoft theme). I tried to change this background (via using the new backgroundcolor properties) – however couldn’t seem to change this.

Out of this list – I’m probably most interested in the new SwitchAnimations (should hopefully save some time as you need less MCPL rules) – and the new Background modes.

Some additional goodies I found (not mentioned in Charlie’s post) – are a little more interesting –

– ScreensaverEnabledHint property – previously only found on the HTML Addin model – allows you to specify whether a Screen Saver can kick in. (in VMC – the screensaver would only be suppressed if you were watching content in fullscreen – which was a pain for addins that provided things like slideshows etc and didnt require continuous remote control feedback).

– Support for capturing the Teletext button input from the remote control. (this includes the teletext specific buttons down the bottom of media center remote). As the ‘more info’/’details’ button is still off limits to developers – these buttons could be put to good use (for providing context sensitive actions in UI’s).

– InstallApplication methods – which basically allow you to download + install an MSI inside MCPL. (A dialog gets shown with the % progress – similar to what you see when you add new Media Folders and content is being found). However – I think there are some security limitations (such as no administrator/elevated access) – so not sure how useful this would be (and would depend what sort of functionality you addins required).

– PanelSession – Ok not sure what this does yet (a new PageSession? and potentially off limits to developers) – but looks interesting.

iTV Addin Model (brand new)

The new Microsoft.MediaCenter.TVVM  namespace looks very interesting (still largely undocumented) – and provides a way for broadcasters to enable additional MediaCenter specific interactivity (other than MHEG) – but appears to be off limits to everyone else. From what I can make out – the new MHEG and Teletext modules (provided with TVPack) are actually addins that utilize this new namespace (and allow them to tightly integrate with the new TV Overlay in Windows 7 Media Center and interrogate the broadcast stream for realtime data). It also looks like this addin model will also allow developers to directly access the onscreen DrawingSurface – so completely custom (non MCPL based) graphics routines (and potentially new codec support etc) can be implemented.

Anyhow this new addin model looks very powerful indeed (I want to use it) – but I’m not confident any broadcasters outside the US (or even inside) are going to go to all the effort to make these broadcast / MC specific products. (other than the token ‘launch partners’ for Windows 7).


What’s NOT new in the Media Center Platform (but should be)

As a developer focused on developing local addins (and not ones focused around playlists) – I was really hoping (and waiting these past 2 years) for lots of changes which didn’t eventuate.

Some of these include :

– Access to the ‘More Info/Details’ Remote Control Button from 3rd party MCPL addins. This button is used even more in the new Media Center UI (and users will hence get even more used to it being a core action) – so again it’s a crying shame this didn’t get added.  Support for Teletext buttons are some consolation – but less advanced users may have difficulty getting used to pressing these. (and finding them without having to look at the remote).

– Ability to query extender devices for their capabilities/codecs (and ability to store settings against a device rather than user account). As many of you know – not all extenders were created equal (ie. XBox360 vs DMAxxxx) – and in many cases special MCML workarounds (or removal of features) are required to make addins work across all of them.  Currently I am working around this via a combination of mining the registry, uPNP + user profiles and doing a bit of Reflection against the Media Center objects – but is definitely not my desired option to be using ‘unsupported hacks’ like these.  I know the overall goal from Microsoft is to alleviate developers from having to worry about program to the device being used (and program for the LCD)  – but while there’s still plenty of bugs/unpredictability in the GDI Rendering layer (used to support the PIKA 2 extenders) – and missing features (3d/animations etc) or codecs – all depending on the device being used – developers really need a straightforward way to handle this.

– Scroller.ScrollTo(xx) method : basically the ability to scroll an onscreen repeater list containing focusable items to a particular position (without changing the current user focus). I’ve ditched a lot of UX design ideas in the past specifically because this feature is missing.

– ZOrdering on MCPL Elements. Currently this can’t be easily controlled by developers via simple z-axis positioning (particularly when using repeaters etc) – so it makes it quite difficult to do cool UI effects like Carousels (or Cover Flow style lists) or make proper use of the 3D rotation functionality without a serious amount of legwork. (ie. 3d Carousels are doable – but very very messy and comes with many limitions).

– Ability to load MCML and images from an IO.Stream (rather than URI’s) – giving developers the ability to protect their IP – and also to be able to do funky on the fly image effects+filters.

Windows 8 seems like a long long time to wait for these (that’s if they are even being considered – which I doubt since all the above were requested for Windows 7)… ouch!


Getting Hold of the new v6.0 “pre beta” SDK

If you have access to the Windows 7 M3 build (PDC attendees and some others) – then you should have access to the SDK as well. If you don’t – then you’ll need to wait until next year when the Windows 7 public beta is released.



Written by mobilewares

November 2, 2008 at 7:04 am

Posted in MCPL

6 Responses

Subscribe to comments with RSS.

  1. I take pleasure in, lead to I found exactly what I
    used to be having a look for. You’ve ended my four day long hunt! God Bless you man. Have a nice day. Bye

    December 17, 2012 at 8:55 am

  2. Hey! Would you mind if I share your blog with my myspace
    group? There’s a lot of people that I think would really appreciate your
    content. Please let me know. Thank you

    titanfall free keys

    February 26, 2014 at 12:56 am

  3. Bienvenue sur Casino en ligne VIP, en ligne jeux de Casino
    sont notre spécialité. Chez Casino en ligne VIP, nous offrons
    le meilleur casino de jeux disponibles sur l’internet. Avec une sélection de jeux populaires comme le Blackjack Roulette
    et excitant des machines à sous, Craps et le vidéo Poker, nous savons
    que vous trouverez exactement le type de jeu que vous cherchez quand vous jouez à Casino en ligne VIP.Trouver le jeu le plus populaire de votre choix,
    parce que c’est ce que nous offrons les meilleurs et toujours.

    À Casino en ligne VIP, nous sommes toujours
    désireux de s’assurer que tous nos nouveaux joueurs se sentent les bienvenus et notre plaisir de jouer des jeux de casino donc nous avons un certain nombre de promotions de
    casino et bonus pour vous tenir à revenir pour plus.Choisissez SuperCasino pour le
    casino en ligne ultime et une expérience de jeu
    unique. Les avantages de jouer au Casino en ligne VIP ne s’arrêtent pas là.
    Vous y trouverez tous les derniers bonus de casino et jusqu’à de nouvelles vous en aucun temps et il vous tiendra une étape avant de tous les autres
    joueurs de casino.Nous, à Casino en ligne sont ici pour vous aider dans votre voyage à travers le dédale des sites de
    casino en ligne.Il est meilleur connu pour toutes les informations dont vous pourriez avoir besoin sur
    les casinos en ligne en français


    March 4, 2014 at 9:22 pm

  4. Hello Google and yahoo operates fine to me however your website is running slowly which had taken around one minute to successfully load,
    I’m not sure if it’s my problem perhaps site issue.
    Anyways, I have to thank you for including amazing article.
    I think this has been totally helpful to individual who seem to visit
    here. This is without a doubt terrific everything that you have done on this page and would like
    to check out a lot more content from your website. I ‘ve got you book-marked to check out blog
    you post.

    April 24, 2015 at 2:58 pm

  5. Hi Your entire website starts up honestly
    slow if you ask me, I am not sure who’s issue is that however , facebook starts up really
    immediate. Anyways, I must say thanks for including beautiful post.
    I believe it has been incredibly beneficial to visitor who click here.
    I personally have to mention that you really have done amazing work with this
    plus expect to check out even more wonderful things from you.
    To get additional information by articles which you write-up, I’ve bookmarked the site.

    April 25, 2015 at 11:53 am

  6. Hello! Your webpage is loading lagging , this kind of consumed sort of a minute or so to actually load, I
    really do not know whether it’s just me or maybe your website
    but facebook performed acceptable for me.
    On the other hand I appreciate you for creating terrific blog post.
    I suppose this has already been beneficial to lots of people .
    I need to say that you actually have done brilliant job with this and additionally wish
    to find more great content through you. I ‘ve
    got your site saved to my bookmarks to look at new stuff you post.

    April 30, 2015 at 2:52 pm

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: