Cover Story / August 1995

Inside the Mind of Microsoft

Coherent. Consistent. Relentless.
These are the words that describe Microsoft's OS strategy. Any questions?

Tom R. Halfhill

If you were to put Microsoft on an analyst's couch, here's what you might hear: "I had a bad childhood." (The analyst scribbles: DOS.) "But my adulthood is looking up." (The analyst scribbles: Windows NT.) "But I'm having trouble controlling my inner child." (The analyst scribbles: Vestiges of DOS in Windows 95.)

Diagnosis: perfectly normal behavior. So normal, in fact, you might think it's all going according to some divine plan.

The plan is Microsoft's strategy for OS dominance — the desktop today, servers tomorrow, and eventually anything that runs an OS, including PDAs (personal digital assistants), office equipment, consumer appliances, TV set-top boxes, and video servers. (See the sidebar "Tigers and Icebergs: Microsoft On-Line".)

This strategy is working. Its foundation, the Win32 API, is becoming a standard platform for third-party software — even for non-Microsoft OSes. Its plumbing, OLE 2.0, provides seamless software integration and is supported by a steadily growing number of applications. Another key building block is Visual Basic, Microsoft's tool for building custom solutions; more than a million copies have been sold. Finally, there's Microsoft Office, the applications suite that is capturing nearly 90 percent of the market.

Windows 95 = MS-DOS 5.0

Windows 95 — the newest addition — is ironically the most antiquated part of this structure. But it serves two purposes: It will move developers to the Win32 API and will ease the transition for users whose hardware isn't yet ready to handle the demands of Windows NT.

Microsoft, when pressed, agrees: "If you're in a corporate environment and you're thinking long-term, and hardware isn't a limitation, you should be looking at Windows NT," says Jim Allchin, senior vice president of Microsoft's business systems division. He continues: "If you've got only 4- to 8-MB systems, there's no question that Windows 95 is the choice."

In a lot of ways, Windows 95 is reminiscent of MS-DOS 5.0. It is the next-to-last major release of an OS that has transformed the computer industry but is nearing the end of its useful life. Windows 95 will be followed by a minor release (code-named Nashville) in a year or two and then capped off by what will almost certainly be the last major upgrade (Memphis) about a year after that.

About then (1997 or 1998), the version of Windows NT now known as Cairo will be released. Its object-oriented architecture and Network OLE (formerly called Distributed OLE) plumbing will enable the advanced features that Windows 95 hints at but won't be able to fully deliver.

Microsoft has made this strategy very clear. "Microsoft put a stake in the ground four years ago: Win32, WOSA [Windows Open Services Architecture], and OLE," says Jamie Lewis, president of The Burton Group (Salt Lake City, UT), a research-consulting firm. "Sure, there have been some deviations and hiccups along the way. But overall, Microsoft's migration path has been clearly defined."

That message seems to have gotten through to corporate users, too. Paul Dunton, director of computer solutions and services at Pacific Gas and Electric (San Francisco, CA), says he's deploying NT on applications servers and is very much aware that Cairo is coming in a few years. Almost all the new systems PG&E is purchasing are 32-MB Pentiums, which will comfortably run NT. When asked if he comprehends Microsoft's long-term strategy, Dunton jokes, "You mean besides world domination?"

Then he gets more serious. For now, he says, the vast majority of his users will upgrade from Windows 3.x to Windows 95, not NT, which is reserved for advanced users. "At this point, we're not promoting NT as an end-user OS. It's probably overkill for most of our 20,000 users to have that environment."

Stiff hardware requirements and higher licensing fees are also slowing the adoption of NT. According to estimates from International Data Corp. (Framingham, MA), Microsoft shipped only 400,000 units of NT in the first full year of availability, compared to 2.4 million units of OS/2 in the same period. But Microsoft is undeterred. Nearly five years elapsed between the 1985 debut of Windows 1.0 and the 1990 release of Windows 3.0, the first truly successful version of Windows. Microsoft plays for the long haul.

To NT Through Win32

Microsoft really wants to support only one desktop OS, but that isn't possible today because NT won't run on most PCs, and Windows 95 can't absorb all the advanced features of NT. Also, it will be a few years before most users realize they need those advanced features.

In the meantime, Microsoft is confronted with the problem of getting from Windows 95 to Windows NT. Win32 is the path of convergence. The core OS code will not actually merge, but the application code will. Windows 95's core code is irrevocably tied to the x86, and it will never be completely rewritten. Microsoft spent five years and $150 million to write the 6 million lines of code in NT and has no reason to repeat that ordeal.

Microsoft would like to see all the 16-bit software that currently runs on Windows and DOS ported to the Win32 API. (Win32 is the API underlying every application written for Windows NT and, eventually, all applications written for Windows 95.) Windows 95 is a crucial way station to that end. Ideally, from Microsoft's point of view, everybody would already be migrating to NT, which is much more solid and 32-bit from the ground up. But NT requires at least 12 MB of RAM (16 MB on RISC) to run — and 20 MB to run well. It's also sluggish on anything less than a swift 486, and there are still a lot of 386s out there.

So, because scaling NT down to run on older hardware simply isn't practical, Microsoft is using Windows 95 to carry the bulk of the market to Win32. Windows 95 has borrowed several key features from NT — such as preemptive multitasking and memory protection — but Win32 is the most important one.

Even though Windows 95 will run DOS and Win16 programs, Win32 programs run better and will also run without modification on NT. In fact, NT compatibility is a requirement for displaying the Windows 95 logo on software packaging. True, there are some differences between the NT version of Win32 and the Windows 95 version, which is sometimes called Win32c. But those differences are relatively minor and won't impede the general movement toward Win32.

