Updated for the RTM release of Windows XP

To answer critics of Windows 2000, Microsoft has made improvements to the foundations of the operating system, in areas such as application experience and device compatibility, finally delivering the NT kernel in an OS with the compatibility of Windows 9x. But Microsoft hasn't compromised the stability of Windows XP by introducing legacy 9x code. Instead, a new set of technologies will ensure that software and hardware just works. The results, frankly, are amazing.

Application Experience
"With Windows XP, application compatibility is not an afterthought, as it was in Windows 2000," says Jude Kavalam, a program manager in the Application Compatibility Experience group at Microsoft. "The number one ship criteria is compatibility. We've been testing applications since day one and have tested several thousand apps so far." For Windows XP, Microsoft's application compatibility goals are straightforward: Applications will just work.

To ensure that this happens, the Application Compatibility Experience group was formed shortly after the Whistler project began in late December 1999. It consists of over 200 testers, developers and program managers who test applications in a variety of scenarios (clean installs, migrations, upgrades) using various hardware configurations. And the group is dedicated to understanding and enhancing the end user application experience. <% ' Added so can inventory as Connected Home articles. kw = "CH" %>

Under Windows 2000, this concept was almost non-existent. Many consumer-oriented applications, especially games, refuse to run on Windows 2000. And customers had few options for dealing with problems. "The focus on consumers is the big change in Windows XP," Kavalam said. "Windows 2000 was about corporate applications." Under Windows XP, DirectX games as well as 16-bit DOS applications and games are now targeted. And here's an amazing bit of news: Microsoft has gotten Sound Blaster-compatible sound working in DOS boxes under Windows XP. You can play games like DOOM and Castle Wolfenstein in Windows XP, either full screen or in a window. Kavalam: "We've built in technology that gives compatibility to consumers; and application fixes can be shipped dynamically to customers automatically, via AutoUpdate and Windows Update, after the OS is installed."

Microsoft says that three kinds of applications were causing problems under Windows 2000 and other previous versions of Windows:

  • Applications that are platform specific (that is, designed for Windows 95 only or whatever) or driver specific.
  • Applications that worked on Windows 2000, but not in Windows XP: Something in the new OS broke the app. When something like this was found during the beta, it was fixed in the OS before RTM.
  • Windows 9x applications that were never designed or tested on Windows NT/2000, such as games. DirectX games were at a 40 percent pass rate in Windows 2000. That figure will be as near to 100 percent as possible in Windows XP. Previous to the Beta 2 release, it was at 81 percent.
To handle these problems, Microsoft has employed a number of issue-specific techniques, along with 151 generic application fixes. For example, you can fake out the offending application and make it believe that it's running under Windows 95, or Windows 98. For platform-specific application problems, an "AppsHelp" message is displayed to the user, explaining the problem and, if possible, providing a link to a downloadable patch. And known dangerous applications will simply be blocked from running. AppsHelp is a new technology in Windows XP that is triggered when problematic applications attempt to run. It works alongside the new AppCompat Database, which is updateable through Windows Update and Dynamic Setup.

A new Compatibility Fixes technology allows Microsoft to dynamically "fix" applications. These fixes are application specific and address programmatic differences between various versions of Windows, differences that often cause applications to fail. These fixes are designed to be lightweight and have minimal side effects on other parts of the system. To fool an application into thinking that it's running on a different version of Windows, say Windows 95, 98, NT 4.0, or 2000, Windows XP includes integrated Compatibility Layers technology. This is a collection of compatibility fixes that mimics older Windows versions. The fixes can be applied to an application shortcut so that it always works properly when executed. "And we're going to provide an Application Compatibility toolkit for corporations, so they can get their internal apps working," Kavalam noted.

Finally, as mentioned previously, support for DOS and 16-bit Windows On Windows (WOW) applications has been improved in ways that are unprecedented for an NT-based OS. In addition to SoundBlaster audio capabilities, DOS applications and games can now take advantage of enhanced VESA video mode support under Windows XP. Folks, this isn't your father's NT.

