When I first encountered Microsoft's new slogan—"Empower people through great software, any time, any place, and on any device"—I was mystified. In particular, I wondered, what was this "any device" thing? Microsoft's focus had always been squarely on its own operating systems, which today means Windows. While the myriad versions of Windows cover a lot of ground, by no stretch of the imagination does that include any device.
The initial .NET announcements only deepened the mystery. The first shipping technologies to carry this new brand, the .NET Enterprise Servers, were very Windows-focused—they ran nowhere else. The .NET Framework, next out of the Redmond gate, still targets Windows platforms. But with the recent announcement of the .NET Services, code-named HailStorm, the picture becomes clearer. HailStorm is Microsoft's attempt to create an environment for Internet-based applications running on both Windows and non-Windows systems. It's also Microsoft's latest attempt at finding new ways to make money. New money-making ideas commonly exploit new technologies. The exploded dot.com bubble notwithstanding, the Internet is still today's biggest technology trend. Given the ever-faster access everyone has to this global network, the kinds of applications it makes possible will continue to expand. A second major trend, the proliferation of small devices—mobile phones, PalmPilots and others—also looks unstoppable, as does the wireless communication these devices can readily exploit.
Yet do any of these trends benefit Windows? Not at all. Faster and more reliable access to a global network encourages the Application Service Provider (ASP) model, an approach that doesn't require Windows desktops. Although commercial ASPs aren't yet a big success, applications delivered via the Internet to a simple terminal are too appealing to ignore, and so I'm convinced that ASPs will one day do big business. Similarly, the rising popularity of small devices might benefit Windows if Windows CE had a substantial share of this market. Despite Microsoft's best efforts, however, it doesn't. While Windows machines aren't about to go away, the major opportunities for growth look likely to be in other areas. What can Microsoft do?
One approach would be just to complain about it. Microsoft could try to convince customers that these are bad trends that won't really happen. Fighting the future is a common response from vendors who see new technologies leaving their core products behind, and it never works. All of the trends just listed will in fact make the world better, and each looks unstoppable. So rather than resisting, Microsoft has decided to try to find a way to do business in this impending new world, a world that necessarily includes many non-Windows systems.
Some people expect the .NET Framework to be part of Microsoft's embrace of non-Windows systems. The Framework is initially targeted primarily at Windows, yet its Java-like design certainly would allow moving it to other operating systems. In fact, Microsoft has explicitly said that it plans to make a version of the .NET Framework available for small devices running both Windows CE and other operating systems. At press time, however, Microsoft had made no official announcement of plans to support the Framework on non-Windows enterprise systems such as Linux or Solaris. Still, such a move has been widely rumored. Could this be what Microsoft means when they talk about great software for any device?
I don't think so. Suppose the .NET Framework does become available on other enterprise operating systems. Do you believe that Microsoft really wants to help you build applications on non-Windows platforms? Even if the .NET Framework gets initial support on other systems, will Microsoft provide equal enhancements going forward? I very much doubt it, and the company's history here isn't encouraging. For example, both Software AG and Digital (now Compaq) ported COM to non-Windows platforms with early help from Microsoft. After getting all the marketing value they could out of this, however, Microsoft declined to provide new features such as COM+ on those platforms. A similar future is likely if a partner or even Microsoft itself ports the .NET Framework to non-Windows enterprise platforms. Except perhaps with small devices, I can't make myself believe that the .NET Framework is a significant part of Microsoft's approach for targeting non-Windows environments.
The .NET Services—HailStorm—are another story. These services, broadly analogous to those provided by an operating system, are explicitly designed to be usable from any device that can support the Simple Object Access Protocol (SOAP). Rather than allowing access through the application programming interfaces of an operating system, the HailStorm services are accessed over the Internet via SOAP and XML Message Interfaces (XMIs). Any device, regardless of the operating system it runs, can potentially be a HailStorm client. Assuming Microsoft is serious about their new slogan with its emphasis on "any device," HailStorm will be a critical new offering for the company.
If the HailStorm services are a good idea, they're bound to attract competitors. Just as the platform battle ten years ago was between Windows, OS/2 and Macintosh, the platform battle of the next few years might be between HailStorm and similar services provided by others. Whatever happens, it looks like the days of Microsoft's one-dimensional worldview, a view focused completely on Windows, are gone for good.
David Chappell is principal at Chappell & Associates, an education and consulting firm focused on enterprise software technologies. He can be reached via E-mail at firstname.lastname@example.org.