Longhorn: Is Allchin's Baby Worth the Wait?
Don Jones takes a look at the new features that will be included in the new Windows operating system, slated for release in late 2006.
Longhorn is so chock-full of code-names that it's difficult, if not impossible, to figure out what's what. WinFX, Indigo and Avalon all sound terribly important, but they don't give you a clue as to what they will do. Until we get a
look at Longhorn's first public beta (expected later this summer), though, those code-names are all we've got.
Bill Gates says most of Longhorn's new features are still secret, and that the beta release will be the first time they're previewed. I'll take a longer look in my Beta Man column shortly after the beta ships. Microsoft's oft-postponed final release of the next iteration of Windows is now due in late 2006 (Vegas is taking bets for 2007).
With as much fuss about what is not making it into Longhorn as what is—WinFS, the Monad scripting shell, and a host of other features originally slated for the first release have been dropped in order to ship on time—let's take a look at a few of the pieces of Longhorn that will be present (at least according to the plan du jour).
WinFX to the Rescue
WinFX (pronounced "Win Ef Ex," just like it's spelled) stands for Windows Framework. This is the new Application Programming Interface (API) upon which Longhorn will be built. Longhorn will continue to support, for purposes of backward-compatibility, the Win32 API we currently have. Looking ahead, though, WinFX represents an all-managed, all-new API that's really the first major overhaul of the
The "all-managed" part of that description is key. WinFX is, in fact, built upon the .NET Framework, which consists of managed code that runs within a Common Language
Runtime (CLR is a sort of virtual machine not unlike what Java uses). While developers already dig .NET, the major benefit for administrators is that the Framework and WinFX were built with security in mind from the beginning. The
old Win32 APIs upon which Windows is currently built
definitely weren't all that aware of security.
| The Next Version of Windows (Longhorn)
Version Reviewed: Technology Preview
Current Status: Beta expected in August 2005
Expected Release: Late 2006
The Framework provides complete security management. You can decide what any individual bit of code is allowed to do, even down to accessing particular Active Directory objects, registry keys, file paths or whatever. WinFX is likely to incorporate even more granular security, meaning for the first time, you'll be able to tell Windows what specific
applications can do or even if they can execute and run in the first place. Now that's control.
It's unclear right now whether WinFX will be an all-new API or whether it will just be wrapped around the existing Win32 APIs. After all, many of today's .NET Framework classes are just wrappers around underlying Win32 code.
Avalon and Indigo
Avalon is the code-name for the presentation subsystem class libraries in WinFX—in other words, the components of Windows that create the user interface. These are analogous with today's Graphics Device Interface Plus (GDI+). Avalon supports Tablet computing and other input devices, an
all-new imaging and printing infrastructure, and more. Developers will be able to use fancy new XML formats to create robust user interfaces and will have complete 3-D support for drawing cool-looking screens.
Whenever you read Microsoft documentation about
Avalon, one term always crops up: XAML. This stands for Extensible Application Markup Language (pronounce it "ZAM-EL"). On the XAML Web site (www.xaml.net), you're told that "organizations will no longer be required to support … HTML, Flash and PDF." Instead, you'll just use XAML, which supports 2-D and 3-D imaging, animation, documents and more. Feed a XAML file to Avalon and "poof"—you're looking at the completed image or document.
XAML intrinsically supports text, hyperlinks, common Windows controls, 2-D and 3-D graphics and animation, fixed format documents (à la PDF), flow format documents (like a Word document), data binding, styles, video, audio—it'll even tell you how to vote in the next election. OK, maybe not that last bit.
At its simplest, XAML provides a format for defining user interfaces—in other words, how your applications will look. However, Microsoft has far loftier goals that include making XAML the end-all, be-all of portable-rich documents. Adobe does not appear to be shaking in its boots. Convincing the world to stop using PDF and Flash in favor of a Microsoft-created standard will be tricky at best.
Indigo is the code-name for a new unified programming model for building connected systems. Essentially, Indigo extends the existing .NET Framework with additional APIs that let your applications communicate securely,
reliably and in a transactional fashion across the Web. The intent of this new programming model is to be compatible outside the Microsoft realm, providing interoperability and compatibility with generic Web services.
Here's the big news about Avalon and Indigo, though—both will ship for WinXP and Win2003, as well as being built into Longhorn. This frees up developers to create Avalon/Indigo applications, even if their customers aren't immediately moving to Longhorn. This is one of the first instances of Microsoft providing significant forward
compatibility between different versions of Windows, and the company should be applauded for that move. Both Avalon and Indigo are currently in Beta 1 for WinXP and Win2003. Both require Visual Studio 2005 and the beta release of the .NET Framework version 2.0.
Avalon and Indigo aren't solving new problems. They're solving old problems in new ways. Because they're based on the .NET Framework, there's a generation of developers who will have a fairly short learning curve.
Looking Back to
Fortunately, Microsoft has developed WinFX to exist side-by-side with Win32 and Avalon to exist alongside GDI+. That means everything you have (with a few exceptions, as Longhorn will have tighter default security settings) should work fine.
That's no mean feat on Microsoft's part, especially given their desire to reinvent major portions of Windows that have remained essentially unchanged since the days of Windows NT. That level of redesign and rewrite usually means major compatibility issues. With the parallel "new beside the old" architecture that Longhorn is exhibiting, both new and old should run without a hitch.
Looking beyond Longhorn, you can definitely see a time when Win32 and its related baggage will be discontinued, though. Market demands and pressures will determine the timing of this shift.
I would also expect Longhorn to be the last 32-bit
version of Windows. With Intel and AMD both producing 64-bit processors, and releases of Windows coming about five years apart, it's a safe bet that five years after Longhorn ships there won't be many 32-bit processors left. Whatever version of Windows Microsoft develops eight to 10 years hence might only need to exist in a 64-bit version.
Some other tidbits about Longhorn have leaked out,
giving us somewhat of a clue as to what else is in store. First, we know that we're getting a revised Internet Explorer, although at this point we don't know how revised. Originally, Longhorn's IE was the next one we expected to see. Microsoft decided to ship an interim IE 7.0, which should be in beta by the time you read this. What Longhorn will do beyond IE 7.0 remains
to be seen.
We're also getting integrated support for Really Simple Syndication (RSS), an XML format that lets you receive news, headlines and story synopses right on your desktop. Longhorn will feature a common RSS "feed" list, an
integrated RSS data store and an integrated RSS engine to pull and synchronize feeds. This is essentially what IE 4.0 was supposed to do with its "channels," a technology that has long since gone the way of Microsoft Bob. RSS is growing in popularity, so it's nice to see Microsoft taking note.
Not surprisingly, Longhorn will have a new version of IIS (version 7, to be precise). Today, ASP.NET runs as a plug-in to IIS. Under IIS 7, ASP.NET will be integrated into the IIS core, in much the same way that the .NET Framework is implemented within the SQL Server 2005 engine. So, you can certainly expect better performance.
From a security standpoint, Microsoft is breaking IIS 7 into a zillion modules, each of which you can remove. I've heard IIS 7 is running on Win2003 boxes, but whether Microsoft will ship it for Win2003 or save it for Longhorn (client and server) has not yet been decided.
The last big bit to mention is Metro, Microsoft's new document format and "print path." In some ways, it's similar to PDF, and in other ways akin to a print spool format (meaning that when you print, everything winds up in Metro and is then sent to the Spooler service for transmission to the printer). It's also similar to PostScript in that it is a page-description language.
Metro is a completely new document format. It's tied to an all-new printing engine being developed for Longhorn that promises better performance and features. Longhorn will support both the Metro print path and the current GDI-based print path.
To take advantage of Metro, you'll need Metro-compatible printer drivers (conveniently called a "MetroDrv"). Microsoft decided against a dual-driver model that would have supported both Metro and GDI. You'll have to get
drivers for both print paths if you want to use both (to be clear, most WinXP/Win2003 GDI-based print drivers will work just fine in Longhorn). For forward-compatibility, Microsoft will provide what amounts to a Metro-GDI
translator to let WinXP/Win2003 systems use Metro drivers, the Metro print path and a subset of Metro functionality.
The final release of Longhorn isn't expected until the end of 2006 at best. There's no reason not to download the Longhorn beta when it arrives and start taking a look. Remember, when it finally ships, WinXP will be more than five years old and certainly ready for replacement.