Last month, I discussed the .NET features that would be included in Windows XP, the next version of Windows 2000 that Microsoft will release later this year. This week, however, the company expanded its vision for these components, which are collectively code-named Hailstorm, at a press event in Redmond. Hailstorm represents the first wave of .NET Web services, and although they'll be included in Windows XP, they'll also be available for previous versions of Windows and, perhaps somewhat surprisingly, for other as-yet-unnamed platforms as well. Let's look at Hailstorm and see how this exciting development will change our computing experience over the next several months.
Basically, Hailstorm is an architecture for XML-enabled Web services, which is largely how we've thought of .NET generically to this point. With Hailstorm, however, Microsoft differentiates the .NET initiative or "vision" from actual .NET services. So to be precise, we might think of Hailstorm as the initial generation of .NET Web services. The idea behind Hailstorm is as simple as it is daunting: It's designed to unite and integrate previously separate islands of information on the Internet. Hailstorm provides these islands—which are today's Web sites and Windows applications—with .NET interfaces that let them communicate with each other, notify each other of events, and share data. And it does so with appropriate security and privacy blocks in place, which the user can modify. In a Wininformant news story, I discussed eBay's plans to provide its services to users in a variety of new and exciting ways. eBay's plans are a good blueprint for the ways in which existing services can move into the .NET world. And Hailstorm is the technology that makes it happen.
At its heart, Hailstorm is designed to give the user control. One big concern with this high-minded future of interconnected computers and services is that it will compromise private user information, and we'll see an end to privacy as we know it. Microsoft is aware of these concerns and has designed Hailstorm to ensure that users control their own data; Hailstorm will give out only data that the user designates as accessible—in any given situation. There is also the concept of lifetime, where the user specifies a permission expiration for each data access. Microsoft compares this control to a problem we have today, where the sale of one Web site, which might control a portion of your personal data, to another Web site would include the sale of your data to a company that you might not want to have that data. Let's say you have an Amazon.com account, and that account includes your credit card data and home address. If Amazon.com is sold to, say, Wal-Mart, your data would likely move to Wal-Mart as part of the transaction. But you might not want Wal-Mart to have this data. In today's world, you have little recourse because Amazon.com's customer list is one of its prime assets. But with Hailstorm, you'll always control access to your personal information: It won't be stored in Amazon's database—and owned by Amazon—as it is today. (Note that my Amazon.com example is a purely fictional example.)
End users will see Hailstorm as applications that run under Windows and, eventually, other platforms such as the Macintosh OS and Linux. These applications include Microsoft Passport, which will be used for user authentication, and Windows Messenger (formerly MSN Messenger), which will host several .NET services, such as those that eBay, American Express, and other companies are planning to provide. The end-user applications will use Hailstorm services, which include the following:
- myAddress—electronic and physical addresses for a given identity; note that any user can have more than one identity
- myProfile—basic information about an identity, such as name, nickname, special dates, and a photograph
- myContacts—electronic address book
- myLocation—electronic and physical location and rendezvous information
- myNotifications—a list of notification subscriptions
- myInbox—email and voice-mail inbox, based on Hotmail, although it will work with other existing email services as well
- myCalendar—time and task management
- myDocuments—online document storage
- myApplicationSettings—global application settings, such as font size and resolution
- myFavoriteWebSites—favorite Web sites, a la Favorites in Internet Explorer (IE)
- myWallet—Passport Wallet information, such as receipts, payment instruments, coupons, and other transaction records
- myDevices—a list of PC and non-PC devices used by an identity, with per-device settings and capabilities
- myServices—those services that are provided for an identity
- myUsage—services usage report for all the previously listed services
This list represents the first generation of Hailstorm services; Microsoft will expand this list in the future.
Next time, I'll conclude my examination of Hailstorm with a closer look at security issues, developer-oriented concerns, and the Hailstorm roadmap. By year's end, many of us will actually be using a number of these services, and it's a lot closer to happening than many people realize.