Welcome to MSDN Blogs Sign in | Join | Help

Zune Installation in my Boxster

Following the recent success in using a Zune for the kids to watch movies in the family vehicle, I decided it was time to update the music system in my car. I was a very happy customer of a Kenwood Keg which had been professionally installed in my Boxster years ago, but frustrations with that system, combined with my new-found Zune-love led me to an upgrade path.

Out With The Keg

The Kenwood Keg was a great hard-drive based system in its time (I think I got mine in 2003) and I got the 20GB system along with a new Kenwood head unit to drive it, speakers and a sub woofer. The original Boxster head unit (a CDR210) had no provision for aux-in (did anything in 1997?) though could connect to an over-priced CD changer (which I did not have). This, combined with the trashing of the factory speakers (due to excess volume I guess) led me to replace everything. The Keg software was primitive but did work, and was required to get MP3s onto the hard-disc. It served me well for several years, but since upgrading to Vista 64-bit the software was unavailable to me. It looks like it is possible to get it to work on Vista so long as you have a USB 2.0 cradle for the hard-drive (as it requires no drivers), but I was stuck with a driver-less USB 1.0 cradle. The newer cradles go on eBay for around a hundred bucks, which I did consider for a while, before my affair with Zune started.

Before I could go further I needed to get an aux-input on my Kenwood head unit. This turned out to be a $5 cable that plugged into the same connector the Keg used, the CD changer input. I also needed the magic tool that pulls Kenwood radios out of dashboards, and Frys Electronics in Renton just gave me a set when I asked, gratis. [Frys rock]. So far so good.

Zune Car Kits: Not Much Choice

