Friday, June 13, 2008

June Recap, Stats, Feedback! =)

Here we are, just a few days past the blog's first month on the web. So where are we?

We've had ~3200 page views so far, with the two biggest traffic sources being aeroxperience and TheVista.ru, with TheVista translating the posts from this blog for their readers. A great welcome to all our Russian visitors, and glad you are enjoying the site!

I've explained a little about the Longhorn VBLs (Virtual Build Labs), and had some rare, interesting information contributed. I also had a little mini-guide to extracting the WinPE version of a build from the disc.

Also, we've been through a few builds so far:

6.0.4002.Lab06_N(ntvbl06).030108-1926
6.0.4040.Lab04_N.030828-1910
6.0.4042.main.030905-1800
6.0.4042.Lab06_N.030909-1709
6.0.4066.0.main.040226-1010
6.0.4084.0.main.040527-0915
5.2.3790.1232.winmain.040819-1629
6.0.5001.0.winmain.040927-1610
6.0.5098.0.winmain_beta1.050628-1740

Thusfar, I think this blog has been successful, being able to bring a little bit of interesting information on Longhorn out to our readers. But what I'd really like is for some feedback! Do you have any comments/suggestions or even things you'd like to see more of on the blog? Please leave a comment on this post to share your thoughts, and spread the word!

Tuesday, June 10, 2008

6.0.4042.main.030905-1800

We've had a look at 4042.Lab06_N.030909-1709 already, so I thought I'd show the difference between it and its counterpart, 4042.main.030905-1800.

Looking at the two builds side-by-side, you could be forgiven for thinking they're completely different OSes. The MAIN build is quite clearly still using Milestone 6 code; the boot screen, welcome screen, wallpaper and shell are almost identical to 4040. The LAB06 build however, 4 days younger, is completely different visually, and is much more stable and usable.

Evidently this is around the time of the changeover to the newer Milestone code. Such is a massive engineering effort as all the labs are synced literally overnight as the new code is brought in. Anything that hadn't been reverse-integrated into main for the milestone is dropped. This explains why the LAB06 build is missing the experimental 3D features found in the MAIN build and other M6 builds; everything not stamped with approval for inclusion in the Milestone 7 code is shelved. That's not to say it mightn't be added back later - PDC03 showed us 405x builds with the "3D" view option put back in, and the 3D views are up and running again in 4066.

Without further ado, here are some shots of 4042.main. It's almost indistinguishable from 4040, so I left Aero Glass on its default opaque mode so the shots at least look a little different =)



LAB06 and LAB06_N

The following information was contributed by an anonymous source who visited the blog, and to whom I am very grateful. It gives a rare taste of the politics and process going on behind Longhorn towards the end of the project.

"Some acknowledge that LAB06 (shell, graphics and every other Windows client technology) was too big, considering the amount of Client change going on - given the quality guidelines in place at the time. By 'too big' I mean too many developers putting changes through that one LAB (every LAB did have a full copy of the Windows source - it's more a question about where a team would locate for purposes of early integration with similar changes, or conversely for isolation from others). Being unleashed in pursuit of numerous exciting 'big bets' all at the same time, the team created new features faster than they could be tested (rather, faster than they could be integration-tested together).

Once something made it into a top-level LAB, it was relatively committed for inclusion. Backing something out of a top-level lab (especially once the subbranches have FI'd [Forward-Integrated, ed.] it, and particularly once other stuff comes in on top of it) was quite painful. Having so many eggs in the LAB06 basket was a dangerous situation.

LAB06_N was the integration branch between MAIN and LAB06, the critical link where all the changes from MAIN met all the changes from LAB06. There was a stretch during which LAB06_N had a very tough time getting stable and performant[sic] - that was when talk started in earnest about a Reset being necessary. As the Server 2003 SP1 project was progressing very well (and included the maiden voyage of [Windows] x64 Client!), it emerged as a starting point - a stable and performant modern client."

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.

Saturday, June 7, 2008

Omega-13

I decided to do a little research into the "Omega-13" moniker for the Reset builds (the Reset was when Longhorn development was restarted and based upon Windows Server 2003 SP1, culminating in Windows Vista). From what I can find, it looks like it's from "Galaxy Quest". 

Information below taken from "http://www.mind42.com/wiki/Reset_button_technique".

"The film Galaxy Quest employs an "Omega-13 device", which is initially under status: everyone agrees on its importance, but no information is present on its function. A fan of the Galaxy Quest series reveals to the captain that they believe the device is used for time travel. The captain activates Omega-13, prompted by that exchange, in a dire situation as a last ditch effort to stop a murderer who snuck onto the ship. The Omega-13 is revealed as a reset button which sends time backwards by exactly 13 seconds."

(Emphasis mine) So there you have it, Omega-13, the Reset Button. Rather simple and geeky reference =)

6.0.4042.Lab06_N.030909-1709

4042 is one of the first Milestone 7 builds, and it's instantly obvious. Sporting a new boot screen (see 4051) and welcome/secure desktop screen (see below), as you boot it up you can tell something has changed. A new wallpaper greets you, and shortly thereafter what was a brand new theme at the time - Slate.


All the M7 code has been checked in, and there's a dramatic increase in stability and speed. The shell is completely upgraded, bringing a much cleaner UI and better access to new features.


The amount of experimentation with features is kept low, only the most important Sidebar tiles remain in this build, and the "3D View" option in Explorer seems to be missing, thus making the Panorama and Carousel view styles inaccessible.


A new feature rears its head, stashed away in the WinSxS folder, StickyNotes. Unlike in the WinHEC 2004 build (4074), Stickies work off the bat by dragging an empty text file onto the StickyNote icon.


To top it all off, Glass has made the crossing to M7 unharmed, and is a lot more usable than in 4040. I give you, the first shots of the M6 Aero Glass borders applied to the new Slate theme!








Friday, June 6, 2008

6.0.4040.Lab04_N.030828-1910

August 2003, two months before Microsoft is to unveil Longhorn to developers at PDC. Milestone Six is coming to an end, with only a build or two left before code for the new milestone was checked in.

4040 was one of the last builds of milestone six, as evidenced by the Pig Latin strings used for localization testing. It retains most of what has come before, as seen in 4039. Aero Glass (frame only) is in but barely working, having problems such as not redrawing the window contents unless resizing the window. The concept of Aero Glass was near enough to being finished, and with Milestone 7 it was to be pulled out of the main code and contained solely within the Aero.msstyles theme file. 4040 contains both variants of Aero Glass - transparent and opaque, just as the Lab06 build, 4039.

4040 contains the infamous "3D View" option in the shell view menu, allowing you to enable a MIL-rendered file view. Interestingly enough, the 3D spinning icons from 4029 are back in the shell, having been seen nowhere else since the earlier build. Phodeo and Carousel are both present and working.

Plex is here too, likely its last time in a build, and it's not the updated version we saw in 4039 at all. It's the older one seen in 4033, without the smart-looking shell buttons.

There's an interesting "Communication History (Prototype)" shell folder which isn't yet implemented, but sounds promising. =)

Enough with the chat, have some eye candy: