Why does the Media Center volume control change the master volume, not the per-application volume?

This morning, Steve Robinson asked:

Also, why does the volume control on Media centre effect the speakers, and not the per-app volume?

The answer?

It's all about the 10' experience.

 

The Media Center team and the WEX Sound team went around and around about this issue during the Vista development cycle, we spent a lot of time thinking about what was the best experience - this wasn't a situation where the MC team and the Sound team disagreed on the experience, in this situation, there is real ambiguity in the experience, and we had to pick one.

You see, Media Center has two totally different user experiences - the first is the "10 foot (10') experience", which occurs when Media Center is driving a TV (aka full screen mode).  The second is the "2 foot (2') experience", which occurs when Media Center is windowed.  Media Center is designed to work well in both experiences.

When running in the 10' experience, the primary interface with the computer is a remote control interacting with with Media Center to control volume.  People expect that a remote control works just like the remote control for their TV: when you hit the Mute button on a MC remote control from the couch (10’), most users expect ALL sound from the TV to stop, not just streams from the MC app.  If a remote control only stopped the TV or Music stream coming from the Media Center PC, but Windows system sounds or Outlook new mail sounds, or other sounds kept pouring out of your TV occasionally, most users would be shocked as they would expect their Remote Control to turn off the whole device, not just one application (MC) running on that machine.

On the other hand, you want the 2' mode to be per-application, since the MC application is sharing the desktop with other applications.

At first blush, there's an easy and obvious solution - in 10' mode, MC controls the hardware volume, in 2' mode, it controls the per-app volume.  That SOUNDS easy, but it turns out that it's fraught with potential pitfalls - first off, what happens when you switch between 2' and 10' mode?  You want the perceived volume to remain unchanged, but in 2' mode, you've set the per-app volume, now you must set the master volume to match the 2' volume, and this isn't always trivial to do.

An additional complication is that under some circumstances, MC will launch external applications to render content (for instance, some files are rendered using WMP).  If MC used per-application volume control, it would also have to control the volume of those external applications, and again that could be "complicated".

 

At the end of the day, the fact that the primary UX for MC is the 10' experience clinched the deal - the fact that most people are expected to use MC in full screen mode coupled with the difficulty of getting per-app volume perfect (and there are more issues than the two I mentioned above) meant that for Vista, Media Center uses a system-wide volume.