In the end, Windows XP delivers amazing application compatibility, a feature that was sorely lacking in Windows 2000. This will play a huge roll in getting consumers to upgrade to this version of Windows, something that never really happened with XP's predecessor.

Device Compatibility
Like application compatibility, Microsoft's stance on device compatibility is as simple as it is impressive: "Buy it, plug it in, and it just works," said Microsoft program manager Eugene Lin succinctly. Today, device compatibility is a major stumbling block for users. Devices don't install correctly, or cause conflicts with other devices. Upgrades cause a loss in functionality. Drivers are hard to find or delivered late.

"Some hardware fell apart when machines got faster," Lin noted. "People should buy something new because they want it, not because something else stopped working." In Windows XP, Plug and Play scenarios that require no user interaction are being improved and expanded. But device compatibility is an ever-moving target. Even with Windows 2000, the situation improved dramatically after the OS was released. "With Windows 2000, there were less than 100 drivers on Windows Update when it shipped," Lin said. "There are over 5500 today." To take advantage of this situation, Windows XP will search Windows Update automatically if you're online, if it can't find a driver it needs on the CD.

To further improve device compatibility in Windows XP, Microsoft is working to support more devices out of the box and ensure that hardware makers have to support Windows XP to get the Windows compatibility logo. Unlike previous versions of Windows, however, this requirement will be in effect well before the OS ships; in fact, it went live effective February 2001. The goal is for 90 percent of systems sold since January 2000 to have a positive upgrade experience. This might not sound like such a great figure until you realize that Microsoft defines a positive upgrade experience as everything working without any issues at all.

"90 percents means that some people don't have 100 percent success," explained Chris Jones, the Microsoft vice president who heads the Windows Client Group. "It doesn't mean that the machines don't boot. It means that a device may not have a driver, or one application doesn't run. One in ten users will have a speed bump. We don't want this, but we'll work to make sure it's as painless as possible. If one device doesn't work, we count that as a failure. That person is part of the ten percent. We think that, over time, it will get higher than 90 percent. We're also looking at doing a 'preflight checking utility' so that customers can do a check on the machine to see whether there will be a problem."

Microsoft Group Vice President Jim Allchin expanded on this. "We're hoping to have that preflight CD in stores 30 days before Windows XP is out so that we can see how things will work out for people," he said. "We asked retailers if they wanted a money back guarantee on Windows. They said that they would rather have us fund support to help people, additional 'skin in the game.' And they can sell complimentary peripherals that run on Windows XP."

The vast majority of Windows 2000 device drivers will work on Windows XP, which isn't surprising, considering their common ancestry. But Microsoft will institute "defective driver blocking" to prevent problem drivers from ruining a user's system. When a driver can't be found, Help and Support will launch a window that lets the user offer feedback to Microsoft. And when a driver for that device does arrive, AutoUpdate will pop up and offer it to the user. New crash analysis will cause the system to boot into Safe Mode is a driver fails to work. And Safe Mode now supports VESA video modes, meaning that you can kiss that ugly 640x480x16 screen goodbye for good.

Finally, Microsoft is creating a unified Device Driver Kit (DDK) for all versions of Windows, including 98, Me, 2000, Datacenter, and XP. The new DDK will include more and better sample drivers, better documentation, a driver verifier, and source code analysis features.

"We're very committed to raising the water surface--the quality--everywhere," Allchin said. "We're setting the bar higher, but lowering expectations. Most people will be pleasantly surprised."

Conclusions
Migrating users from the DOS-based Windows 9x product line to the NT-based Windows XP isn't a minor challenge. But by logically attacking core areas of Windows Engine (nee NT kernel), it appears that Microsoft is poised to pull it off. We've been told for years that the future was all NT, and with Windows XP that future is finally here. If you've been putting up with the blue screens, diminishing resources, and other limitations of Windows 9x all these years, be prepared for a welcome change.