The Road to Gold: The development of Windows XP Reviewed
As the Windows 2000 beta wore down in late 1999 (see my Windows 2000 Road to Gold for details), one glaring fact was clear: Microsoft would never again take thre...
October 6, 2010
As the Windows 2000 beta wore down in late 1999 (see my Windows 2000 Road to Gold for details), one glaring fact was clear: Microsoft would never again take three years between Windows versions. Customers expected features to be delivered more quickly than that, and markets simply change too quickly to keep a product in development for that long.
And of course, Windows XP changed all that. Finally, with Windows XP, Microsoft developed an OS that met key customer needs while adhering to a reasonable schedule. It's an amazing story, one detailed here in the Road to Gold...
Neptune: The Windows that wasn't
Before Windows XP was a reality, Microsoft originally designed a consumer Windows follow-up to Millennium called Neptune. It would feature an HTML-based user interface code-named Forms+, Universal Plug and Play (UPnP) connectivity, Bill Gate's WinTone vision, and the NT kernel used in Windows 2000 (since renamed as the Windows Engine).
A purported Neptune user interface study was revealed by John C. Dvorak in February 1999. Dvorak said that he had received a slew of screenshots--actually PowerPoint slides--from a Microsoft developer which supposedly showed off the interface for the next consumer Windows.
Not Neptune, but an interesting Activity Center design study
Microsoft finally admitted that the images did come from within the company but that they were never intended to be the final UI. Instead, it was just a study to see what a task-based Windows interface might look like. "There are hundreds of these types of plans that go around Microsoft every day," Microsoft Windows Group Product Manager Rob Bennett said that February. "Nothing has been decided for the next major consumer version of Windows based on NT. The thing is more of a disservice to customers at this point because it doesn't represent something they can realize the benefits of today."
In April 1999, Millennium was formally announced as the final product in the 9x family, and Neptune was slated for release after that, in 2001 or 2002, as the first NT-based consumer Windows offering.
One Neptune build did make it to testers, 5111. This build showed off some early work on the new logon screen ("Welcome" in Windows XP") and an activity center-based User Accounts control panel. But Neptune was never meant to be: Clashes over previously promised features and a desire to do something new with the product eventually doomed this project.
Build 5111 was the only build of Neptune to make it out to testers
What really killed Neptune, of course, is what killed so many other Microsoft projects: It had inherited all of the then-unready baggage from previous OSes--Windows 2000 and Millennium--and didn't have a clear purpose of its own, aside from collecting all of the features that didn't make it in previous releases. Microsoft had originally intended for Millennium to be at the center of its aborted "EasyPC" initiative, but that 9x-based OS wasn't up to the task. So Neptune's primary feature-set--a task-based UI with deep digital media integration--was in jeopardy.
Instead of trying to make it all work, Microsoft regrouped. And in late December 1999, they cancelled Neptune and its business oriented cousin, code-named Odyssey, and set about to make things right. I was the first person to reveal this change to the public, though Microsoft employees returning to work after Christmas break were told of the plan changes in an internal memo. The memo outlines an even more basic plan as well, where products would be developed more quickly, with fewer features, rather than in massive three-year development cycles. Not coincidentally, I recommended this very change to Microsoft when I concluded that the development of Windows 2000--which stretched from mid-1996 to late 1999--proves that long-term, monolithic software development was a thing of the past.
Change of Plans: Enter Whistler
My blurb about the Neptune cancellation occupied just a small paragraph at the top of WinInfo Short Takes on Friday, January 21, 2000. But the ramifications would be felt for months afterward.
Microsoft has cancelled the previously separate "Neptune" and "Odyssey" projects, I wrote, melding the two into a cohesive strategy for the future of Windows 2000. "Neptune," as you may know, was to be the next consumer version of Windows after Millennium, and the first to be based on Windows 2000. And "Odyssey" was the previous codename for the next version of Windows 2000 for businesses. My sources tell me that the consumer version of Neptune became a black hole when all the features that were cut from Millennium (Windows 98 Third Edition, due this summer) were simply re-tagged as Neptune features. And since Neptune and Odyssey would be based on the same code-base anyway, it made sense to combine them into a single project, in the same way that Windows 2000 Professional and Server were tested together. What's the codename for this revamped next-generation version of Windows 2000 that will come in business and consumer flavors, you ask? It's called "Whistler." You heard it here first.
Whistler Build 2211
Immediately, every major computer news outlet on the planet picked up the story. I received calls and emails from around the globe, and spoke about the move on CNET Radio. Microsoft had made sweeping product changes before, of course, but this was the first one in the always-on, wired Internet age, and the world wanted to know more. Three days later, I summed up the changed in an analysis piece called Future Windows still in flux.
"Sources close to Microsoft expressed their amazement that I had even found out about the plans to drop Neptune and Odyssey as the internal communications about replacing these projects with 'Whistler' are marked as 'Extreme Microsoft Internal,' normally reserved for the company's most sensitive information," I wrote. "Well, now that the cat's out of the bag, so to speak, it's time to take a look at where Windows will be headed now that Microsoft has finally shipped Windows 2000."
At around this time, Microsoft quietly uploaded a related job posting to its Web site. The company was looking for a software engineer that [could] design and develop a new "basic [user interface] framework for [Windows 2000 that will] provide modern UI features." This new user interface [would] be the foundation for the "next-generation Window Manager [a.k.a. USER], which will allow easily extensible UI look, feel and behavior." Additionally, this new UI manager [would] allow for different user interfaces to be plugged into Windows 2000, interfaces that are designed separately from the OS. That next-generation user interface was later incorporated into Whistler under the code-name "Luna."
In February 2000, ZDNET incorrectly reported that Whistler would ship in March 2001. But ZDNET did reveal that a future major release of Windows, code-named "Blackcomb," would follow Whistler a few years later (Blackcomb was later pushed back for another post-XP interim release code-named "Longhorn"). I reported that Blackcomb was designed to be quicker than Windows 2000, as NT 3.5 was when compared to version 3.1. It would feature a new relational database-based file system dubbed Storage+ and natural language processing. And the basic engine, or kernel, would be much changed in Blackcomb, though the basic set of functions it performs would not. Improvements to Active Directory were in the works for Blackcomb as well.
In early April 2000, Microsoft announced a bizarre corporate reorganization that saw vice presidents Paul Maritz and Jim Allchin co-leading a group charged at developing Microsoft's Next Generation Windows Services (NGWS, soon to be renamed .NET, "Dot Net"). The reorg was destined to fail, and soon did, but not before Allchin and Maritz butted heads over strategy. Maritz left the company less than a year later, with Allchin taking sole control of Windows.
In late April, Microsoft gave its first public preview of Whistler at its WinHEC (Windows Hardware Engineering Conference). The company said that Whistler would feature a componentized architecture that would allow systems makers to strip away various layers of the operating system so that it would work well on even the smallest handheld devices. That week, I previewed Whistler for the first time on the SuperSite for Windows. Whistler build 2223.1
Whistler build 2223.1
Microsoft chairman Bill Gates revealed a few interesting features in Whistler at the WinHEC show. "In Whistler we've added support for CD-R and CD-RW into the operating system so you can drag files over to a CDR, just like you would any floppy, and burn them for your friends," he said. "We added the capability of logging off without quitting all your applications. So when you log off your applications can still be in the background running exactly where you left them, and someone else can log on. This allows people to simultaneously use the same computer."
Gates also talked up the digital media features in Windows XP, noting that the Scanner and Camera Wizard from Windows Me was being updated significantly in this new release. A new version of Windows Media Player was shown off, as was a speech interface.
Windows general manager Carl Stork discussed the Windows roadmap at WinHEC. "The road map for the following year is that we're actively at work on a product release, which is code-named Whistler, or Windows Whistler," Stork said. "And the development work that we're doing on Windows Whistler is going to yield at least two client operating system products, one which is optimized for business users, businesses of all sizes, and you can think of this as logically the successor to Windows 2000 Professional, and a second release that's optimized for the needs of consumers and entry level users. Both of these products will be built from the same code base, they'll use the same device drivers; they'll have the same kinds of application compatibility. This, we think, is an enormous step forward for the industry, as it lets us all focus our development investments, our testing investments, our investments in quality and features in one environment to address both those market segments."
"As a blanket statement," he continued, "you could say that Windows Whistler by and large will represent a superset of what's in the Windows Millennium Edition, and in that sense is a logical progression for users." He also previewed the notion that the Whistler UI would change dramatically. "We do recognize both that a new look appeals to users, and we can make the system warmer and more friendly. This represents design concepts that we're working on right now, as to what the user interface of the Whistler product may look like."
Shortly after WinHEC, I revealed Microsoft's plans to end "DLL Hell" in Whistler using a technology called Fusion and the company's work with task-based Activity Centers.
On May 24, 2000, Microsoft sent out the first Whistler beta invites, as I exclusively revealed in WinInfo. "We have a very high bar of participation for this program," the invitation read. "Our primary audience is targeted at key FirstWave ISV and IHV developers for improved application and hardware compatibility-many of which ship in the box, OEM partners, JDP accounts, committed IT Pros and other corporate deployment test beds. Given the importance of the consumer market to the Whistler release, this program also introduces "Whistler Personal" intended for focused, key consumer testers. We expect everyone in the Technical Beta to really focus their development and/or testing efforts in a partnership with us to meet program objectives in a very aggressive timeframe. This is not an evaluation-based program." Microsoft noted that there were four beta kits, Whistler Personal (home/consumer focused testing), Whistler32 Tech Beta (Personal, Professional, Server and Advanced Server), Whistler32 Developer Tech Beta (developers and ISVs only), and Whistler64 for 64-bit Itanium users.
In June, Microsoft was caught up in excitement over its .NET initiative, which was the new name of NGWS. The company held a late June meeting with industry analysts to unveil the technology, and noted that future versions of Windows would be called Windows .NET. Eventually, the company said, .NET, and not Windows, would be its primary platform. In the meantime, however, the Whistler beta began with a promise to ship the first milestone release--Beta 1--later that year. An anonymous tip from Microsoft revealed that Whistler would feature "an 'awesome' XML/XSL-based skinning capabilities that far surpass any customizing features in then-current Windows versions."
At the Professional Developers Conference (PDC) in Florida in mid-July, Microsoft revealed for the first time that Whistler would ship in the second half of 2001 (a six month delay from the previously announced April 2001 release date). The company also released its first build to testers, build 2250, on July 13. Whistler build 2250 closely resembled Windows 2000 and Windows Me and didn't appear to offer many new features, but it did offer the first glimpse at the new UI technology, which went through a lot of names before its final release. In build 2250, it was called "Visual Styles," and this build featured what would have been the "Professional" (later "Watercolor") theme, which was dropped in January 2001. It also featured a task-based Control Panel. I previewed Whistler build 2250 on the SuperSite for Windows.
Whistler build 2250 introduced Visual Styles
One of the more intriguing things about Whistler build 2250, however, was hidden from most users. Microsoft was quietly working on a new Start Panel that would replace the Start Menu that had been in place since Windows 95 was released in 1995. In build 2250, this feature was hidden, but I revealed its existence to the world on July 20, 2001. "In the Whistler Preview, the hidden Start Panel is approximately twice as wide as the Start menu and features two columns of options with 'Log Off' and 'Turn off computer' choices at the top," I wrote. "The first column features large icons for Internet Explorer and the configured email application, followed by a list of the most recently accessed applications. A More Programs option opens a standard Start menu. In the second column, called My Places, Microsoft has created links for common system locations and utilities. The first section includes My Documents, My Pictures, and My Music, while the second one contains My Computer, My Network Places, and Network and Dial-up Connections. At the bottom of the second column are Control Panel, Help + Support, Search, and Run. The Active Desktop Start Page includes similar options, with prominent buttons for the Internet, Email, and Search. A toolbar along the bottom provides options for logging off, turning off the computer, and frequently-accessed locations on the system."
In late July, Microsoft revealed that it had pushed back the first beta release of Whistler from September to October, but that this would not effect the final release. "We are really now driving to a single code base across our entire Windows product line," said Microsoft senior vice president Brian Valentine, who became responsible for the development of Windows 2000 in late 1998. Valentine noted that unifying the two previously-separate Windows projects will save Microsoft money and development time. "It cost us a lot to have those two code bases in the company," he said. "By driving to a single core technology, it just makes the whole industry more efficient." Valentine's comments came at a yearly financial analysts meeting.
After a month of inactivity, the Whistler beta heated up again in August with the release of build 2257. This build included the new Start Panel in the UI, and it was the first to feature the results of Microsoft's "clean desktop" initiative. Also, the Professional Visual Style was tweaked with new colors; it look quite spiffy.
Build 2257 was the first to include Microsoft's personal firewall. "The personal firewall (or stateful packet filter) is designed to offer very basic protection to home users with no configuration," Kyle Krum of the Home Networking Team told testers. "By default we are in a 'Deny All' state once we figure out what your Internet connection is (via the Home Networking Wizard, for the most part). We are continually working on adding more configuration functionality to the feature, but we are just adding simple things like a check box and screen to allow different ICMP packets to flow through. As for punching holes in the firewall, you will not have the option to allow/deny subnets or IP ranges, but can instead just say, "open port 80 to everybody". The firewall is not designed to compete at all in the normal firewall market, but instead offer basic protection to customers who are just putting their PC's on the edge of the network."
In 2257, the IE version number was listed as 5.6. This was later changed to 6.0.
Whistler build 2257
In September, Microsoft CEO Steve Ballmer reiterated that .NET, and not Windows, was the future. But he noted that the full ".NET User Experience" was still 2-3 years away. ".NET is the future for Microsoft," he said. "Windows doesn't go away, the PC doesn't go away. But we needed a platform to reflect the reality of the Internet. [.NET] is a big change for us, and it is a lot of work, a lot of effort." Ballmer, who addressed a crowd at the European IT Forum 2000 in Monaco via a satellite link from Redmond, said that Microsoft was working as quickly as it could to deliver a version of Windows that fully supports its new .NET technologies, but that this would have to be phased in over the next two versions.
In late September, I revealed that Whistler Beta 1 would slip two weeks from October 11 or October 25. And then the company released another interim build on October 3rd. Whistler build 2267 offered small improvements to the previous alpha build, but no major new features. But 2267 finally allowed the user to modify the look and feel of the system with a fully fleshed-out Display Properties dialog, making it as functional as Windows 2000 in this regard. Whistler 2267 also introduced a Compatibility Center, which would eventually allow users to research whether particular hardware devices are compatible with this OS. Compatibility Center was designed to be used to search for compatible products before purchasing or troubleshoot compatibility issues with existing products. Like Help and Support itself, Microsoft intended to open Compatibility Center to hardware makers so that users can gain access to support information from these companies in a single place; the feature was later melded into Help and Support.
Whistler build 2267
Less than two weeks later, Microsoft issued the final pre-Beta 1 release, build 2287. This build featured a redesigned Setup routine (the previous one was based on the version in Windows Me), a redesigned Help & Support (again, the previous version was lifted from Windows Me), and some UI tweaks. It was also the first build to use Dynamic Updates, a new Setup feature.
Whistler build 2287
The week of October 27, 2000 brought with it incredible news: Microsoft's internal network had been hacked and, according to early reports, the hackers had made away with the source code to future versions of Windows and Office. Microsoft contacted the FBI and though the culprit was never caught, the company now claims that its source code was never in jeopardy. Amazingly, the furor over this event died down quickly, and Microsoft has yet to detail the attack. But one thing remains: A t-shirt with the slogan, I hacked Microsoft's network and all I got was this lousy source code.
Continued in Part Two...
About the Author
You May Also Like