In Microsoft, there is one man with overall responsibility for getting Windows versions out the door. Iain McDonald is the project director for the Windows XP development team, and one of the 35 or so Australians working in the development team at Redmond, Washington. Overseeing the construction of the new OS, McDonald was in charge of most of the design decisions that went into the final product. His goal: "To bring the stability of Windows 2000 to everybody."
In spite of the fact that the project involved some 5000 programmers and took a year and a half, McDonald says the operation didn't require nearly the same amount of effort as Windows 2000.
He concedes that the changes between it and Windows 2000 are not nearly as significant as the changes between NT and 2000. "I would describe Windows XP as a dot release over Windows 2000. The features that people get compare to Windows 9x are huge, though. Our target is not the people who have gone to 2000; it's the people that are running Windows 9x."
Perhaps there's no clearer example of the difference between developing Windows 2000 and Windows XP than the bug count on the project. The peak bug count during Windows XP development was 15,000. Contrast this with the unresolved bug count that Windows 2000 was reportedly released with - in excess of 50,000. (McDonald says, however, that the Windows 2000 bug count was misleading: the majority of those "bugs" were not even bugs at all, but simply developer notes that some part of the program might cause problems. In most cases, they didn't.)The processThe development team for the project was split into six groups, each having responsibility for some aspect of the operating system, such as the core, the shell, networking and management. The group managing the core numbered about 800.
Some of the approaches taken by Microsoft in such a large project were very interesting. One of the more innovative approaches that Microsoft took was scenario-based development. "We built up a set of scenarios and spread them across the group," says McDonald. "For instance, we wanted to create a great experience around digital media. A group was made responsible for this; they liaised with digital camera vendors and built the tools for naming files from digital cameras, for example."
McDonald says the design decisions come from various sources: in some cases they're decisions by the top brass at Microsoft; in others, inspiration from the group working on a design aspect. "You never really see innovation from one group exclusively," says McDonald. He pointed out that the system Microsoft used allowed a lot of flexibility for the developers. "There isn't a standard way of doing things. If you try to run a fascist state, you're not going to get the best way of doing things," he says.
"The hardest thing to do is to have something you can both manage and allow people enough freedom to do good work."
So how do you manage so many programmers? McDonald says it was a huge challenge: "The problems we face are much bigger than anybody else has to face."
Programmed in a mix of C, C++ and assembler (the latter especially for the kernel), Windows is one of the biggest applications used today. Managing the code on such a large project is a problem, one which Microsoft met using an in-house versioning system called ^Source Depot. McDonald says the main collaboration tool was still email, although the team did turn to other technical solutions like discussion lists on Exchange Public Folders and shared workspaces.
There were daily builds of the operating system. "I believe you've got to live in your software," says McDonald. "I upgraded [one of] my computers every day. I upgraded from Windows 98 every day to get a feel for what the customer experiences. I also bought a new machine every month."
The new interface is perhaps the most notable change from Windows 2000. Microsoft actually developed four different interfaces for the operating system and ran them through usability benchmarks and received user viewpoints on each of the interfaces.
The benchmarks ranked usability as a percentage: Microsoft checked with different levels of users, from experienced professionals to beginners, and measured how quickly they achieved common tasks with each of the interfaces. According to McDonald, ^Luna (the default user interface in Windows XP) came out well in front, while the Windows 2000 interface came in second. Both are included in the release product. "We spent more time on usability than we ever had before," McDonald says.
And what was the biggest challenge in getting Windows XP out the door? "The hardest thing to develop was the upgrade system from Windows 98. Installations, once they've been around for a while, get tattooed. It's hard to keep everything intact when you move to XP." Indeed, he says, the biggest drama in the entire development process came just two days before the final sign-off for the product, when the developers found a show-stopping bug that caused "everything to be blown away on an upgrade" if certain programs were installed on Windows 9x and several other conditions were met. He says they had some serious last-minute work to do to get that sorted.
The development team also had to test 1200 applications and 2000 printers. "We focus on a metric that rates applications by their compatibility," notes McDonald, "You had to be able to do a clean install of the application, you had to be able to do 9x and NT and 2000 upgrades."
The vast majority of applications work: McDonald claims the application compatibility is considerably better than that of Windows NT or 2000. Still, he says, you can't expect perfection: "I'd love to say that every piece of software will work, but the reality is that it won't. For instance, you can't expect undocumented calls to continue working."
In spite of rumours to the contrary, McDonald says there was no pressure from senior management at Microsoft to get the product out early.
The rumours developed as a response to concerns that the DoJ and the states participating in the ongoing antitrust case against Microsoft would widen their net to include features that were slated (and have been) included in Windows XP. Notably, the integration of .Net features (especially Passport) and the Windows Media Player were thought to have created concern amongst Microsoft's opponents.
"My job focus comes from getting the product out. I had no pressure from the court case," claims McDonald. He says the only pressure came from OEMs hoping for an injection into the flagging PC business. He was also quick to note that Microsoft did not release the product early. "We didn't ship it early at all; in fact, we slipped a little. We said in June to OEMs that we'd make it ready for the Christmas buying season."
Remedy discussions in the US antitrust case are still ongoing, although a recent European Union report exposed by the Wall Street Journal suggests that some changes may have to be made to XP before the product can ship in the nations of the EU. According to the WSJ, the report specifically singled out Media Player, although it mentions other integrated products that have been causing competition concerns.
McDonald concedes that most of the things mentioned in the report could be removed, but "it would be a large amount of work for us to go and remove any of those things. There are library links and so forth that would have to be reworked."
He defends the integration of the products, pointing out that "the end user doesn't have to use the things we install". He also notes that consumers actually want most of these features built in. "For example, there's not one person that thinks that having a firewall in Windows is a bad thing."
Security No. 1
Following a spate of worm attacks over the past months, including the Code Red and Nimda viruses, Gartner recently did the almost unthinkable: it recommended that corporate customers cease using IIS and evaluate other Web server applications (such as Apache) until such a time as Microsoft completely rewrote IIS. In order to put out some of the fires, Microsoft hit back with its Strategic Technology Protection Program, through which it claimed it would help administrators keep their servers as secure as possible.
McDonald says that this has had a major impact on the development team. "We've learnt a lot of things in the past few years and now security is our number one priority."
He also says that IIS version 6.0 would have much-improved security over previous versions (it's also notable that the product will be "locked down" by default when it is installed, and administrators have to consciously open up features). Still, McDonald places much of the blame on slack administrators for the successful worm attacks: "It is the people who don't apply the patches we release that get bitten by viruses."
And for the next act . . .
Having completed the development of Windows XP (with the exception of ongoing patches and service packs), what's next for the development team at Redmond? The development of .Net Server, to be released early next year, is the primary focus of the development team right now.
.Net Server is the successor to Windows 2000 Server, and should boast an improved Active Directory service, the first manifestation of ASP .Net (a .Net-ified version of ASP, using the same scripting calls but integrating with .Net features like the Common Language Runtime) and better sand-boxing of applications.
Microsoft is promising a server that is easier to deploy, faster, more reliable and easier to manage. McDonald says it will also be very secure. "We want to make that extremely secure out of the box." He also notes that "we're really going to lift the game with Web servers. There are some major updates that are coming with IIS [version 6.0] and .Net server."
Microsoft will release versions of the product that correspond to current Windows 2000 server products, including a Data Centre version supporting up to 32 processors.
Beyond that, Microsoft plans to release a new OS, code-named Longhorn, in two years, and another, code-named Blackcomb, in 2005. Both are expected to progressively push users towards Microsoft's vision of a .Net future. Blackcomb, in particular, is rumoured to include a controversial technology called Universal File System - an advanced version of COM+, if you like, that allows applications to access other application files, even over the Internet. For instance, you could open a remote Excel file in Outlook.
McDonald, for his part, refuses to reveal what is in store in those operating systems, simply saying, "Longhorn comes out in two years. We think we can do some great work in that timeframe."