Win2K's follow-up holds promise for users

Whistler is Microsoft's code name for the new 32-bit OS that will replace Windows 2000 Professional and Windows Millennium Edition (Windows Me). Microsoft hasn't finalized many details about Whistler—which is based on the Win2K and Windows NT kernel—including the release date (probably next year). However, the company is beginning to discuss and demonstrate some of Whistler's features, which include changes to the user interface (UI), a personal (i.e., single-user) version of Win2K Server Terminal Services technology, and a drastic revision of the way earlier 32-bit Windows versions handle DLLs. (For information about the .NET Framework that Whistler will incorporate, see Paul Thurrott, News Analysis, "Visual Studio 7.0, Office 10 Betas Point to .NET," page 32.)

I based this column on a variety of Microsoft presentations, including brief demonstrations of pre-beta Whistler versions. I haven't had an opportunity to try Whistler, so I don't know how well the new features will work. But Win2K Pro users need to stay abreast of Whistler's development because, among other reasons, Whistler might finally deliver on Microsoft's promise to put all users on the NT kernel.

Whistler's UI will be familiar enough that you'll recognize Whistler as a follow-up to Win2K Pro. But as you drill down, you'll find some significant changes, starting with your first logon. A common problem for Win2K Pro users is case-sensitive passwords. If you've left the keyboard's Caps Lock on, you might have trouble logging on to Win2K Pro. Whistler will fix this problem by detecting that Caps Lock is on and putting a warning message in the logon prompt.

Whistler's pre-beta version simplifies Control Panel by breaking the panel into about six categories. You drill down from the categories to reach specific items. All Control Panel elements that you find in Win2K Pro will remain available in Whistler, but the elements' top-level presentation won't overwhelm users who upgrade from Windows Me.

Whistler will use Themes to expand on the minor changes you can make in the current Win2K UI elements (e.g., background pattern, window colors, mouse pointer style, buttons, sounds that occur with certain system events). The Themes feature will let you centralize your UI's elements; for example, you'll pick a particular theme, and Whistler will give you a background and colors, pointers, and sounds that relate to the theme. Themes might integrate some accessibility features as well, such as high-contrast display options and Sound Sentry.

I've heard rumors that Whistler's UI might replace Win2K's Start menu with a view that resembles a Web page. Such a change might be what users can expect in the next version of Windows after Whistler. Microsoft plans to release the later Windows version, code-named Blackcomb, sometime in 2002.

Whistler will include some significant new features that will improve convenience for end users and administrators. Among these features is the built-in Personal Edition of Terminal Services. Terminal Services Personal Edition won't let Whistler machines function as servers and add users. Instead, this feature will help administrators conduct troubleshooting sessions. A user will tell the administrator about a problem, and without using any add-on software, the administrator can immediately begin a remote control session on the problem system. This feature will work over the Internet on systems that have a cable modem or other high-bit-rate connection, and some OEMs will likely use the feature to offer online tech support to home users.

Another feature that will use Terminal Services is Fast User Switching, which will mainly benefit users of corporate systems. Unlike Win2K Pro, Whistler won't shut down your applications when you log off, so the next time you log on, your applications will pop up instantly. On Whistler systems that have multiple users, each user will have a personalized session; when a user logs on, all the user's applications and files will appear just as they were when the user logged off (presumably, Whistler will spool out unused sessions to virtual memory).

Fusion Technology, also known as side-by-side DLLs, is one of Whistler's biggest changes. Anyone who has used Win2K, NT, or Windows 9x for any length of time runs into DLL Hell. This problem happens when you install an application that includes a new version of a DLL that is incompatible with one of your existing applications. Suddenly, applications that once worked well stop working or begin behaving unpredictably. In extreme cases (on NT and Win9x systems), the computer might not reboot properly after you install the new DLL. (For more information about DLL Hell solutions, see Darren Mar-Elia, "Taming DLL Hell," page 79.) Win2K's Windows File Protection (WFP) feature prevents extreme problems. If you're running Win2K and try to install a DLL that is older than a Win2K-system DLL, the OS automatically replaces the older DLL with a backup copy of the most recent version. However, this replacement might leave you with an application that refuses to work because the application expects a different DLL version than the system provides.

Whistler will try to eliminate DLL problems by letting each application have a copy of any DLL that it needs, including system DLLs. The application will simply copy the DLL version that it needs into the same directory as the application's .exe file. The system will check that directory first, load all the DLLs it finds, and retrieve DLLs from the protected system directories only if the DLLs aren't available in the application's private directory.

You don't need to wait for Whistler's release to try out the slick solution that Whistler will use for the DLL problem. The solution is an undocumented feature of Win2K, although its activation requires you to do a bit of hacking. For any application in which you want to run private copies of system DLLs, you need to create an empty text file named appname.local.exe (where appname is the name of your program's .exe file) in the same directory with the application's .exe file. Then, you can copy the DLLs you need into that directory. When you run the program, Win2K detects the appname.local.exe file and loads any DLLs that are in the same directory as the file.

This trick isn't all that is available to help you make recalcitrant applications run on Win2K Pro. Microsoft has developed the Windows 2000 Application Compatibility Toolkit, which you can download at http://msdn.microsoft.com/compatibility/. The 6.4MB download includes documentation and several tools, including a revised version of the application compatibility tool that ships in the Support directory of the Win2K Pro distribution CD-ROM.

This application compatibility tool lets you detect, and in many cases work around, minor problems that make applications incompatible with Win2K. For example, some applications work only if they detect a specific OS version; other applications make unjustified assumptions about the physical location of system files or folders. The compatibility tool won't fix every problem with an incompatible application, but the tool gives you a fighting shot at solving the most common problems and can help you diagnose serious problems.

Whistler is part of Microsoft's .NET strategy, which aims to make applications more Internet-centric than Windows-centric. The strategy uses XML data storage and involves changes in program writing, distribution, and use. Although the .NET strategy is in its infancy, programs using the .NET architecture probably won't store configuration data in the system Registry. As a result, installing a .NET program should be as simple as copying a folder to your hard disk. Unfortunately, most programs probably will continue to use today's installation technology for some time.

I'm impressed by what I've seen of Whistler. One warning seems appropriate, though: Features such as side-by-side DLLs and keeping each user's session in memory after logoff will require extra RAM and hard disk space. And the recommendations that Microsoft is giving hardware vendors (http://www.microsoft.com/winlogo/logofuture.htm) suggest that Whistler, like Win2K, will primarily target new systems that use legacy-free hardware. These recommendations also contain some fascinating hints that Whistler systems will need to provide some level of 64-bit compatibility, although as far as I know, Whistler will be a 32-bit OS.

Experience with Win2K and NT probably taught you to plan to upgrade your hardware for each new version—and apparently Whistler will be no exception. Features such as Fusion Technology and Terminal Services Personal Edition promise to make Whistler a more stable platform and to ease compatibility problems. However, those features will probably require even more RAM and hard disk space than Win2K needs today.