On the first day of the Microsoft Professional Developer's Conference (PDC) 2003, held last fall in Los Angeles, Microsoft Chairman and Chief Software Architect Bill Gates spoke about a new version of Windows, code-named Longhorn, calling it "the most important OS release since Windows 95." He wasn't kidding about the significance of this release. Longhorn's feature set is a radical departure from all previous Windows versions and includes a new UI, which Figure 1 shows; a completely 3-D display model; major security upgrades; significant reliability enhancements; and a new file system that features database capabilities. Although Gates hasn't provided an explicit release date, we can expect to see Longhorn begin rolling out in 2006. Conference attendees received a set of DVDs containing a pre-beta Longhorn preview, which I've been testing for the past couple of months.
Like every previous Windows release, Longhorn is based on Microsoft's assessment that the speed and power of both desktop and server PCs will continue to increase according to Moore's Law—that is, speed and capacity will double approximately every 18 months. However, Longhorn's single most radical feature—a new, databaselike file system called WinFS—arises from the observation that disk capacity is actually growing faster than Moore's Law predicts. According to Gates, the capacity of typical hard disks is now tripling every 18 months. Based on this observation, he expects that typical desktop PCs will have terabyte hard disks within this decade.
WinFS: NTFS on Steroids
WinFS is essentially a new layer between the UI (or API) and the familiar NTFS file system. The new layer is built on a new release—code-named Yukon—of the Microsoft SQL Server database engine. What looks to the user like a search of the file system is actually a query against the database.
One illustration of the power of WinFS appears in the self-guided tour that the PDC Longhorn documentation features. The tour instructs you to copy tracks from several music CDs into a special WinFS Music folder. Then, you can select music according to metadata such as artist, title, or genre. As Figure 1 shows, collections of related tracks appear as stacks of paper within the folder. As you execute a query against the Music folder (e.g., by typing the name of an artist), the stacks of paper become visibly smaller. This feature lets you manage vast amounts of information relatively easily.
Of course, WinFS manages much more than just music. WinFS provides extensible schemas that a variety of applications can use: A whole series of PDC demonstrations was built around a fictional law office's database of legal briefs that had metadata tags assigned for information such as the client, lawyer, and judge. A legal secretary could then, for example, easily slice and dice briefs by lawyer or client.
WinFS also defines schemas for contacts and calendar entries. Microsoft strongly recommends that developers use these standard schemas rather than storing contact and calendar data in separate, incompatible files. Using these schemas, users (and IT departments) will be able to enjoy the benefits of centralized storage of common data, rather than live with today's scenarios of separate network users, external email addresses, and buddy lists.
Best of all, Longhorn implements WinFS on top of NTFS. WinFS exists as a set of data-related APIs that takes advantage of base operating services, including a transacted version of NTFS. As such, WinFS inherits all the advanced features we've come to expect from NTFS, including support for disk arrays, volume sets, and offline media.
Longhorn also delivers a new communications model—code-named Indigo—that enables advanced Web services. Indigo should be invisible to end users but is an important component of the plumbing underneath applications—particularly network applications. Indigo attempts to unify most of the disparate methods programmers use to write network services, merging features that currently exist in ASMX, ASP.NET, and separate Enterprise Services, such as Microsoft Message Queuing (MSMQ).
Indigo provides built-in security and standardized messaging and will exploit predefined contacts and calendar schemas to provide a programmatic notion of "presence" for both peer-to-peer (P2P) and enterprise applications. And because Microsoft developed Indigo on a transactional model, it's inherently scalable. Better still, Microsoft has announced that in addition to supporting Indigo in Longhorn, it will make Indigo APIs and services available in an add-on for Windows Server 2003 and Windows XP.
Other features planned for Longhorn include an elimination of reboots after application installation (something Microsoft has been promising since before Windows NT 4.0) and the introduction of single-click application setup—you simply copy the application files. (Even that step isn't necessary for users—Longhorn offers an option to incrementally autoinstall an application the first time a user clicks its icon.) Users can also install Longhorn applications without administrative privileges. To speed up the boot process, Longhorn uses Superfetch technology—essentially, smart disk caching of often used files.
To enhance reliability, Microsoft is building a set of features collectively referred to as "a flight recorder for Longhorn." These features include system application tracking, the use of nonvolatile memory for fast reboot, and automatic driver verification.
Microsoft is also taking security seriously in Longhorn. The pre-beta version changes the default setting for Internet Connection Firewall (ICF) to On for all network interfaces. This new setting shows up when you try to ping a machine running the Longhorn pre-beta from any other computer on your network: ICF blocks the system from responding to Internet Control Message Protocol (ICMP) Ping requests until (and unless) you modify the appropriate setting on the Advanced tab of each network connection's Properties page. Other security features in Longhorn include integration with Palladium-hardware-enhanced security and page locking to prevent execution of memory pages on 64-bit CPUs.
Avalon: Longhorn's Display Model
Yet another dramatic change in the Longhorn OS is the elimination of the Windows graphics device interface (GDI), which is the basis for display in every previous Windows version. Instead, Longhorn's display is based on WinFX, which uses a 3-D graphics model similar to the model that game programmers use. WinFX has major implications for both users and network administrators: Graphics performance (particularly in 3-D applications) will probably improve.
At PDC, one demonstration showed Longhorn operating with an animated screen background that had little or no impact on foreground computer performance; a Graphics Processing Unit (GPU) handled the animation. The catch, of course, is that any computer running Longhorn—including servers—will require a GPU and dedicated video memory. Although you can feasibly run the PDC Longhorn pre-beta version on a computer without dedicated video memory, I can say from experience that performance is awful.
Microsoft has revised Longhorn's top-level UI—code-named Aero—so that it includes a sidebar feature that permits a limited number of applications to run in small tiled windows on one side of the display. (The display space that the sidebar uses isn't available for nonsidebar applications.) The sidebar is intended for dynamic applications such as stock tickers and WebCams—in most Longhorn screenshots, including Figure 1, it includes an analog clock. Developers choose whether to add sidebar support to their applications (basically, this support involves providing a mode in which the application runs in a small, fixed-size window), so not all applications will use it. Pre-Longhorn legacy applications, in particular, won't be able to use this functionality.
The pre-beta version of Longhorn that PDC attendees received is available through the Microsoft Developer Network (MSDN), but it's clearly a work in progress, and users should be aware of several caveats before attempting to install it. Besides a GPU and dedicated video memory, the Longhorn pre-beta requires a local DVD drive. Microsoft isn't making Longhorn available on CD-ROM, probably because it takes up so much space—more than 5GB for Longhorn and the associated software development kit (SDK) in versions for 64-bit and 32-bit AMD and Intel processors.
Instead of providing a product key for the pre-beta, Microsoft requires users to log on to a secure Web site with a pre-beta ID and password. This ID and password, which are associated with a machine name but not with a particular hardware configuration, generate a product key. If you find that the product key doesn't run on one system, you can install it on another. After you install the product key, you must activate it within 14 days.
End-user systems require 256MB of RAM, an 800MHz processor, and a DX7 GPU with 32MB of dedicated VRAM. For developer systems, Microsoft recommends 1GB of RAM, a 1.6GHz processor, and a DX9 GPU with 64MB of dedicated VRAM. In practice, the PDC pre-beta appears to have a memory footprint of 400MB to 500MB, so performance will be poor on systems that have less than 512GB of RAM—and as with all Windows versions, more memory is better.
The pre-beta doesn't support upgrading an existing Windows installation to Longhorn, so a clean installation is your only option. I've discovered, however, that you can install it in a dual-boot configuration—the only requirement is to install it on a separate partition, which must be NTFS-formatted. The OS files take up about 2.6GB of disk space, exclusive of data files.
The pre-beta release notes provide a long list of features that don't work in the current version—for example, data corruption can occur when writing to (or formatting) CD-W or DVD-W discs, Windows File Protection (WFP) is disabled, only administrators can schedule tasks, some features don't work correctly on 64-bit systems, and several Microsoft Outlook Express features are disabled. Some Dell computers require a BIOS update before you install Longhorn. On my test bed, a locally constructed system built on an ASUSTek Computer motherboard with a 1GHz AMD Athlon CPU, Longhorn didn't recognize my audio hardware. Microsoft states clearly in the pre-beta documentation that this version of Longhorn isn't intended for production environments.
The existence of an industrial-strength relational database engine on each computer that runs Longhorn—whether a desktop, server, or laptop—paves the way for a dramatic change in programming. A new release of Visual Studio (VS) and a related update to the Microsoft .NET runtime library—both code-named Whidbey—exploit this shift. The new version of VS is built around a new Extensible Application Markup Language (XAML) programming model that provides Windows programmers with some of the same data independence that has long been available to HTML (i.e., Web) programmers.
For example, XAML lets you describe a dialog box in terms of its width and height in inches or percentages of the available display space. This functionality also lets you use a simple text editor to perform Windows programming—just as you can edit HTML in Notepad. For example, the XAML document that Figure 2 shows, from Introducing Longhorn for Developers (http://msdn.microsoft.com/longhorn/understanding/books/rector/default.aspx), defines 14-point red text.
The beauty of this functionality is that you can change the point size and color at will without having to recompile the program. And the information resides in an XAML file that you can edit with a text editor, rather than in the Windows registry.
The XAML programming model, coupled with Longhorn's database features, promises a quantum leap in programmer productivity for both server and desktop. At PDC, for example, Microsoft demonstrated adding per-user logon security (not just password protection) to an existing Web site—it took about a dozen lines of code. The same task today would take even the most experienced programmer several weeks to write from scratch.
More Code Names
By the time Longhorn ships, Whidbey is expected to be replaced by an even more sophisticated version of VS—code-named Orcas—with support for Longhorn's extensive set of managed APIs, new UI tools, an improved security model, and the WinFS data-storage model. The Yukon database engine that WinFS uses will provide integration with the Whidbey and Orcas versions of the Windows .NET Framework and class libraries, access to data in native formats (including XML), an enhanced programming model with improved security by using .NET managed code, and the ability to create Web services in the database tier.
Many other products are scheduled for release in the Longhorn time frame, and one will be of particular interest to enterprise IT managers: The Dynamic Systems Initiative (DSI)—code-named Whitehorse—can automatically generate physical and logical views of your network, then let you test a system for compatibility before actually deploying it.
You might ask, What is the Longhorn time frame? Microsoft is being deliberately vague about that. During a talk at Gartner Spring Symposium 2004 in San Diego, Gates confirmed longheld suspicions of industry onlookers: Microsoft won't ship its next-generation Windows version until at least 2006. He added that this new date doesn't necessarily represent a delay and that Longhorn has never been a date-driven release. For more detailed information about Longhorn, see "Resources," page 41.
Longhorn PDC Preview Download
"Microsoft Developer Tools Roadmap"
PDC Longhorn Presentations
"The Architecture Strategy Series"