I knew it was tricky to even get a car charger that worked on a Zune, so I relented and bought the Microsoft Zune Car Kit, and instantly regretted it. Although it could at least charge a Zune, it used an FM transmitter to get the audio to the head unit, which I didn't want. There is no other audio-out mechanism, I even checked the internal pictures on the FCC web site to see if there was a "secret" audio-out but couldn't see one, so I stopped short of breaking open the car kit to investigate further. I had forgotten that my cigarette-lighter outlet was Always On, and that the outlet was close to useless anyway after wearing it out with my Valentine One years ago. From what I can tell the Monster car kit is no better. Fortunately some heavy web searching led me to the Soundgate site, and they have what I consider to be a real Zune car kit. It did recently show up on the official Zune web site, but its still hard to find (here's an Amazon link).

There appear to be exactly zero Zune car kits that offer a remote, or an external screen that can show anything, with the exception of the Ford Sync stuff (buying a new car was way out of the budget for this plan). The Soundgate kit does have a socket for a remote and several Sony wired remotes are claimed to work. However my anti-Sony feelings remain, plus the model that looks decent costs $100, so I'm holding off on that for the moment.

As I need to see the screen I couldn't hide the Zune away somewhere under the dash, but on the other hand I couldn't leave it out for all to see as its a convertible and would be too tempting a target for some miscreant. I explored some options, like getting a cassette holder and putting the Zune in there, but that looked like it would be too small (plus Boxster cassette holders are hard to find in 2008). However the perfect location exists in every Boxster: the ashtray, which is in the center console so easy to get to while driving, and it has a very cool motion-damped flip-up lid on it.

I'll spare you the nasty details but I spent many hours dremeling away the ashtray itself and the dashboard part it plugs into, and I reasonably successful. The Zune is hidden under it, but the cool flip-up action is not quite as smooth as it was, due I think to the loss of weight of the [bakelite?] ashtray (3/4ths of which I removed to make room for the 16GB Zune). The good news is I still have all my fingers, which was looking to not be the case a couple of times with the dremel.

Soundgate ZNCBLPAK Installation

The electrical install of the Soundgate kit was relatively painless, once I got comfortable with dismantling chunks of my dashboard: I got the aux-input cable from the head unit down to the lower front console by dremeling a tiny hole in the dash (under the left-hand panel), and mounted the Soundgate box on top of the airbag control box. Power came from the spare carphone socket that hides in Boxster dashboards - details of the dashboard mechanics can be found here, though I only found this particular site after I figured most of it out myself. I wired the Soundgate to the ignition-power cable, giving the benefit of an automatic Pause whenever the car is turned off. The Soundgate comes with a cigarette plug power cord too if you aren't able to hard-wire it, plus a bunch of audio cables I didn't need to use (the aux-in cable ended with a 3.5mm jack which went straight into the Soundgate box). If you have the requirement for in-car video the Soundgate will give you that from the Zune too, but I don't (in this vehicle anyway). As the Zune connection is via the sync plug and not the 3.5mm AV jack, no messing with volume on the Zune is required to get a decent level into the head unit.

Keg vs Zune

Although I was pretty harsh on the Zune software's handling of video in my previous posting, for audio I am much happier with it. Its easy enough to find things, can handle large collections (after the several-hour painfully-slow initial sync time) and is easy to buy music (I stick to MP3 format tracks so I can play them on my various other devices). Zune wins.

In the car the Zune is pretty good, but it's harder to see what's playing on the screen compared to the much larger text display that I had from the Keg. The Keg also had the great ability to announce the names of playlists as you cycled through them while keeping ones eyes on the road. I haven't even figured out a way to cycle through playlists on a Zune (without looking), so Keg wins.

To sync the Keg I had to pop the front trunk, remove the HD, plug it into the cradle and use the crappy software to get the songs on there at USB 1.0 speeds. To sync the Zune I have to pop the ashtray cover, unplug it from the car and plug it into my Vista machine and use the much better Zune software at USB 2.0 speeds. I can in theory sync it while its still in the car using my home WiFi network, but I get no coverage in the garage so I need to fix that first. Zune wins.

I disabled the Touch feature of the Zune pad as it was impossible to use it accurately while keeping my eyes on the road. With the recent Zune 3.0 upgrade you can tag songs from FM radio stations for later purchase online, which is a fabulous idea. However I can't get very good radio coverage from the ashtray area, as I think the Zune uses the headphone cables as an antenna and I don't have any plugged in of course.

Conclusion

The Zune is generally poorly supported in the car integration area by Microsoft and 3rd parties, but the Soundgate system is better than anything else and is reasonably priced. Dismantling your dashboard and dremeling your car can be nerve-racking but resulted in a pretty nice installation for me. I miss the voice prompting of the Keg, but for everything else the Zune rocks in comparison.

[Updated 10/2/08 as I got the flip-up action working a lot better by re-routing the cable that was fouling it]

Posted by andypennell | 0 Comments
Filed under: ,

Book Review: Essential C# 3.0

I haven’t posted a book review here before, but that’s because no-one has sent me a pre-release draft manuscript to review before! So here it is, a review of Essential C# 3.0 by Mark Michaelis.

To skip to the chase, I like this book a lot. My personal C# level is Intermediate: although I was on the C# team for many years, I did close to zero C# coding as I worked on the debugger, which was entirely written in C++. Ironically once I left the team I did a lot more, and these days I am doing it daily. The book aims for a range of users, from beginners to advanced, but its hard for me to vouch how useful it is for either of those extremes. I can tell you that for Intermediates it is great.

The book is easy to read, and labels specific sections as Beginners (which I mostly speed-read through) and as Advanced (which I usually read carefully). Something I particularly liked is the way it described the C# changes from 1.0 to 2.0 to 3.0 for each area: even though many of the 3.0 changes occurred while I was on the C# team, I never got the chance to really use them, and the book managed to remind me of lesser-used C# 2.0 features that I had plain forgotten (like nullable types).

I am not a big fan of the MSDN web site, in fact it drives me crazy almost every day I use it, and it especially drives me crazy when I am trying to find C# things. Before this book, delegates were my biggest C# bugaboo: I could never get the syntax quite right, and I’d go off and look at other folks code in our project and try to copy what they did, and I’d eventually get something that compiled. It turns out that one of the reasons I was confused is that the syntax has evolved over the C# versions, and our project uses pretty much all of them, depending I think on the author and when the code was written. I really loved Chapter 12, which is all about delegates, and after reading the book I managed to write some new delegate code without so much as a compiler error. It also taught me how to read and write the new 3.0 syntax for lamda expressions, and although I can’t say I can do those right first time, I can at least read them and get one of my own to compile in a few tries: a great improvement.

The book doesn’t try to cover the myriad of .NET Framework features, and sticks just to the basics like Object, Collections and some on Threads. That suits me just fine, MSDN is just-about-usable when it comes to Framework documentation.

The book is not perfect: each chapter starts with a Mind Map, which is a star-shaped diagram that attempts to explain the contents of the following chapter: it was meaningless to me. Its coverage of platform invoke is also lacking, especially in marshalling and pointer handling, and that is one area that MSDN is particularly poor so I usually resort to internet-wide searches for answers to my issues in that area. The chapter on Query Expressions I found hard going after a while, but I think that is due to the subject matter and my mind, not the book. Once I actually start using LINQ I’m sure a revisiting of the Chapter 15 will make a lot more sense the second time around.

Once I finished reading it at home I took it to the office to use as a general reference work, but immediately discovered a disadvtange of getting a free pre-release copy: there was no index! I see a future for lots of those little colored tabs on my copy, until I shell out for a real one. Although it was a draft, I saw no obvious typos or technical errors, something that I can’t say for a recent Microsoft Press book I bought, which had an embarassment of typos that a simple spell-check should have caught.

In summary I like this book a lot: its level suited my skill set perfectly, and it taught me a bunch of new things as well as reminding me of a few forgotten gems. It will take its place on my desk at work as the first place I turn to for C# information. Once I get those colored tabs in place…

Posted by andypennell | 0 Comments

Converting Zune playlists into Windows Media Player playlists

For some inexplicable reason Zune playlists (ZPL) are different from Windows Media Player playlists (WPL). I foolishly made a Zune playlist and wanted to burn a data CD with it, but the Zune Burn feature only makes audio CDs. I tried loading the ZPL into WMP, but it failed. After 60 seconds of comparing two files, here is what worked for me. YMMV:

Open the ZPL in your favorite editor (e.g. Notepad). In the first line change

zpl version="2.0"

into

wpl version="1.0"

Save As the file with a wpl extension.

I could then load the new WPL file into WMP and easily burn a data CD, for use in my car.

WPL files at least are somewhat described on MSDN, I can't find any definitions for ZPL files though they appear to be identical save for the header and the file extension. ASX files are yet another Microsoft playlist format which I have had some experience of.

Note that this shold not be considered Official Microsoft Documentation. But its the best I can do, hope someone finds it useful.

Posted by andypennell | 2 Comments
Filed under:

Using a Zune 80GB as a Car Video Player

Following on the theme of trying to make it easier for my kids to watch movies in the car but without the hassle of the pesky shiny discs, I decided to try using a Zune 80GB as a car video player. This is clearly outside its design parameters, because the Zune Car Kit has no provision for video output as one example. Despite this "outside the box" usage, I persevered anyway, and here is my story.

Our family vehicle is a 2006 Toyota Highlander Hybrid, with the touch-screen nav system and in-car DVD system. While it works, the DVD system was designed by a team that did not have any young children between them, and as a result has severe usability issues with that specific scenario. I'll spare you the details, but if you have young kids you can imagine how much fun it is to have them yelling at you because they can't see the screen (as the remote to turn it on doesn't work from the front seats) or because the screen is obscured by a huge dialog box with an OK button (which inexplicably appears every time you start the system). The only good news about the Toyota system is that it has an external AV jack at the rear of the center console. Even if the DVD UI had been not been designed one night down the pub, there is still the hassle storing and tracking the physical discs, keeping the kids away from them, and the impossibility of changing them when on the move (unless an adult is in the rear seats). A friend recently had his kids manage to stuff four DVDs into the single DVD slot in his Honda: there's an expensive repair in his future.

The First Zune Trip (30GB version)

I started by borrowing a friend's Zune 30GB which handily came preloaded with a bunch of kid-suitable content as he'd already ripped a bunch of stuff for his young daughter. I bought a program to convert my DVDs at his recommendation, though I'm not going to name it here becauses it's not exactly legal or reliable. I used said software to add a few more movies to his Zune for our forthcoming July 4th trip. I used the Zune Cable Pack to connect the AV output to the car, and the usb cable to our 12V "cigar lighter" socket via an adapter we already had for our cellphones, and embarked on a 7 hour roadtrip. In retrospect I should have tested this on a short journey, or at least got it going before we left. I did neither, which is how we came to pull off the highway to deal with unhappy kids.

The first issue is simple movie selection: an adult in the front negotiates the movie choice with the kids in the back, then selects it on the Zune, hits Play, then immediately has to go to the Settings menu to turn on the TV output. At this point the LCD goes dark, and while the kids can see the Zune UI on their screen in the back, the adult in the front is left literally blind. If your kids can read this is probably workable, but mine are 2 and 5 so this is not an option. The trick at this point is to just hit Play on the device. Fortunately this much had been figured out before we left.

The second problem, which caused us to exit the freeway to fix, was that there was no sound. I hadn't bothered to read any documentation for the Zune, so it took me a little experimentation before I discovered how to change the volume on it. This feat acheived, we resumed the movie (with sound) and hence our roadtrip.

During playback the kids were very happy: picture quality is of no concern to them, so the 320x200 default Zune resolution is just fine on their 7" LCD in the car. At some point I hope that the children of an HD DVD veteran will truly understand what picture quality is all about, but at 5yrs old its not the time.

We were on our second Zune movie when the next problem occurred: the Zune battery died. Despite using the USB sync cable with our 12V adaptor, the Zune had not been charging at all. It looks like the Zune requires a high-power USB port, and our car adapter fakes up a low-power USB port. Oops.

We reverted to our well worn and well watched DVD collection for the remainder of our trip.

Switching to Zune 80GB

The Zune 80GB that we had ordered (a bargain at $234 via this offer) showed up the day we returned from our trip, so I proceeded to copy the converted movies to it. However, instead of just copying them (which takes almost no time), the Zune software insisted on transcoding the videos. This takes about 1x time (ie a 2 hour movie takes 2 hours to transcode on my PC). What was weird is that the exact same videos copied without transcoding to his 30GB Zune. I'll spare you the details of how I figured this out, but the Zune 80GB only accepts WMV video in WMV9 format: formats such as WMV7 and WMV8 (which the converter software creates by default as its a lot quicker to convert) have to be transcoded. The Zune 30GB accepts these formats directly. The Zune documentation lacks pretty much any technical information, and video is no exception, the best I could find was this KB article which you'll note doesn't actually tell you about which formats will copy directly and which require transcoding. The WMV9 format at 320x200 seems to take around 300MB per hour, which is reasonable.

General Zune Observations

I love the device itself, but I am not a fan of its PC software (a very dumbed down Windows Media Player-like clone) or its lacking documentation (see this page for an example of telling you less than the actual UI does).

When categorizing video files you can set certain metadata (Type, parental rating etc) for the files (though I took some time figuring out exactly how), but the edits you make don't get written in the WMV files themselves, they are stored in the Zune database somewhere. WMV metadata is read by the software if you have managed to set it, but never AFAIK writes it back to the file. This means that if you copy the files somewhere else, those metadata edits won't be copied.

The Zune software only offers primitive filtering on the metadata anyway: its support for TV series is good (you can give it the Series and Episode numbers and navigation on the device consumes this), but although it will display the parental rating it won't let you set it, nor can you filter by it. In order to separate the few non-kids movies from the kids ones I left ours categorized as "Others" (the default) and marked the kids either as TV Series or Movies/Family. In general Microsoft's support for editing WMV metadata is very poor, Vista's Explorer Properties tab is about as good as it gets (and that isn't very).

Zune only supports playlists for audio files, not video files. This is a weird restriction, as Microsoft have at least two formats for playlists (ASX and ZPL files) either of which would suffice for video. This would allow the easy creation of "edited" movies by skipping the scary bits, for example, without having to resort to actually editing (and then re-encoding) the video.

I got a different 12V-to-usb adapter which was claimed to be Zune 80GB compatible but in fact was not. The Zune appears to have very special requirements for its usb charging, and I'm still looking for a solution that doesn't require $$$.

Requests for the Zune Team

If in-car video becomes a supported scenario for the Zune team, here's what it needs to be successful IMHO, and it isn't much really:

  • Let the LCD stay on when TV Out is selected, at least until you Play a movie
  • Have a car dock kit that supports 12V charging with AV output

An actual Zune car dock that fits the latter specification is shown here but its an annoying Flash site ie looks great but is content-free. Its also not for sale yet, but it looks promising and the price is good (considering the Zune Car Pack costs an amazing $80).

Conclusion

If your kids are old enough to operate the Zune themselves then its a good choice for in-car video. If your kids are too young for that, then the Zune is not a perfect choice for in-car video, but its usable. You need a bit of patience to set it up and have to cobble together sufficient hardware to connect it. It is better in every respect than an in-car DVD player, as there are no discs to carry around or trash, plus its portable and can be used out of the car too of course.

Tricks and Tips for using the VMR9

A few months ago I did some work involving the VMR9, and I hit several brick walls. Many of these brick walls I hit about six months previously when working on a PC application for HD DVD playback (no, there were no plans to ship it, even then), but I hadn’t taken enough notes of the solutions back then and had to re-debug them all over again. In case you hit these same problems, or I do at some point in my future, here they are and how I solved them. I do not claim domain expert status in this area, nor should you treat my claims here as gospel. I also cannot explain why these changes fixed things. However they worked for me and might for you.

 

I was trying to build a graph that rendered video into a custom allocator/presenter, using the VMR in renderless mode. The issues were:

  • Failure to QI the VMR for IVMRMixerControl9
  • No video output when the VMR is in renderless mode at all on Vista, identical code worked fine on XP
  • When I fixed that above, I could get MPEG2 video to render on XP but not WMV, and Vista still rendered nothing

 The solutions turned out to be:

 

QueryInterface on the VMR9 for IVMRMixerControl9 returns E_NOINTERFACE until you call SetNumberOfStreams on it.

 

If you ask the VMR to use YUV in renderless mode on Vista, nothing will render. The fix is to not ask for it. (Duh).

 

The order you set up VMR9 for renderless mode is critical. The original code that worked OK for MPEG2 on XP but not at all for WMV was as follows (error handling omitted for clarity):

 

spGraph->AddFilter(spVMR,L"VMR");

spVMR->QueryInterface(IID_IVMRFilterConfig9, &spConfig);

spConfig->SetRenderingMode(VMR9Mode_Renderless);

<set up custom allocator/presenter>

 

After much experimentation the code that worked in all cases was:

 

spVMR->QueryInterface(IID_IVMRFilterConfig9,&spConfig);

spConfig->SetNumberOfStreams(1);

spConfig->SetRenderingMode(VMR9Mode_Renderless);

<set up custom allocator/presenter>

spGraph->AddFilter(spVMR,L"VMR");

 

I can only guess that when you add the VMR filter to the graph you must have already set up the custom allocator/presenter. Why Vista is more fussy than XP, and why MPEG2 behaved differently than WMV I cannot begin to guess at.

Posted by andypennell | 6 Comments

Who doesn't take credit/debit cards in 2008? Washington State Licensing, that's who

Normally I renew my car tabs online with a credit or debit card, but that wasn't possible this week so I visited an actual License Office. Much to my amazement there was a sign stating "We do not accept Debit or Credit cards". When my turn came to speak to an employee, I asked why. She said "we don't have the machines". I emailed the Customer Service and they responded:

Dear Andy,
We do not accept debit or credit cards in any of our licensing offices, only check or cash.  We only accept the credit cards online only.

When you visit an actual office for tabs you pay an additional $4 for the privilege compared to the online price (where you can pay with plastic). Those $4s are insufficient to buy a few card readers I guess.

I remember being amazed in 1995 when finding my first local liquor store to discover it didn't take plastic either. In WA state liquor stores are run by, you guessed it, the State of Washington. It took them a few years but they did eventually get with the program.

Meanwhile here we are in 2008 and for some reason this particular piece of local government is still stuck in the 1980s. I guess they want folks to pack large wads of cash to their facilities, along with the security issues that result, both for us customers and for the offices that handle them. I mean who uses checks any more? Maybe their plan instead is to make us use the no-name ATMs in their licensing offices, which I assume they make a nice commission on.

Please WA licensing, get with the program. Let us use plastic to buy things in your offices.

 
 
Posted by andypennell | 0 Comments
Filed under:

Playing Ripped DVDs with Media Center Extenders

At last I have succeeded in getting ripped DVDs to play from my Xbox 360's Media Center Extender, and here is how I did it. First off let me explain my goals:

  • I want to be able to play my kid's DVDs via my home network, so they can avoid trashing the shiny discs any more than they already have
  • Playback needs to be from something other than my PC, so my kids don't trash that
  • I also want to avoid transcoding the DVDs into another format, because my time is extremely limited (thanks to having two kids)
  • I'd like the original DVD menus and Extras to be available.

Ah well, 3 out of 4 ain't bad: the last goal is still unattainable.

Requirements

  • Media Center on Vista SP1
  • Media Center Extender (I use an Xbox 360, I assume the 2nd gen extenders will also work but I don't have one)
  • The ability to edit XML files (e.g. Notepad)
  • Ripped DVDs

How I Did It

  1. First off I ripped the DVDs to my file server. I'm not going to tell you how to do this.
  2. Next I enabled "DVD Library" which lets you play ripped DVDs on the Vista machine itself in Media Center
  3. Next I got my Xbox 360 to see my Media Center on my Vista (64-bit) box. This was substantially harder than it is for most people as I run a Domain Controller on my home network, plus the files are on a file server, not on my Vista machine. Once I got it working I was crucially disappointed to see that "DVD Library" did not show up on the Xbox.
  4. The trick to getting "DVD Library" to show up is revealed here. This took me longer than it should because although "DVD Library" showed up on my Xbox soon enough, the only content was the Apollo 13 and Vertigo clips that come with Vista. No amount of me messing with the Extender Settings could change this. However, turns out I was an idiot: pressing the Info key brings up a sub-menu with "Add Movies" on it. Once I did that and added the share from my server, I was in business.
  5. Getting rid of Vertigo and Apollo 13 proved impossible except by removing the files physically from my Vista machine.

More Info

I created a new share on my server, called DVDs, to separate the kids rips from the general pool. For each desired movie, I made a new directory (whose name is what shows up in the "DVD Library"), and into it I placed:

  • Folder.jpg - disc artwork borrowed from Amazon, cropped to DVD-shape when required
  • VIDEO_TS.IFO - zero length file required
  • The hardest bit: working out which VOBs are the actual movie. For each one, I created a hardlink MPEG from the VOB in the original rip directory.
  • Foo.wvx - XML file as described in the link above. Only a few elements are supported, described in the Playlist section of this page. The name of this file makes no difference, the extension does though. For each VOB you worked out above, add an Entry/Ref section as described.

Hints & Tips

When playing DVDs this way, there is no trick play, and chapter skipping just seems to jump 30 seconds or so. Also when there is a transition of one MPEG to the next, there is a few seconds of blackness. Anamorphic DVDs look great, 4:3 ones as well as expected, but non-anamorphic widescreen titles have black bars on all sides.

If you find the ASX spec you will see all sorts of goodies, but they are mostly ignored unfortunately. Its hard to find the spec, but this link works sometimes and this one at other times.

Don't use Windows Media Player to work out which VOBs are which: it is too smart and recognizes its a DVD rip. I used Nero's Showtime instead. You can use WMP to check the WVX file works, but note that it will choose a seemingly random audio track for each MPEG file. Don't be alarmed, MCE chooses the right track when it plays them, WMP is broken in this regard.

I had problems using a VIDEO_TS directory: just placing the listed files directly into a suitably named directory worked much better for me.

In an ideal world you could play ripped DVDs on Extenders out-of-the-box, but you can't and some hoops are necessary. These hoops are worth it for me though. I can dream about DVD menu support I suppose...

What did you do in the Format War, Daddy?

My kids are 2 and 4 yrs old so have little concept of what Daddy does, though they do know the words DVD, Xbox, and Lightsaber. However in a decade or so they might be able to understand what Daddy did in the format war, so here’s how I plan on explaining the last three years of my work:

 

In early 2005 Daddy joined what was then called the Professional Content Group at Microsoft, who were working on the replacement for DVD. At the time the team was mostly program managers who were working on the advanced interactivity aspects of the formats, then called iHD. There were two competing formats, one mostly from Sony called Blu-ray, and another mostly from Toshiba called HD DVD. Blu-ray was originally a very primitive high definition recordable format, while HD DVD was created by the same forum as DVD as a high definition replacement for it.

 

While the program managers worked on the standards committees specifications themselves, us developers started implementing iHD. It was designed based on certain tenets from studios like Warner and Disney, with features to match. Before I got to the team it had produced a demo with Disney called “WayVD” [strange name, that’s another story] that had helped convince the DVD Forum to accept iHD. However not long after Disney switched to the Blu-ray camp, for reasons never made public. The BDA (the cartel of Blu-ray supporters) voted to accept iHD as well, but due to complications this decision never stuck, and in the end they went with a Java-based solution called BD-J instead. For this and other reasons Microsoft ended its format-neutrality and became HD DVD-exclusive.

 

Toshiba licensed the iHD code that Daddy’s team produced and used it in every HD DVD player they shipped, starting with the HD-A1, which became available in April 2006, at a reasonable price of $499. Along with the three launch titles it got rave reviews, which surprised many as Blu-ray had been talking a lot of smack in the years before release and fooled many people into thinking HD DVD was dead before it even launched. The A1 proved a lot of people wrong.

 

A few months later the first Blu-ray player appeared, the Samsung BD-P1000, along with launch BD titles, for $999. The reviews were not so great for this player, as it deliberately softened the picture and its 1080p output was really the same 1080i output the Toshiba had, but put through a de-interlacer. It was also twice the price of the Toshiba competition. The poor BD launch continued when Sony themselves released The Fifth Element on BD, and it looked terrible, worse than the same title on DVD. Over a year later on AVSForum the BD folks admitted they launched BD about a year earlier than they were ready to, because they couldn’t let HD DVD be alone for that length of time. The Fifth Element proved such an embarrassment for Sony that they eventually re-mastered it in 2007 and offered the poor owners of the original free replacements.

 

While some of Daddy’s team continued work on the Toshiba code, Daddy moved on to help out with the Xbox version of the software. This was a full end-to-end solution, where we owned everything (unlike the Toshiba which ran their Audio-Video-Network stack), which was over 5 million lines of code. The Xbox HD DVD drive shipped at $199 and proved very successful: it quickly became most popular HD DVD player and remained so for over a year.

 

When Daddy was young there was a similar format war, between VHS and Betamax, but it was different in an important way: all the movie studios produced tapes for both formats. Only the player manufacturers “took sides”. Betamax (from Sony) eventually lost, so to make sure that didn’t happen again, Sony bought Columbia Studios. When the high definition format war came around, Sony didn’t want a level playing field like last time, as they knew they would have serious trouble competing on disc and player costs with HD DVD if everything else was equal. To avoid this they made their studios Blu-ray exclusive and then started trying to “persuade” other studios to do the same. They had some success, but Warner Bros, the biggest, stayed HD DVD exclusive for a while, though eventually produced discs for both formats. In the end it would be Warner that brought the war to an end.

 

Another thing that was different for this format war was the internet: the format war was a very hot topic on discussion forums and web sites, and news & rumors spread very quickly indeed (even when they weren’t true), generating huge amounts of discussions, taunting, abuse and FUD. Daddy participated in AVSForum, as did several of his co-workers and his VP, and so did a bunch of BD folks. However while us Microsofties were proud to show our names and employer, the BD folks all hid behind anonymizing screen-names, not revealing who they were, what they did or even who they worked for. While we all took great care in what we said and used respectful tones, they were free to say whatever they liked, how they liked, with no comebacks on them or their employers. The Industry Insiders Thread on AVSForum lasted for just over a year and ended with around 13,500 postings on that single thread.

 

The second Blu-ray player to come out was Sony’s PS3 which was really a games console with a BD drive in it. At $499 it was substantially cheaper than the other BD player and remained so for about a year, until BD player prices started to fall once the original ones started to become obsolete. Not only was the PS3 the cheapest player, it was the only one that could run the BD-J software at a vaguely decent speed, as well as play PS3 games of course. Although the attach-rate for PS3s (that is movies-per-player) was low, the sheer number of PS3s substantially helped the overall sales numbers of BD discs.

 

Due to the premature launch of Blu-ray, there were a bunch of features missing from the original players. They became known as Profile 1.0 players, and had additional problems when discs using BD+ appeared. BD+ was an attempt to add another layer of protection onto the discs, pushed mostly by Fox, but when the discs appeared many BD players had serious trouble playing them. The BD folks then created Profile 1.1, which added picture-in-picture, audio mixing, and persistent storage to Profile 1.0, in an attempt to catch up with the HD DVD feature set, but players didn’t have to conform until late 2007. They also created Profile 2.0 which made a network jack mandatory. Yes kids, I know it’s hard to believe, but in 2008 the BDA didn’t think that internet connectivity was important enough to include in every player. Of course HD DVD had all these features back in 1.0 and that was done in late 2005, with every player supporting every feature.

 

During 2007 things got a lot more interesting: new players from both side, with BD players consistently being around twice the price of HD DVD players, and still all Profile 1.0 (the most primitive version). Similar numbers of movies came out for each side, and much time was spent talking, ranting and misleading about the format war on the web. Daddy spent much of 2007 working on an HD DVD Emulator, which was a special version of the Xbox player that made it much easier for content creators to make cool HD DVD titles. I also helped out on the various updates that were done for the Xbox player itself. As a "thank you" to the team everyone got a special black Xbox HD DVD drive, and Universal also gave everyone a boxed set of "Heroes Season 1" (which Mummy & Daddy had previously missed on TV but got to really enjoy from those HD DVDs). Another perk of the job was access to the team's HD DVD library, which contained every HD DVD there ever was worldwide. Daddy so enjoyed his work that he even changed the license plate on his car to "HD DVD".

 

One surprise was that Target announced they would not sell any HD DVD players except the Xbox, as a result of a deal with Sony. This was weird, as Sony were paying for a store to not sell a competitor's stuff. While Microsoft has been in trouble a bunch of times for anti-trust issues, no-one seemed bothered by this highly unusual behavior. Sadly it would not be the last time that Sony would do this.

 

In August 2007 we got another surprise: Paramount, which had been supporting both formats, announced that they were dropping Blu-ray and going to only produce HD DVDs, which also meant Dreamworks would do the same. This was fabulous news for us, but it got Sony very worried indeed. So worried that the Sony CEO (Howard Stringer) personally called up a bunch of other CEOs and tried to "persuade" them to ditch HD DVD. As the format war had just entered a new phase, a phase where the underdog (us) suddenly looked like it stood a chance of winning, everyone passed on his kind offer. However, about five months later, it looked like many of those same CEOs would return the call to Howard and see if the offer was still open.

 

Christmas 2007 went pretty well for HD DVD, with Toshiba reducing their 3rd generation player prices further and even forcing the BD companies to cut their heavy prices a bit. Rumours began to emerge that Warner was going to make a decision and pick a single format: as the largest studio they had some serious clout, and they knew it. After a lot of high-level wrangling among various CEOs, Warner was close to picking HD DVD (along with Fox, a long-time BD supporter), but Sony got wind of this and came calling again with their check book. After a rumored $300-$500 million deal (along with $120m for Fox) both companies decided instead to dump HD DVD on Janury 4th 2008, the day before CES opened. This was Daddy's Black Friday, a real shell-shocker of a day for him and his team. It was pretty much all downhill from there. CES was a glum affair for us and the cool demos the team had been working on never got a public showing.

 

In the weeks that followed we were told privately of what Toshiba's (and the HD DVD Promotion Group's) response would be, but only the first phases of that ever came about: both Toshiba and Microsoft cut hardware prices, but it wasn't enough. One by one other companies started dumping HD DVD (coincidentially it was the same companies that Sony's CEO had called in August after the Paramount deal) until the pressure got too much, and in February 2008 Toshiba had a board meeting and cancelled HD DVD. After that the remaining studios (Paramount and Universal) had no choice but to give in too.

 

