I’d been thinking about this topic since I saw the new interface. Basically, after seeing the screen shots, I thought to myself that if the new Zune Windows client software was not written with WPF, Microsoft will have made a huge mistake by once again not backing one of their own technologies as a viable platform for developing a real world consumer application. Knowing the type of data this kind of app pushes around, the behavior in the v1.0 client today and looking at the new screen shot, that’s an app that screams WPF.
So, yeah, I was going to just wait and see once I downloaded it, but I got curious and started to look around to see if there was an answer to the question already. Sure enough there is. Unfortunately though, it’s not the one I wanted to hear. In this response to a forum thread about the new Zune client, Charlie Owen, Program Manager for Windows eHome (i.e. the Media Center team), states that it is instead based on the Media Center UI framework.
Let’s step back for a second here. WPF has been pitched to us as a pillar of the next generation Windows experience since the announcement of the WinFX framework (later renamed .NET 3.0 *sigh*). For all intents and purposes it is by far one of the best frameworks I’ve ever seen for building rich client applications. Forgetting the flashing lights type stuff for a second, even just the layout and data binding engines alone make it one of the best platforms to work on. Yet when a group of Microsoft developers (remember they took the development in house this time around) sat down at a table and considered their choices for writing the next version of the Zune client they actually decided they’d rather use a variation (Charlie’s words from the post) of the Media Center UI framework instead. Think about that… they didn’t just use the Media Center framework, they actually made changes to it to suit their needs… and they did that rather than pick the fully baked platform of WPF.
End result so far as I can tell? Time wasted creating a proprietary framework. Opportunity to show the world that WPF rocks the house wasted. To bad. So sad. I hope someone out there can point out a positive aspect of this choice. I don’t think being able to run the interface on Media Center extenders, assuming that was the main point of this, is a good enough explanation because you can write WPF based Media Centers today and, while they don’t currently perform as well as a native MCML application, they perform well enough to cover what Zune would need to do AFAICT. Maybe the fact that Media Center forces WPF based apps into the Internet Sandbox is the problem? Why in heck they crippled them this way to begin with is beyond me, but if that were the issue wouldn’t it have made more sense to invest in a joint project to lift that restriction for trusted/signed applications or something?
Too right. I had the exact same thoughts when I first saw it. To hear that it’s not WPF based is amazing. WPF has been out for a year and still no major projects outside of Sparkle. How can MS really expect ISVs to adopt a technology that even their own developers don’t use. What happend to Microsoft Max? Every end solution team should have to spend time making the platform better.What’s insane about this now is that there will need to be yet another Zune client in a couple of years time.
John:Well Media Center itself is actually a flavor of Windows that exists based on an XP or Vista base. That said, Microsoft isn’t even supporting anything < XP at this point, so I doubt that’s it.Cheers,Drew
Totally agree with you Drew. I’m personally waiting to see if they include an SDK this this around. If they fail to do that too, Zune is sunk. 3rd party extensions are a requirement if a tool is going to survive.
Seems I missed it, I can’t find a single reference to the new Zune software being “…based on the Media Center UI framework.” The only thing I can find, and this is a direct quote from Charlie Owen’s blog, is this, “…Likewise, the software is wonderful — many of the same crew who have worked on Windows Media Center (design, usability, engineering).” While it’s the same people that in no way that I can tell implys that it’s based on the Media Center UI. Just curious if you had a different source or quote.That being said I also thought that next Zune software would be WPF as well but then again when creating a consumer product you want your software to work on the widest range of OS, and that includes Win98. You also want it to work on lower end hardware and it seems WPF is still slightly behind the performance curve compared to straight Win32 apps.I’m curious to see what the new Zune software is really written in.
Shawn,I linked to his post to the thread where it was being discussed on Channel9.I just can’t buy into the “reach” argument (i.e. support < WinXP) because Zune itself is not supported on anything but XP SP2+. Plus, people running Win98 don’t have the DirectX acceleration that something like even the Media Center UI framework demands.Cheers,Drew http://channel9.msdn.com/ShowPost.aspx?PostID=346301#346301%5B2%5D http://www.zune.net/en-US/meetzune/software/OS_not_supported.htm
Keep this in mind: For the purpose the Zune client serves it’s 100% irrelevant what platform was used to create the software. People who buy Zunes only care that the software works.It’s interesting to note Windows Media Center was one of the first (if not The First) commercially shipping consumer application from Microsoft to leverage managed code (.NET 1.0) when it shipping in version 1.0. Sometimes it’s a good thing to cut your teeth on something brand new, sometimes it’s best to stick with something more tried and true.Don’t get me wrong, WPF pretty much rocks — but it’s not the only choice “for all intents and purposes”. One size rarely, if ever, fits all.
Charlie,First, thanks for weighing in and, of course, I agree 100% about the customer not caring and one size not fitting all.The part that gets me is that the MC framework was further modified, right? I’d actually love to hear what was missing and had to be added. Also, MC framework is not even pitched as a platform on which to build your Windows applications, it’s a platform for solely extending MC. So, it’s still baffling to me that it was chosen over WPF when that’s exactly what WPF is pitched as. Forgetting for a second the benefits it would have brought the actual development team, there are at least two other HUGE benefits that using WPF here could have brought Microsoft:* Could have solidified WPF as a “real” platform in the minds of a lot of still skeptical development shops.* Could have delivered .NET 3.0 to the entire, broad range of Zune users who may not have already had it.Cheers,Drew
As much as I would like to get into the specifics I really can’t. I will say it turns out the things the UI framework Windows Media Center leverages is quite applicable to the things the Zune client needs to accomplish. After all, the features do overlap quite a bit (if you think about it from that perspective). Plus there is the upside of owning the presentation layer outright — you can make changes without having to worry about other dependencies (or causing regressions in other applications).Personally, I would say someone OTHER than Microsoft shipping on WPF is a much bigger statement. It is a real platform — I’m not sure the Zune client makes it any more (or less) so.And you really wouldn’t want your app built on .NET 3.0 dependent on the Zune client as a prerequisite, would you? 🙂
i’m with Drew on this one. instead of MS extending MCML (which i cant use for development outside of MCE), i’d prefer for MS to dogfood WPF and extend it if necessary (which i can use). the only public MS WPF app i know of is Blend, which is used to design WPF (making it a circular argument). there was Max, which is gone. as far as feature overlap, there’s a ton of feature overlap between MCML and WPF. now that both can run as desktop apps, within MCE, and on the Xbox 360 (to varying degrees) there is even more overlap. i see 2 markup UI languages … pick one.it would certainly help to get the runtime out to more client as well, which would make XBAP apps more reasonable, so less users would have to use the .NET 3 bootstrapper. instead, the MCML runtime is and will be on more clients than the WPF runtime.
Hi Casey — I think we’ve had this discussion before, haven’t we? You want one UI platform across everything from Microsoft. A nice utopian thought — as I said before, it’s kind of rare that one size fits all.
its not released, so i’m just guessing, but it seems obvious that MS will reach that utopia for the Zune client? if so, dont 3rd party developers deserve that? if not, MS should be working towards it.
Your guess isn’t accurate. 🙂 If you read my post on the Channel9 forum and what Drew echoed here, the Zune client is written on a variation of the UI framemwork used in Media Center.
The fact that WPF is touted as the framework to write media apps is why this is so bruising. Almost every demo you see with WPF has it used for playing back Video, Music and Pictures in a rich client. If it’s not good enough for the people that created it, how is it good enough for the rest of us? Somebody needs to explain specifically why WPF was insufficient to handle the job of Zune 2 rather than blindly defend the decision.
Will, I’m pretty sure the conversation was about time to market and dependency management more than it was about the relative merits of any particular platform.