Sdílet prostřednictvím


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!

WHOO HOO!!!

Edit: Clearly I'm "details" oriented :)

Comments

  • Anonymous
    July 25, 2005
    Guess this means its too late to be in Beta1 though.
    Hope you can let us know what it is soon.
  • Anonymous
    July 25, 2005
    Absolutely not Beta1. But it's in the pipeline for later.
  • Anonymous
    July 25, 2005
    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
    http://download.microsoft.com/download/9/8/f/98f3fe47-dfc3-4e74-92a3-088782200fe7/TWMO05002_WinHEC05.ppt
    sounds like you are not planning to implement any additional user level profiles in Longhorn either.
  • Anonymous
    July 25, 2005
    The comment has been removed
  • Anonymous
    July 25, 2005
    Geese talk about a tease and a half... You told us so much but so little, very evil... :-)
  • Anonymous
    July 25, 2005
    > 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.
  • Anonymous
    July 25, 2005
    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...
  • Anonymous
    July 25, 2005
    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.
  • Anonymous
    July 26, 2005
    Audio Policy? Sounds like some kind of evil DRM scheme.
  • Anonymous
    July 26, 2005
    "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.
  • Anonymous
    July 26, 2005
    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.

  • Anonymous
    July 26, 2005
    The comment has been removed
  • Anonymous
    July 26, 2005
    I'm fairly sure application independent volume was hinted.

    I would guess that requires come significant reordering of the audio pipeline.
  • Anonymous
    July 26, 2005
    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.
  • Anonymous
    July 27, 2005
    A while back, I wrote about how I disliked the word "Robustness" because it's meaning was so vague. ...