The unveiling of Windows XP (formerly code-named Whistler) has created a bit of confusion over what, if any, .NET features this release will contain. A recent trip to Redmond has cleared up any misconceptions about this for me, so today, I'll share what I learned.
Microsoft told me that its Internet strategy has evolved over the years. The first-generation Internet, as the company calls it, was all about plumbing (e.g., HTTP and FTP), and Microsoft's offerings reflected that: The company integrated TCP/IP into the core OS and added some simple command-line tools. When the second-generation Internet arrived with Mosaic and other graphic Web tools, Microsoft introduced Internet Explorer (IE). At this point, we were dealing largely with static HTML pages and early applets. The third-generation Internet was marked by programmability, and Microsoft led the way with ActiveX controls in IE 3 and a truly programmable Dynamic HTML in IE 4. But Microsoft says that a lack of standard protocols and formats slowed the programmable Internet. So as Microsoft moves forward to the fourth generation, .NET, it's working more closely with standards bodies to ensure that its products and services will be interoperable with the outside world. As a result, standards such as XML and Simple Object Access Protocol (SOAP) have emerged.
The company is also making strides in languages, such as C# and ECMA, as well as core runtime services that will hit all platforms eventually, but will, of course, begin on Windows. Windows XP will include some of these core .NET services, but it won't include the .NET Common Language Runtime (CLR). In short, any .NET service will need to run on a system that hosts the CLR; CLR is the base environment that all .NET applications will use. Microsoft explained that the CLR won't be included in Windows XP for reasons of timing: The CLR is on a different development track and will ship after Windows XP. But adding the CLR to Windows XP, or any other OS, will be easy: You'll be able to get it from a variety of places, including the installation routine for any .NET service or application. Windows Server, which will ship months after Windows XP, will include the CLR.
Three core, or foundation, .NET services will come in the box with Windows XP. These include Microsoft Passport.NET for authentication, .NET events and notifications, and a rendezvous service for setting up remote voice or video calls.
Passport will become an integral part of Windows XP. You'll use Passport globally with Windows XP. When you log on to the system, you'll automatically log on to a corresponding Passport account. Then, whenever you go to a Passport-enabled Web site or use a Passport service, you're automatically logged on; you don't have to log on manually, as you do today. With Windows XP, the boundary between local authentication and manual remote authentication disappears.
The .NET events and notifications service is a bit vague at this point, but the gist is that the OS will let .NET services communicate. Windows XP can receive remote events and notifications from .NET services ("We've found a low plane fare," "Your mother is online," etc.), and it can send these events and notifications to remote .NET services ("I'm online, please download my custom news," and the like). Ultimately, this service will probably be the one that Web services use most often, though it will occur behind the scenes.
The .NET rendezvous service, which will integrate with the next generation of MSN Messenger, lets users link up visually over the Internet. With the rendezvous service, you can initiate calls for help, such as when something goes wrong in the system. In corporate networks, you would typically send this call to a Help Desk, which could then remotely administer the system graphically using the bundled Remote Desktop tool in Windows XP. At home, you might ask a friend to come in over Remote Desktop and show you how to perform some task. You can cut off the person who is remotely controlling your desktop at any time--for example, if the person does something that you don't approve of.
One other item of interest about Windows XP and .NET: Microsoft will market Windows XP as using the "Windows Engine," a new marketing term that refers to the Windows NT kernel, which is also at the heart of Windows 2000. But the company will brand Windows XP with some sort of .NET decoration as well. Microsoft tells me that it will advertise Windows XP as including .NET as "an ingredient," but it's still working on that. The company knows that its public statements about .NET have been confusing, and it wants to be precise about what the .NET brand means.
So Windows XP won't be Windows.NET as previously hoped. But the .NET services that will be included in this OS are pretty exciting regardless, with more to come in the future.