We’ve RI’ed, part 2

In November of 2002, the SCP project (to build a controller ship for home automation) was winding down.  As happens when projects end-of-life, one of the things that management does is to divvy up the members of the team - sometimes the lead takes a bunch of the developers on the team with them to wherever they end up going, sometimes other leads take developers.

I wasn't sure what I was going to be doing once SCP finished, until the dev manager for the Audio/Video Devices Group in eHome stopped by my office.

He wanted me to move up onto the audio group to work on a project that would make UPnP devices full fledged Windows devices - basically by bridging the network space into the Windows devices hierarchy.  I worked on it for a couple of months, and developed a prototype, but it didn't really go very far.

My lead on the team realized that this was going nowhere and he asked me if I was willing to help out by working on some "audio policy" work that the rest of his team was doing.

I was cool with it (I'm usually cool with changes like that), so I went to work on the audio policy infrastructure in Windows Longhorn.

My work was to be a relatively small part of a rather ambitious venture that the AVDG group was embarking on, but it was mine 🙂

Along the way, I had a major work reset (I was asked to do the HTTP server for the Windows Media Connect product), two or three reorgs, a change in managers, and a major feature reset, but the heart of my little feature managed to remain in the plans throughout it all.  I've also picked up another feature along the way, but my heart has always been with the original feature.

Well, on Friday of last week, we finally RI'ed our changes from our feature branch into the aggregation branch (for what those terms mean, see this PPT that Mark Lukovsky gave at Usenix several years ago).  This means that the features that I started working on back in 2002 are finally on their way to being part of the core Windows Vista product.  It's been a long two and a half years, and an even longer two and a half weeks (I went into 14 hour day work mode two weeks ago), but we're finally almost done!

Last Wednesday, we had a review of the feature with Jim Allchin, and it was unbelievably successful - he suggested some useful changes to the UI, but overall, he absolutely loved the feature.

I cannot describe how stoked I am about this.  When I first saw the UI, I couldn't decide if I wanted to shout in triumph or cry with joy seeing this new feature (I chose the shouting :)). 

I'm still being coy about the details (sorry, I'd love to, but I've been told I can't talk about details, some of the rough ideas have been disclosed at several conferences in the past, but not the details) but for now, the train has left the station, our stuff is going in!


Edit: Clearly I'm "details" oriented 🙂

Comments (15)

  1. Anonymous says:

    Guess this means its too late to be in Beta1 though.

    Hope you can let us know what it is soon.

  2. Absolutely not Beta1. But it’s in the pipeline for later.

  3. Anonymous says:

    Could it be this?

    "I’ll give an example of this that is close to my heart: One of the APIs we documented as a part of the consent decree was the API that’s used by DirectX that I mentioned above that gets the PnP device identifier of a mixer device. Well, in Longhorn, we’re not using PnP to identify audio devices – we’re introducing a paradigm shift that moves the audio engine away from PnP. Well, this internal API that we just documented is likely to stop working, because the new paradigm doesn’t map to PnP at all. "

    I hope this added flexibility means things like audio over Bluetooth is better supported. Stereo Bluetooth headphones are just beginning to become widely available, and headsets are widely used, at least in Europe. So far Microsoft’s uptake of Bluetooth technologies has been very slow.

    This presentation


    sounds like you are not planning to implement any additional user level profiles in Longhorn either.

  4. I don’t know anything about bluetooth support.

    Yes, the PnP thing is a teeny, tiny part of the changes we’ve done for Longhorn Audio.

  5. Anonymous says:

    Geese talk about a tease and a half… You told us so much but so little, very evil… 🙂

  6. Anonymous says:

    > some of the details have been disclosed at

    > several conferences in the past, but not the

    > details

    Sounds like my cat. In detail, mostly she’s detailed, but occasionally she discloses that she still has a bit of a tail, but not its details.

    (I don’t know why she’s mostly detailed. She was that way when we got her.)

    The devil is in the details, but not the details.

  7. Anonymous says:

    Congrats Larry! It must be pretty cool to think that a feature you developed will soon be used by millions. Can’t wait to try it out…

  8. Anonymous says:

    Well done Larry. Reaching major milestones in software development are almost always a great feeling. I say almost because sometimes it is a relief to have reached it.

    You sure write one of the most interesting blogs around. Deep programming discussions mixed with things from everyday life. Thanks for taking the time to do this.

  9. Anonymous says:

    Audio Policy? Sounds like some kind of evil DRM scheme.

  10. Anonymous says:

    "Audio Policy? Sounds like some kind of evil DRM scheme. "

    That’s what I thought too, but I’m sure Larry wouldn’t be involved in the Devil’s work. 😉

    Seriously though – DRM == BAD; Open Formats == Good.

  11. Nope, not DRM.

    As I’ve written before, I have no personal issues with DRM (as long as it works transparently), but my stuff isn’t about DRM.

  12. Anonymous says:

    Damn it… i’m getting way too curious here, being an audiophile and all 😛

    Can you at least hint at us which group of people this feature is most geared for? Beginners, enthusiasts, audiophiles, everyone?

  13. Anonymous says:

    I’m fairly sure application independent volume was hinted.

    I would guess that requires come significant reordering of the audio pipeline.

  14. Anonymous says:

    The UPNP device integration idea sounds pretty cool. It could be used for a whole house audio system — hook up a cheap device in each room to the speakers, and then just connect the device to the network.

  15. Anonymous says:

    A while back, I wrote about how I disliked the word "Robustness" because it’s meaning was so vague. …

Skip to main content