Win32 is thus gaining strength despite the slow adoption rate of NT, the primary platform to use it. In May, even IBM acknowledged Win32's importance by unveiling the Developer API Extensions for OS/2 — a Win32 subset that will let programmers write software that can be recompiled for either OS/2 or Windows. And Digital Equipment (Hudson, MA) recently announced that OpenVMS will support the Win32 API via Wind/U, a Unix-based Win32 layer from Bristol Technology (Ridgefield, CT). By writing to Win32 and the Microsoft Foundation Class Library, developers can recompile their applications to run on OpenVMS or Digital Unix.

The Office Strategy

APIs such as Win32 are visible only to programmers; users interact with the OS and applications. Microsoft is blending those layers together so users won't perceive abrupt boundaries between different applications or even between the applications and the OS.

Naturally, Microsoft wants that applications layer to be Microsoft Office, a suite of business programs that includes Word, Excel, PowerPoint, Mail client license, and, in Office Professional, Access. Microsoft has expended considerable effort to make the applications work together, so that switching from one program to another barely causes a blip on the menu bar.

As a corollary to this strategy, Microsoft expects that advanced users and consultants will build custom solutions by using Visual Basic to further integrate the Office applications. And the plumbing that enables all this integration is OLE.

"An excellent example is the use of Microsoft Office Compatible products and OLE to create custom applications," says a Microsoft document. "Users stay within a single, familiar Office environment, yet they have the benefits of solutions that are very closely tailored to their needs."

Notice Microsoft's description of Office as an "environment" in which users do all their work, and the reference to "Office Compatible products." It's clear that Microsoft already considers Office an integral (if not integrated) part of Windows, and that third-party developers will be relegated to the role of making Office-compatible components, not Office-competitive applications. In fact, there's a new term for this emerging market niche: fourth-party software.

And market research proves it's already happening. Dataquest reports that Office captured an overwhelming 86 percent of the worldwide market for suites in 1994, far outpacing Lotus SmartSuite and Novell PerfectOffice. For business users, the dominant desktop OS isn't just Windows; it's Microsoft Office.

Microsoft hopes for a repeat of its Office success with BackOffice — a bundle of Windows NT Server, Mail Server, SQL Server, SNA Server, and the Systems Management Server. By bundling the OS and these packages together for a competitive price, making them work together well, and making them easy to use, Microsoft wants to woo sites that currently depend on anything from NetWare running on a PC to MVS running on an ES/9000.

The OLE Connection

In effect, both Office and BackOffice are another layer of software atop the OS. It's a very rich layer that provides almost all the capabilities needed by business users and also enables the construction of custom solutions. Through OLE integration, the Office and BackOffice applications expose hundreds of their features as methods that can be called by other OLE-capable programs and tools.

OLE stands for Object Linking and Embedding, but even Microsoft rarely spells it out anymore because the original definition is a small part of OLE 2.0. Indeed, OLE has become an umbrella-like brand name that covers nearly all of Microsoft's technology for software integration, client/server solutions, and components.

Microsoft's preferred tools for exploiting this top-layer "API" are the stand-alone versions of Visual Basic or VBA (Visual Basic for Applications), which is integrated with some of the Office products. VBXes (Visual Basic custom controls) complete this picture by providing prepackaged components that add even more functionality to the custom solutions.

Today, OLE allows compound documents with in-place editing and the smooth integration that helps make Office so popular. OCXes (OLE custom controls), the 32-bit replacements for 16-bit VBXes, are revolutionizing RAD (rapid application development). Right now, they're used mainly as design-time parts in tools such as Visual Basic, but a growing number of applications will let you embed OCXes as run-time components, too.

OLE automation servers are paving the way for tomorrow's Network OLE. Currently, automation servers expose their methods to programs in the same memory space, like DLLs. A growing number of automation servers can run in any process, even on another networked system. Network OLE will allow these objects to be distributed across networks while maintaining security and transaction integrity.

OLE DB, the newest member of the OLE family, interfaces OLE to multiple databases. Among them is Microsoft's future object-oriented file system for Windows NT (see the sidebar "A Peek at OFS"). Ultimately, we could be looking at a distributed file system based on this technology.

Almost all this technology is expected to converge in Cairo. By then, 16- or 24-MB systems will be the baseline, so hardware shouldn't be a limitation. Cairo will inherit desirable features from Windows 95 and Memphis, until finally the day arrives when Microsoft can offer a single OS to all desktop users. If everything goes according to plan, NT and BackOffice will be running on the network server, too. Add it all up, and it's a coherent plan that bets heavily on market momentum and synergy, not stealth or even superior technology.

Clearing the Confusion

Because Windows 95 is based on Win32 and has acquired some of NT's features, some people are confused over which Windows to use. But Microsoft's delineation is quite clear: Windows 95 is for anyone who doesn't have the hardware to comfortably run NT and also for home users who play games. (After years of denial, the computer industry has finally recognized entertainment software as a critical category. Windows 95's WinG and WinToon extensions are designed for better games.)

According to Microsoft, NT is for everyone else — especially business users who can appreciate its robust security, superior crash protection, symmetric multitasking, and CPU portability. Ultimately, however, Microsoft would love it if its software were running on all hardware, everywhere.

Sidebars:

Microsoft's OS Road Map

Microsoft's OS Road Map.

Tom R. Halfhill is a BYTE senior editor based in San Mateo, California. You can reach him on the Internet or BIX at thalfhill@bix.com.

Copyright 1994-1998 BYTE

Return to Tom's BYTE index page