In the weeks that followed Daddy went out and bought up all the best titles on HD DVD and another Xbox player as a backup, so he could be sure of playing those titles for as long as he could. He also decided to add certain companies to the family "No Buy" list (which had consisted of just Apple for years up to that point), as well as adding Amazon, Universal and Paramount to the family "Favored Companies" list.

 

After doing HD DVD in, Blu-ray's next battle was with DVD. Unfortunately for them Sony couldn't just write checks to get people to stop making DVDs, so that battle proved to be a lot harder.

 

And that is how it all happened kids.

 

[with apologies to the Blake Edwards movie]

 

 

Why HD DVD Really Lost The Format War

It's all my fault. I'm terribly sorry. Something critical happened in October 2007 that I forgot to add to yesterday's Diary posting. Before CES 2007 I was going to do it, but I was worried that something bad might happen at CES so I didn't. After the Paramount announcement I figured that CES 2008 was going to be great for us (I mean what could possibly go wrong?), so I went and got myself the license place "HD DVD". Little did I know that right there and then I doomed my favorite format...

Posted by andypennell | 7 Comments
Filed under:

Diary of a High Definition Format War

Here are my personal highlights (and lowlights) of the format war, from down in the trenches of the HD DVD team at Microsoft. To make it a bit clearer, here is a graph of the peaks and troughs of the last three years:

