Windows Media Center SDK v6 (for Windows 7) RTM Released ….
The final version of the Windows Media Center SDK for Windows 7 was released on MSDN yesterday and is available for download from the following link :
There’s pretty much nothing new to see, do or use (except some updated/finalized documentation) – if you’ve already downloaded the pre-release versions (which came out initially at PDC along with the M3 release of Win7 back in Nov’08 – and then was later updated for Windows 7 Release Candidate in January this year). Please see my previous posts Media Center SDK v6.0 (for Windows 7 Build 7000) and iTv Applications + Media Center SDK v6.0 (Windows 7 M3) First Impressions for more information there.
In fact – unless your after some pretty specific (and less than useful) changes offered in the Win7 incarnation of this SDK – my best advice to developers would be to completely give this SDK a miss – and instead revert back to Vista Media Center SDK /along with Vista Dev platform (if you do plan on persisting with Media Center development).
The reason for this is that while you’ll get pretty much nothing to shout about in this new SDK over Vista, the big downside is that your app’s created with this SDK (and compiled against WIndows 7 Media Center API’s) will not work in Vista. Whereas – if you develop against the Vista API’s – and tweak your Installer’s accordingly – your apps should work fine on Windows 7 (nb: if you’re developing against the ehRec dll’s or some of the other “non MCPL” functionality this may break on TVPack or Windows 7). At the moment (and at least for next 6-12 months) – the market for Windows 7 Media Center users would be pretty small (well even smaller than Vista that is) – so you’re better off ensuring you’re supporting both these platforms.
All in all – this SDK is a big disappointment for developers – as while the Windows 7 platform and new versions of Media Center are great products (and a big improvements over Vista) – the minimal API changes completely missed out on taking advantage some of any of great new features (ie. no support for Multi Touch, no support for the new EPG database, etc and the list goes on.. ). It’s a laundry list of what ‘could have been’…
While MCPL (Media Center Presentation Layer) started off looking like a very promising dev platform (when it appeared during the Vista Beta) – the enthusiasm from Microsoft (and along with it the support and follow through you’d expect from a dev platform) – died a quick and sudden death pretty much after Vista was released. This is very apparent when you look at the lack of changes/enhancements for MCPL offered in this new SDK (most of which are simply ‘quick win’ helper classes offering no more functionality than what was already possible), the death of Media Center focused developer blogging, and the complete lack of support being offered by MS on their dev sites (while you can get some answers for some of the non MCPL API’s – getting an answer beyond ‘go look at the sdk’ is a real challenge).
So … some wise(?) advice to those wanting to creating 10 foot applications (with a UI – as opposed to a background addin or desktop utility) – is perhaps you’d get a lot more mileage looking at some developer options other than MCPL.
Instead – the majority of alternate options for development are enabled via the support for IE browser hosted addins – which in turn allow you to use Silverlight, Flash and even WPF/XBAP applications (which can still be used in the browser ‘host’ – regardless of whether they have token ‘native’ support by Media Center). All of these alternative platforms seem to go the full 9 yards and the whole dev and release cycle seem to have been properly thought out and followed through (wheras MCPL offered very raw dev support with no WYSIWYG designers, poor documentation – and as mentioned the ‘actual’ developer support was non existent – and any hope of future enhancements or improvements looks extremely bleak).
The news isn’t all bad for Media Center dev’s on Windows 7 though if you look beyond the SDK –
The news isn’t all bad for Media Center dev’s on Windows 7 though if you look beyond the SDK –as the functionality offered by the new MXF spec and ‘loadmxf’ functionality (documented in a different place on MSDN altogether) – have enabled a bunch of cool stuff to be done with the new Media Center EPG database – like my own app ‘Big Screen EPG’ … 8)… As mentioned above though – don’t expect the actual SDK to give you any more bling in this area – as there’s no decent API hooks into the new EPG database or TV/PVR functionality to take advantage of this (ie. the recording/pvr hooks seem to still be written based on functionality introduced in the 5 yr old MCE2005 EPG and are severely lacking , and the complete lack of ‘more with this’ extensibility hooks to the new EPG and TV Series related pages in Media Center).
Anyhow – going forward – I’m not sure where things are heading for Windows 8 with Media Center Development as a whole – and it’s looking unlikely that MCPL will ever be touched again with the new ‘TV on your PC’ push (rather than ‘PC’ or ‘Extender on your TV’ line) – and almost complete lack of engagement with the community of MCPL developers from the Extensibility team (who seem to have so far
completely ignored ‘misplaced’ all the suggestions/feedback and requests for developer enhancements on MCPL made by so many of us – after being asked to spend loads of time doing so).
I hope I’m wrong – and that things will all get better – only time will tell (and perhaps if I received some replies to my emails I’d be better informed too – but for now it’s the ‘mushroom treatment’ for all of us)… I do hope Microsoft’s MC Extensibility team make some actual decisions one way or another on all this (rather than sitting on the fence and not doing anything properly) – and I’d be happy if they would focus on a smaller subset of enhancements and do them ‘properly’ – such as real extensibility and hooks into the Media Center internals – and leave the UI stuff to the pro’s (ie. Silverlight, WPF or XNA teams) – who do understand the whole end to end cycle of developing UI centric API’s.