Monday, June 9, 2008

Longhorn Labs

People ask the question of me sometimes as to what the different Virtual Build Labs, or VBLs, meant, for example the 'famous' Lab06. I'll lay them out here, and have added a sidebar entry on the right so they'll always be there to reference.

Lab01: Base (Kernel)
Lab02: Networking
Lab03: Server
Lab04: Management
[Lab05:] Main
Lab06: Desktop
Lab07: IIS/COM+

Periodically, all the VBLs reverse-integrated their code into Main which was then bug-tested before forward-integrating its code back into Labs 01-04 and 06-07, and so the cycle continued.

So, next time you see a Lab06 build, don't be mistaken - it's not just a lab full of goodies and surprises as many think! It's the shell lab, that managed the user interface and was responsible for all the UI code in Longhorn. Naturally, as Longhorn's UI was intended to be revolutionary, this is the lab where we see the many prototypes attributed to Longhorn, like the Panorama and Carousel views, Aero Glass, and other interesting things. Of course, new UI code would have gone into a Lab06 build first, and if it didn't make the cut for a reverse-integration into main, then the code would die, or be shelved until it's of better quality.

 This 7-Lab model has been abandoned since the Omega-13 builds, allowing tighter integration of the core labs and quicker turnaround time on builds.