April 2005: I join the Profession Content Group. Immediately start work on iHD engine (later renamed HDi™)  for the PC. (Eventually this code will run on Xbox, Linux and Windows CE too).

August 2005: HD DVD Spec 1.0 is finished, and a party is held on a boat on Lake Washington with lots of Microsoft and Toshiba folks, along with some Studio people too. Weather is great, and a good time is had by all.

September 2005: Microsoft announces we are HD DVD exclusive (along with Intel).

September 2005: I see my first Xbox 360!

October 2005: First HD DVD drives turn up from Toshiba.

Jan 2006: At CES we demo Bourne Supremacy HD DVD running with animated menus and subtitles that include a picture of who is speaking (a feature never used on a shipping title). The demo was running on Vista. I had worked for a week on a lip-sync bug and when the demo was run the audio was turned off anyway.

Jan 2006: At CES Xbox announced they would be producing an HD DVD add-on, which was a complete surprise to everyone except those on the stage.

Jan 2006: At CES Toshiba give away the first HD DVD Hybrid discs: a single sided disc that has both DVD and HD DVD content on it. BD can’t ever do that.

Jan 2006 (I think): The team sees the first Toshiba HD-A1 prototype (called Excalibur) running the first real HD content. To general delight the demo content was created by Toshiba with an HD camcorder and features shots of the August Launch Party: the first HD DVD content I ever see includes me drinking on a boat in the sunshine: who would have thought?

