Wednesday, July 2, 2008

6.0.4030.0.Lab06_n.030630-1724

One of the first M6 builds, this compile of 4030 shows the striking red wallpaper introduced for this milestone.

Very little has changed since the publicly leaked 4029 MAIN build, however it is currently the earliest build I've seen to feature the "3D View" menu option, even though it's quite unusable and doesn't draw icons. The old stalwarts Carousel and Panorama can be enabled, similar to later builds.

I haven't shown much in the way of M6 builds so far, mainly because they mostly look the exact same, but hopefully I'll eventually document 4030.main, 4031.main, 4031.Lab06, 4032.Lab06 and some of the SKUs of 4038.main for the collectors. All throughout M6 the Aero Glass style was hidden and hackable into submission, but it wasn't until 4039 that it became easily enable-able, and that continued early on into M7 as can be seen in 4040 and 4042.


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:






Tuesday, May 13, 2008

HowTo: Longhorn WinPE (Windows Preinstallation Environment)

I've seen a lot of new sources pop up recently, so hi there to all the new people reading the blog =)


I'll take a break from the usual and talk about WinPE, the graphical boot environment featured on Longhorn builds starting with M4. In its simplest form, a WinPE is a version of a build of Windows that boots to command-prompt directly from CD, supports networking and other GUI tools. In Longhorn, WinPE launches the setup application which allows you to install the build, but you can easily access the command-line should you want to (Shift-F10 during setup).


With a little creative thinking, one can extract the WinPE of a Longhorn build without much trouble and make a standalone boot CD.


Firstly you'll need a version of ximage compatible with your build unless you're working with M6 or below. For Longhorn M7 builds you will need ximage 4059.0, available with a little searching on the web.


For this example I'll use Longhorn 4029, an M5 build. 


Create a folder structure on your hard disk, 


C:\4029PE


Copy the "boot" folder from the 4029 CD into this folder. It should be about 150-200Mb in size.

Copy "win51", "win51ip" and "wimbom.ini" from the CD to C:\4029PE

Copy "setupldr.bin" from the C:\4029pe\boot folder and rename it to C:\4029pe\ntldr


You will then need to create a bootable CD of the C:\4029pe folder in the software of your choice. I use Microsoft's cdimage utility from ReflectiaX's longhorn boot fix pack, one can use mkisofs on Linux or Mac, or something like Nero. Specific instructions for this are beyond the scope of the article, but use the following file as your boot image (about 4Kb).


http://rapidshare.de/files/39399696/boot.bin.html


Once you're finished you should have a bootable CD or ISO about 150-200Mb in size. Try it in a virtual machine, it should boot to a command prompt. Simple really =)


With an M7 build, the WinPE part is contained within the "install.wim" file as the first entry. You must extract it using ximage, and then ISO it and make it bootable as described above. Sometimes there are catches, and some builds may require manual tweaking to get right (4085's NTDETECT.COM, an essential file, doesn't work quite right when made into a WinPE like this so it would need to be replaced with a working one, from 4084 for example).


There you have it, a quick'n'dirty guide to creating a bootable WinPE disc.



Thursday, May 8, 2008

6.0.4084.0.main.040527-0915

Around the time of WinHEC 2004 Microsoft realised that in its current form Longhorn was doomed. It was far too complex to reach the next milestone, componentisation (turning it into a fully modular OS). Towards the end of the Milestone 7 period it was decided to strip everything out to try and reach that goal piece by piece. The 408x and 409x builds are a result of that - pretty much everything was stripped out of the OS to get the system down to its bare minimum working configuration, with features being re-added as the OS was componentised.

4084 is one such build - everything, even as far as the wallpaper was stripped out. This was Microsoft's last ditch attempt before they accepted that the only way forward was to start from scratch and componentise before adding anything else to the OS. In the end, that is what Microsoft committed to doing and as a result Vista development was much more managed and doable. Beginning with the Reset, it took Microsoft a little over two years to create Vista.

Sunday, May 4, 2008

6.0.4002.Lab06_N(ntvbl06).030108-1926

