Larry Osterman's WebLog

Confessions of an Old Fogey
Blog - Title

We've RI'ed!!!

We've RI'ed!!!

Rate This
  • Comments 55
We've RI'ed!

??  What on earth is he talking about ??

An RI is a "Reverse Integration".  The NT source system is built as a series of branches off of a main tree, and there are two sets of operations that occur - when a change is made to the trunk, the changes are "forward integrated" to be branches.  New feature development goes on in the branches, and when the feature is ready for "prime time", the work is "reverse integrated" back into the main tree, and those changes are subsequently forward integrated into the various other branches.

The primary reason for structure is to ensure that the trunk always has a high level of quality - the branches may be of varying quality levels, but the main trunk always remains defect free.

Well, yesterday afternoon, our feature RI'ed into the main multimedia branch, this is the first step towards having our code in the main Windows product (which should happen fairly soon).

When a feature is RI'ed into any of the main Windows branches, code has to go through a series of what are called "Quality Gates".  The quality gates are in place to ensure a consistent level of engineering quality across the product - among other things, it ensures that the feature has up-to-date test and development specifications, an accurate and complete threat model, that the tests for the feature have a certain level of code coverage.  There are a bunch of other gates beyond these, but they're related to internal processes that aren't relevant.

The quality gates may seem like a huge amount of bureaucracy to go through, and they can be difficult, but their purpose is really worthwhile - the quality gates are what ensures that no code is checked into the trunk that doesn't meet the quality bar for being a part of Windows.

Our team's been working on this feature (no, I can't say what it is, yet :() for over three years, it's been a truly heroic effort on the part of everyone involved, but especially on the part of the group's development leads, Noel Cross and Alper Selcuk, who were at work at 2AM every day for most of the past three weeks ensuring that all the I's were dotted and the T's were crossed.

This is SO cool.

Edit: Cut&Paste error led to typo in Noel's name

 

  • It took you that long to write a new DRM system? Or did you have extra work to do on a brand new soul-sucking EULA as well?
  • Zeta,
    I've tried to be extraordinarily tolerant of comments on my blog, I've only ever edited out three comments out of 2930. Please respect the forum and don't make it four.

    But I'll answer your comment, even though it's a troll. Our feature has nothing to do with DRM, or the Windows EULA.

  • I'll start the guessing:

    * Voice recognition app?
  • Interesting. I'm trying to figure out what kind of multimedia feature would take over 3 years to develop.

    I vaguely remember hearing something about an API that would make it significantly easier to develop games but I think that was more than 4 years ago.

    Trolls aside I'm glad it's not DRM.

    When can us mortals expect to see the fruits of your labor?
  • will this mystery feature ship with XP reloaded, or will it be part of longhorn? Enquiring minds want to know ;)
  • I hope you just didn't make DirectShow obsolete... I have been working with DirectShow and DirectSound on a product for a while now. :-)
  • Hmm - would this have something to do with Quality of Service for multimedia - guaranteed minimum bandwidth available for media playback?

    Probably not, actually, since that was announced as a Longhorn feature at PDC'03.
  • Let's see..

    Minh: No.
    Kristoffer: Sometime later - when it ships I'll write about it.
    Nate: XP Reloaded? What's that?
    Michael: DShow's not going to be obsolete.
    Mike: Not really.
  • So, what comes next? A different Longhorn feature? More of this one? Please explain as much as you can about the process in general and the cycles a team goes through. Personally, I'm hoping what you've finished is the per-app mixing that's been in various screenshots.
  • Anon: Right now, it's polishing the chrome on the feature (fixing the minor issues we missed in the RI), next comes new features. But none of the new features are as big as this one.
  • An excellent primer and explainer as to why the Windows development and build process works in the trunk/branch setup is in this PowerPoint. I always find matters of massive logisitics like this fascinating, personally.

    www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky_html/Lucovsky.ppt
  • Retyped URL to make it clickable :)

    http://www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky_html/Lucovsky.ppt
    Thanks Carmen, I hadn't realized that PPT was online.
  • "XP Reloaded? What's that?"

    Mostly a marketing ploy trying to get a few more paying punters onboard the XP bandwagon; it encapsulates all the stuff that's happened to XP lately (SP2, MCE2005, etc.) but I think the overall message was too confusing -- it sort of sounded like a new version of XP, but wasn't. (Paul Thurrot has been banging on about it for æons:

    http://www.winsupersite.com/xpreloaded/

    I'd guess that if people within MS haven't even heard of it it's been something of a failure. :)

    Back on topic, though, I'm intrigued. What's it's ETA? Is it HUGE, or some sort of subtle underlying thing? (And I'll second the "glad it's not DRM" thing -- Palladium can bite my shiny metal ass!)

    Anyway, congrats on whatever it is!
  • The Quality Gates, is that taking the code to the company founder and getting an approval signed? :-)

    I have to say that I wonder what kind of feature it may be. Larry, you told us it wasn't QoS on the network, but what about some improved QoS/real-time behavior locally related to media in general? On my non-hyperthreading, non-SMP laptop, a DVD may stop/show slight glitches if I work too much in another application, even if it's not I/O intensive. Increasing the player priority doesn't solve it and I think that I am partly spoiled by an old SMP system where you can hit it so hard with a complex build or whatever and still watch perfect video.

    I guess that would involve ths scheduler, though. Can you tell us if this is mainly user-land or kernel space or if that distinction is not relevant/equal parts of both? Is it "just" media code or are other components involved? Will you finally tell us what it was at a later point in time?
  • I almost forgot about that per-app mixing stuff. Seems like a feature that's been a long time coming. Hopefully not too much longer =)
Page 1 of 4 (55 items) 1234