March 2006: The team has a party at The Big Picture in Redmond when we watch The Last Samurai from an HD DVD check disc, on a prototype A1 player, on a theater-sized screen. I recall one playback glitch and a problem with subtitles, but overall impressions were kick-ass.

April 2006: Toshiba ship the first HD DVD player, the HD A1, to great reviews, for $499. First three titles in the US are Phantom of the Opera, Million Dollar Baby, and The Last Samurai. My own A1 arrives at home!

May 2006: Bourne Supremacy is released, the first HD DVD title using Picture in Picture to show the director’s commentary. It takes BD over eighteen months to get the same ability, and then it only works on Profile 1.1 players (i.e. the PS3).

June 2006: Samsung release the first Blu-ray player, for $999. A few weeks later the team gathered in front of one and checked out the first BD titles. Man how we laughed: lots of hour-glasses while we waited for, well pretty much everything. The menus were more primitive than DVD menus: tiny chapter icons, and only as many that could fit on a single screen. Weird. Then we watched The Fifth Element, and saw how bad the picture quality was. We couldn’t believe how lame everything was in comparison to HD DVD. And for twice the price. Things were looking up.

November 2006: Microsoft ship the Xbox 360 HD DVD Player for $199 to generally good reviews. It’s a lot faster than the Toshiba players but suffers from Xbox hardware limitations (no HDMI, later fixed, and no advanced multi-channel audio output).