Longhorn had just hit the milestone 4 stretch, DCE had been mostly implemented, the Sidebar was fully functional and it was time to work on the image-based installs; one of the plans for Longhorn was a 15 minute setup (which was pretty much attained looking at the early 4000 builds). 4002 is exceptional in that it is a professional compile in the 4000 range that still uses an XP (i386) setup routine, eschewing the WIM installation format. 

Unlike later M4 builds, however, 4001 and 4002 both retain the desktop composition engine and effects present in the well-known 3718 build, all easily turned on in the Display control panel. They both include semi-transparent windows, minimize and close animations and full 60fps GPU window compositing - eye candy that would not be seen again publicly until the M6 era.


Friday, May 2, 2008

6.0.5098.0.winmain_beta1.050628-1740

This is probably the most recent build that I'll document, being one of the last few compiles before Beta 1 (build 5112) was signed off. By this stage, everything was back on track and Microsoft had a great OS that was ready to be tested by the public for the first time. No longer a flawed and unattainable vision, Longhorn had been reborn with new focus - and with the push for Beta 1 Microsoft was able to show off the Aero Glass theme along with the introduction of LDDM video drivers.

5098 is about ten months into the development process, and as you can see it's a huge step from 5001. In just such a short time the Longhorn team had managed to a better state from scratch than two years of development prior to that could. The major concepts were in - a DirectX 9-powered window manager, a new, easier to use version of the system shell, pervasive search throughout the OS including the Start Menu, and a new Games centre to manage the most lucrative of Windows application bases.




5.2.3790.1232.winmain.040819-1629

Let's take a step back in time from the last post; where it was one of the earliest compiles of Vista, this build below is the very first compile of Vista after the reset. In fact, it is so similar to Server 2003 (because it literally IS the same code) that even the theming service is disabled by default.

There is only one way to tell that this build is a Longhorn build, and that is the EULA as pictured below. Other differences are zero-day activation : you must activate the build before you can log on. This is the earliest possible look at Vista and shows how far they had to go to get back on track once they reset the project.



Thursday, May 1, 2008

6.0.5001.0.winmain.040927-1610

Well folks, here's a very early look at Windows Vista. This is about a month after the "reset" when they were merely componentizing the Server 2003 code before trying to re-add any of the features built during the "Longhorn" period.

As such, this build is no different from XP, or at least a client compile of Server 2003. The only changes thusfar are the Longhorn wallpaper, and the Longhorn End User License Agreement present in the build. But make no mistakes, this is not XP, it's Vista - and you can clearly see that they started virtually from scratch after the reset.





6.0.4066.0.main.040226-1010

As my first look at a previously unseen Longhorn build, I chose to document build 4066, a build showcasing many features that were being checked-in for the WinHEC 2004 release, 4074, but were either too buggy or too incomplete to keep. This particular compile was of Standard Server, which speaks more of what was removed from the build as opposed to what was added in. 

4066 includes DWM, and it's possible to turn on without any nasty hacks. Merely hit control-shift-F9 as per the Vista beta builds and the jade/glass theme is enabled if you have compatible hardware. The glass is still the same muddy green as you see in 4074; the actual Aero Glass theme was on restricted access at the time so to test the layout and performance only this version was available to most employees.


We've all heard the buzzwords like Aurora and Phodeo, but this is the first time you're likely to see both actually implemented in a build. On choosing the "3D view" option you are presented with a new filesystem view - a DirectX-drawn view with an animated aurora effect behind the icons.


If you choose "Panorama" as the view, you're kicked into a buggy version of Phodeo; a 3D animated grouping of files allowing you to quickly browse through the different groups to find what you want. This is not the first time it's been seen - 4039 also included Phodeo but without the Aurora background.


This build also includes other niceties, like a special mini version of Windows Media Player and some WMP sidebar tiles. In the run-up to 4074 all the labs were checking in their code to winmain as evidenced by 4066, but some features had to be cut out completely. 4074 completely lacks the 3D file view and with that, the feature was shelved indefinitely.

Will we ever see Phodeo and Aurora return in Explorer? I don't know, but it would be nice if they could pull it off =)