June 2007: The first network-aware HD DVD title is released, Freedom 1 from Bandai, which allowed additional content to be downloaded from the internet. It takes BD three more versions to offer the same feature and as of this writing, eight months later, exactly zero BD Profile 2.0 players are available (although strangely there are two BD titles that claim networking features).

August 2007: Paramount announces they are going HD DVD exclusive, having tried being dual format for a while. Champagne and goodies are consumed in the hallways. This was the best day for HD DVD for sure. All of a sudden we weren’t the underdogs any more, we had a real shot at winning this thing. (Sadly Sony come to a similar realization and start getting the big checks ready).

December 2007: Hardware and software sales are strong for HD DVD. Everyone is happy.

Jan 4, 2008: Black Friday. The team are called to a special meeting called at 11am where we learn of Warner’s decision to go Blu-ray only, which they promptly do publicly an hour later. Without a doubt the worst day in the life of HD DVD.

Jan 2008: CES 2008 turns into an unhappy experience for HD DVD, starting the day after the Warner bombshell. Cool demos never see the light of day and everyone is pretty shell-shocked.

Feb 2008: A bunch more bad news from Wal-mart, Netflix and Best Buy.

Feb 19, 2008: Toshiba announce they are dropping HD DVD. We lost. We were robbed. I feel like the Democrats after the 2000 election.

Posted by andypennell | 16 Comments
Filed under:

Come see HDi at the Sundance Film Festival

If you are attending the Sundance Film Festival, please drop by the Microsoft House on Main Street and say Hi to representatives of the HDi team and see some cool demos and movie screenings. I'll be there myself from the 24th to the 26th, and someone else will be there to assist you on the other days (but without the English accent). For more details of times etc see our web site and also on the Sundance Sponsor page.
Posted by andypennell | 1 Comments
Filed under:

Using the Media Center Remote from Windows

To save you the pain that I had recently, of trying to hook up simple support for the MCE remote control in your app, here is the important info that I found incredibly hard to locate via MSDN search:

A C# article called "Using Alternate Input Devices in Your Smart Client Applications" (easily translatable into C++)

A critical list of magic numbers, the most important of which are 0xffbc and 0x88 (the usage page and the usage id for the MCE remote). I'm not making this up.

The RegisterRawInputDevices API, into which you feed the above magic numbers in the way described in the C# article. You'll note the API docs give no clue whatsoever as to the magic numbers you need.

Please note I know very little about this, I am not claiming to be a domain expert here. However, if you are going crazy trying to figure this out, as I was, I hope this is useful.

Posted by andypennell | 2 Comments

Xbox 360 HD DVD Version List

Here I will try and document the various releases of the Xbox 360 HD DVD player, in reverse chronological order. Major releases are in bold (a major release either has new features or has a boat-load of changes, minor releases are pure bug fixes). To see which version you have, while playing a disc press Display then select the ? icon. Note that Dashboard releases are separate from the HD DVD player, and done by the Xbox team not the HD DVD team.

2.0.5127 (Apr 08)

  • New Feature: audio/video streaming. EVO files can be read from http(s) addresses
  • Fixed issue with several HDNet titles hanging
  • Fixes for DTS sub-audio
  • Fixed issues in titles Lee Ritenour: Overtime, Les Bronzes, The Break Up and All the Goals

 2.0.4645 (Dec 07)

  • Network download performance got a substantial improvement
  • Fixes hang when saving bookmarks on a few network titles when connected to the network (e.g. Transformers, Evan Almighty, Heroes)
  • Fixes Harry Potter and the Order of the Phoenix problems playing with the IME enabled
  • Fixes spurious "There was a problem with licensing for this content" error on a few titles (the issue had nothing to do with licensing FYI)

2.0.4641 (Nov 07)

  • Networking fixes
  • Improved title compatibility (e.g. Hot Fuzz C667000A error).

2.0.4636 (July 07)

  • Networking fixes only

2.0.4634 (June 07)

  • Networking fixes only

2.0.4629 (May 07)

2.0.4248 (Nov 06)

  • First update.

2.0.4113

  • Original release.

In addition all versions usually contain fixes for yet-to-be-released titles. For general troubleshooting with the drive, as well as how to update your player version, go here.

Now Available: HD DVD Emulator for Xbox 360

As of this morning the product I have been focused on for much the last year or so has at last been released: the Xbox 360 HD DVD Emulator. This is based on the Xbox HD DVD player, but designed for content authors to test and debug their titles without having to burn a disc. Content is created on a PC as usual, then you run it on your regular Xbox 360 under the emulator by sharing it over the network, putting it on a USB drive/stick, or burning an actual disc. A Viewer application runs on the PC to collect the information from the title as it runs, allowing the author to determine what happened and why (or maybe why not).

An emulator has the exact same feature set as a real player, but with extra hooks to allow authors to "see into" the ECMAScript and markup as it runs. This is in contrast to a simulator (such as our PC-based Jumpstart Kit) which is not fully featured (Jumpstart can't play real HD DVD encoded audio/video and is based on the old, original Toshiba A1 HDi codebase). Note that the emulator cannot run AACS-protected titles as it is designed for pre-production use. It does allow titles to run in full-trust mode as if they were AACS titles, so you can access pstorage and the like without making a real AACS disc. (The emulator's pstorage is separate from the player's pstorage of course).

Here is a screen shot of the Log Viewer in action: it is showing the startup sequence of Peter's Liar's Dice sample. The grey section shows the script execution path: which file, which function, and the variables as they change.

As an aside, the PC components were my first real code written in C#, and I have to say I'm a huge fan of my old team's work. Intellisense rocks, and WinForms make it easy even for a UI-clunker like me to make a decent looking application. Plus of course the debugger is fabulous...

Vote for HD DVD

Its November and its time to place your vote. No, not for US Presidential candidates, but for the optical high definition format you want to be the winner in the format war, which of course for me means HD DVD. This holiday season might be the last chance for your vote to be considered by the studios, and its they who really hold the key to how HD DVD vs Blu-ray is going to work out in the long term. If lots of players get sold this quarter, that will translate into lots of movies sold for the format, which is what the studios look at when deciding their HD future.

Lets look at the most common reasons that people give for not choosing between HD vs BD right now:

Players are expensive

Well BD players certainly are, but HD DVD players start at around $200 now (and even $99 on occasion). That's about the same price as the Oppo players, and they don't even support either of the HD formats. If you already have an Xbox 360 then you can get the add-on drive for less than that. Most players include five or so free movies to boot. If you see a suspicously cheap BD player tread carefully: chances are high its a Profile 1.0 player and those won't be able to play some of the features of the BD discs coming out next year. (HD DVD players have had these same new-to-BD features for years now). If you want to hedge your bets, and can afford to, look at one of the forthcoming dual-format players that also plays BD.

I'm Waiting for a Clear Winner

Be careful what you ask for. If you don't bother choosing now, you may not have a choice at all and be stuck with a consumer-unfriendly format controlled by a big studio that only offers overpriced player hardware. Remember: without the competition, BD would be a 25G MPEG2/PCM only format and titles would look as bad as The Fifth Element.

I live outside the USA, what does it matter?

If you are European or Australian then either vote for HD DVD, or quit moaning about region coding. If you hate region coding, then HD DVD has to be your format of choice because it doesn't do that. Buy a disc anywhere on the planet, play it anywhere on the planet, giving you the maximum choice of movies.

I can't tell the difference between high definition and standard definition

I'd wager that your TV must be connected via a composite cable (or s-video): upgrade to component or HDMI cables. You don't need a 1080p set either: the difference in video quality is huge, even on small TVs (I have a 30" 720p LCD and the difference is clear), plus you get more features on the HD discs (picture-in-picture commentaries, network downloads, in-movie extras etc).

I don't have an HDTV

Well get with the program: its almost 2008. In the USA analog TV is going to be turned off in just over a year, as a part of your TV upgrade you should also get an HD DVD player. Your new TV will be upset if all you feed it is a low quality standard def TV feed.

OK, You Convinced Me: I Want To Vote!

  • If you don't have an HD DVD player, go out and buy one before the end of the year. There are probably going to be some great bargains around Black Friday and through the holidays.
  • If you already have a player, make sure your favorite HD DVDs are on your Xmas list. If Santa doesn't deliver them, be sure to go out and pick them up yourself.
  • If you've done all that, then go tell your friends. Show them now great it looks. Explain to them what a tragic waste their HDTV is without something decent to show on it.
  • Remember: your vote counts!
More Posts Next page »
 
Page view tracker