| JUNE 1998 |
The Last 10 MinutesWill Windows NT develop into a super-OS or an unmanageable disaster?By Nicholas Petreley |
| Summary In this final installment of the Next 10 Minutes, we sum up our predictions for Windows NT. In order to examine which way the evidence points, one must understand that size really does matter. (5,000 words) |
To borrow an expression from claymation genius Nick Park's character, Wallace (of "Wallace and Gromit"), it's no use prevaricating about the bush. The conclusion of the Last 10 Minutes is simple -- Windows NT is likely to take one of the following paths:
I regret that it wasn't possible to lay the entire foundation for this conclusion before NC World closed its doors. But I believe we'll be able to pour enough cement, in this one last installment, to create a foundation that fully supports the above conclusions. Microsoft's MO At this point, we've established Microsoft's mode of operation when it comes to product design and marketing. For the most part, it's a mirror image of IBM's strategy when IBM was in the dominant industry position.
Is that a threat or a promise?
A terminal approach to computing We can gain further insight by tackling three more questions:
Microsoft's original thin In order to mold Windows NT Server into something that can serve thin clients well, NT must learn to treat thin clients as if each client has its own user context. And it must keep client user contexts in isolated sessions and manage them at the server. While several clients can share common code libraries at the server for the sake of efficiency, they shouldn't share user contexts. As obvious as these design issues may seem, Microsoft isn't even close to meeting them. In fact, you may be surprised to find out that this is not how Citrix WinFrame works today. Citrix WinFrame can manage multiple user sessions, but in order to do so, it goes to great lengths to mask the fact that both Windows NT and most Win32 applications were built to run only one local user context at a time. In other words, WinFrame isn't a true multiuser version of Windows NT. It's NT patched up with bubble gum, black tape, and bailing wire to look like a multiuser version of NT to a thin client. That's not to say that Citrix WinFrame isn't an excellent product. It simply reflects what Citrix had to work with -- the limitation of a Windows NT built to be a desktop operating system, not a server operating system. The legacy problem If Microsoft is going to take this advice, it will need to start with its own OS and applications. For example, Microsoft must modify the architecture of Windows NT Server so that 50 users can run Microsoft Office on the same machine at the same time without one user interfering with the work of another. Microsoft will have to modify its Office suite (or play some tricks on it) in order to make it serve 50 users simultaneously. It's the applications, stupid Take Microsoft Office's Find Fast utility, for example. This utility builds a searchable index file on every non-removable drive in your system. These index files make it easier for you to search through your Office documents. The problem is that Find Fast runs under the assumption that a single user is running Office on a single machine. When you allow multiple users to run Office simultaneously on Windows NT, each user ends up running his or her own independent copy of Find Fast. If you have 50 users running Microsoft Office, you have 50 instances of Find Fast running on the server. Each of these instances can easily end up competing to update the same index files on each drive. But that isn't the worst design problem. The real problem stems from the fact that Find Fast sucks up between 90 and 100 percent of your CPU processing power every time it's triggered. When a utility like Fast Find drains the CPU on your desktop for a moment, the consequences are minimal. But whenever any one of 50 users on a shared system triggers Find Fast, that user momentarily brings the response time for all the users on the system to a complete standstill. If multiple users trigger Find Fast at the same time, the system will turn into a virtual popsicle. According to Citrix, the only solution for this problem is to disable Find Fast for all users. The HKEY to your success
The fact that these files are stored in the an Office 97 application directory betrays Microsoft's single-user mindset when it designed Office 97. Had the company assumed Windows NT was a true multiuser system, a transparent setup program would automatically create a set of these files in the home directory for every user on the system. This practice is typical and taken for granted when using true multiuser systems like Unix. For example, when you run Netscape Navigator on Unix for the first time, it automatically creates a set of local user files in the current home directory. That way each user automatically has his or her own window settings, cache, mail files, etc. If you run Netscape from an X terminal, these settings are kept and managed at the server. That means your Netscape settings are server-centric and don't change when you run Netscape from one desktop or another. Unfortunately, if you intend to use Office 97 on WinFrame, you'll have to emulate this practice manually. First you'll copy the configuration files to each user's home directory. Then you'll have to edit the registry settings under HKEY_CURRENT_USER so that Office 97 will look in the proper home directory for every user on the system. Reading you your rights Unfortunately, most Windows applications were not designed with this factor in mind. To take Microsoft Office as the example again, Office allows you to insert hyperlinks into your Office documents. When you click on one of those hyperlinks, Office tries to launch Internet Explorer to bring up the linked information. Whether or not the sysadmin deems it a security risk, the only way these links will work is if you give your users full access control for the Temporary Internet Files, Cookies, and History directories. These directories appear immediately under %SYSTEMROOT% or a subdirectory somewhere beneath %SYSTEMROOT% in the directory tree. %SYSTEMROOT% is usually \WINNT, or \WINFRAME. If you don't give users full control over these directories, clicking a hyperlink will result in an error message telling them to run scandisk or reinstall IE. On the other hand, it's potentially dangerous to give any user full control over a directory branch off the system root. CPU resource usage, concurrency conflicts, managed configuration files, and access control rights are but a few examples of issues that arise when you try to turn a desktop operating system into a multiuser system. In summary, here are some costs, benefits, and problems associated with the fact that Microsoft is getting into the business of competing against X terminals and other thin clients:
Windows NT everywhere If you want evidence for this theory, you need look no further than Microsoft's pricing structure for Windows Terminal Server Edition. Microsoft will sell Windows NT Terminal Server Edition for $1,129, which includes a 10-user license. Each additional client license costs roughly $35. But that's not all. You have to pay $269 per seat for a Windows NT Workstation license. That's right. To Microsoft, 50 thin client users running applications on Windows NT Terminal Server Edition is the functional equivalent of 50 users running Windows NT Workstation. And it's prepared to charge the same amount of money for either approach. By pricing Terminal Server this way, Microsoft not only discourages the use of thin clients, it makes a mockery of those who have been arguing that the dropping price of personal computers makes the network computer irrelevant. Not only did the publications and analysts who bought into that argument miss the entire point of network-centric computing (lower total cost of ownership, not lower entry price), but they also supported an alternative that starts at about $300 per seat before you even add the cost of the client hardware! At those prices, the software alone for a 50-user installation of Windows Terminal Server Edition will cost just over $13,000. But wait, there's more. Should you decide to use inexpensive non-Windows terminals for your clients, you'll have to add Citrix MetaFrame to this mix. Microsoft isn't supporting non-Windows terminals until after the year 2000. With MetaFrame added, you're looking at an additional $4,995 for 15 concurrent users. Additional users run just under $200 per seat, depending on how many licenses you buy. This brings the total cost of your software solution to $20,000 for 50 users. And we still haven't added the cost of the client or server hardware. Fortunately, you can opt to run your client software on existing machines. Citrix client software runs quite well on 486 computers. But you could, instead, turn those 486 computers into X terminals simply by installing Linux or FreeBSD. Since the client hardware and software investment is minimal in either case, Microsoft has not only made those who argued against the NC look foolish, it makes a mockery of the claim that Windows NT is the inexpensive alternative to Unix. Solaris x86 with unlimited user licenses comes to $3,885. That means the comparison between Solaris-based thin client computing and Windows NT computing (whether or not it's thin client) is a contest between $3,885 for unlimited users and $13,000-$20,000 for 50 users. Windows NT 5.0, anyone? Local user context football game Why? The promise behind network computers is that they lower TCO without sacrificing too much desktop power. Instead of putting all the processing at the server (as you would with Windows NT Terminal Server Edition or Unix with X terminals), you can distribute processing by running some or all of your application locally at the NC. This gives you the benefits of centralized management of resources without losing the power of a local processor. The only way Microsoft can compete with that is to promise that the managed PC will lower costs as well as a network computer environment does.
In this case Microsoft must retrofit Windows NT Server and Workstation to work together in a unique way. Windows NT must be able to extract a snapshot of local configuration files and application trees and store it all at the server. In short, Microsoft must be able to treat the local user context like a football that it passes around -- from client to server to another client and back to the server again. And the only way Microsoft can match the reliability of the network computer is to keep the two images synchronized virtually in realtime. Unfortunately, this is going to be a pretty big football. Consider what constitutes a local user context these days. It may include everything from registry settings to JPEG image files, full application trees, and even megabytes of browser cache files. Microsoft's attempt at keeping all this synchronized while throwing it around isn't going to be a pretty sight. The paradox for Microsoft On the one hand, it's Microsoft's goal to patch NT to work around the single-user glitches in its multiuser environment. On the other, it's working to patch NT to save and restore the local user context -- which preserves the very feature that prevents Windows NT from becoming a usable multiuser server for thin clients. Add to the above design conflict the problem of supplying a global directory service, and Microsoft is in quite a pickle. It is faced with the following problems:
One doesn't have to introduce any more pertinent factors to future Windows NT design to understand that Microsoft is either misrepresenting what it can and will deliver, or Windows NT is headed for almost certain disaster. That's because Microsoft is between a strategic rock and a hard place. If it solves the problem of distributed local user contexts the right way (by moving the local user context to the server permanently to be called upon as needed) two major problems crop up. First, it removes the need or desire to put Windows NT at every workstation. Why would you want Windows NT Workstation if you can use anything that resembles a thin client and it works just as well? Second, if Microsoft changes the way Windows NT handles user context, Microsoft and every other third-party ISV must rewrite all their Win32 applications. Even Microsoft Office will have to be rewritten to handle multiuser contexts. It may be tempting for Microsoft and all its supportive ISVs to rewrite their applications, because this would fuel one massive upgrade cycle. But that's a risky venture -- it's possible customers won't want to dump the millions or even billions of dollars necessary to jump from their current environment to a new one. Worse -- if customers are faced with an upgrade path that essentially replaces their entire infrastructure, they might just take the opportunity to switch to a more stable and scalable environment than Windows. As demonstrated above with our Solaris x86 pricing example, a wholesale switch to a Unix-based environment could save corporate America a load of money. And the introduction of Java-based network computers as Windows replacements could save even more. This isn't something Microsoft wants to encourage. The alternative for Microsoft The managed PC has very little chance of success, however. It's easy for Microsoft and its IT customers to speculate on what it would be like to build on a managed PC environment. But it's also easy for them to ignore many of the finer details that could turn the managed PC into a catastrophic strategy. For example, as we pointed out, as long as Microsoft insists on keeping so much of the user context at the desktop, it will have to build a Windows NT capable of synchronizing and moving huge footballs of user-context details as users roam. In addition, Windows NT has very fine-grained access control lists (ACLs). This is one of Windows NT's features that Microsoft could leverage against Unix, which doesn't use the ACL by default (optional Unix file systems provide this feature). But if Microsoft insists on keeping the user context at every desktop, the ACL feature simply adds to the already overwhelming amount of information Active Directory will have to pass around and synchronize. As you can see, as Microsoft addresses each of its competitive problems, the problems of how to address these threats grow exponentially. Active quilt It may be the year 2000 before we know for certain. But since Microsoft's promised goals surely lead to complex and in some cases contradictory design strategies, it appears as if Windows NT is going to become a product Microsoft could easily call Active Quilt. That is indeed the only path Microsoft can take if it wants to keep the competition from penetrating its desktop monopoly. That's why we predict that, of the possible directions cited, Windows NT will most likely become a huge OS disaster. Microsoft has demonstrated in the past that it's more interested in market control than the needs of the customer. If Microsoft stays true to form, it will take the only option that maintains its control of the desktop -- patches, patches, and more patches. Already evidence is mounting that this is exactly the direction Microsoft is taking. You simply have to know what to look for. What we're looking for in this case is sheer code size. Size does matter This last approach results in a huge, nearly unmanageable code base. To illustrate, I need to borrow an example coined by WPI President Michael McCarthy. You build a calculator that answers 5 when you add 2 plus 2. Now you have a problem addressable from one of three levels of abstraction. (1) You can fix the core mathematics engine in your calculator; (2) you can add a layer to the existing mathematics engine such that it redirects all addition to a new engine; or (3) you can add a lot of little layers that check for specific patterns that break the mathematics engine. For example, if a user presses the key sequence 2 + 2 =, a patch is triggered to see if answer is 5. If so, the patch replaces the number 5 with the number 4. Any good programmer understands the occasional necessity for patches that work around inadequate design. But every good programmer also understands the danger of patches: Someone is sure to come along and press the key sequence 2 + 3 [Backspace] 2 =, which will slip by the aforementioned patch. The programmer can add another patch. But someone is always bound to stumble on an unanticipated way to add 2 plus 2 and get 5. If you patched a calculator in the way we described, you would end up writing thousands of lines of unstable code just to make a simple adding machine work most of the time. Even then, you'd have to download and apply updates on a continual basis just to keep it running as people discovered new key combinations that resulted in incorrect math. We're not missing the bloat What could Microsoft possibly be adding that would cause such a dramatic increase in new code, other than patches, patches, and more patches? If Microsoft were redesigning Windows NT from the ground up, other evidence would surface. For example, Microsoft would be warning customers and developers that, in order to use Windows NT 5.0, they would have to migrate to an entirely new Windows application model. (For example, it might announce the upcoming need to switch to a new, Windows NT 5.0-compatible version of Office, since a redesigned Windows NT 5.0 would surely manage user contexts in entirely new way.) Such evidence is nowhere to be found. It is therefore most likely that the increased new code is bubble gum, black tape, and bailing wire. For example, NT 5.0 may include code that checks if a user is running Fast Find, checks to see if this is an installation of Terminal Server, and then checks to see if there is more than one user on the system. If all these conditions were met, Terminal Server would know not to start another instance of Fast Find on the network. This solves a problem with Office 97. But it adds complexity and more moving parts that can interfere with other moving parts, bringing down the entire house of cards. But bloat and instability aren't the worst results. The worst thing about the patchwork approach is that it eventually becomes entirely unmanageable. An army of the best programmers cannot untangle a project that goes beyond the boundaries of all reason. There is a point of no return when using a patch strategy. At some point, you have to start from scratch or face the fact that each new patch has a near 100 percent chance of creating problems in some other piece of the product. Thank you and good night The DOJ vs. Microsoft debate is drawing attention to the issue of Window's dynamic link libraries (DLLs). This is dangerous for Microsoft. It increases the possibility that IT departments will realize that Microsoft's approach to DLLs are at the heart of many of their financial problems. That is bad news for Microsoft because its customers are suffering simply because Microsoft insists on using DLLs to squash competition. There are other challenges Microsoft must face that will have more or less impact on the design of Windows NT. We touch on some of them, which you can peruse in the tables in our sidebar, below. Finally, we want to thank you for all your comments on the preceding Next 10 Minutes series. Without the overwhelming degree of encouragement and response by so many NC World readers, this Last 10 Minutes would never have been written. We encourage you to continue to post your comments. Positive, negative, or irrelevant, we will continue to eagerly await and read them all. Whether our predictions hit the bull's-eye or are off target, whether you invest in
Windows NT or not, whether or not your chosen strategy turns out to be the most or least
successful for you, we wish you the best of luck in your computing career. About the author |
|||||||||||||||||||||||||||||||||||||||||
Feedback: ncweditors@ncworldmag.com
Technical difficulties: webmaster@ncworldmag.com
URL: http://www.ncworldmag.com/ncworld/ncw-06-1998/ncw-06-lastten.html
Last modified: Friday, July 10, 1998
| Platform neutrality of Java | |
|---|---|
| Threat | Platform neutrality of Java. |
| Microsoft response | Pollute Java with Windows-specific versions. |
| Microsoft benefits | Microsoft maintains its control of the desktop. |
| Microsoft costs | Microsoft has to find a way to make it either difficult or undesirable to use a "Write Once Run Anywyere" compliant Java on NT. |
| Promised customer benefits | Faster performance, takes advantage of unique features in Windows. |
| Actual customer benefits | Java applications may run faster on Windows. "Unique features in Windows" is to nebulous to be meaningful. |
| Customer costs | Must commit to an all-Windows environment for full benefit. |
| Customer risks | Microsoft's idea of "running better on Windows" is almost always confined to some facet of the user experience, not technical quality. (For example, MS has demonstrated it is willing to sacrifice stability for performance by moving video drivers back into the kernel with version NT 4.0.) If MS feels free to depart from Sun standards, one must consider the risk that MS may also "improve" Java by cutting corners on important features like garbage collection and security. |
| Consequences to NT design | Few. Microsoft will include Microsoft's version of Java with every copy of Windows NT. |
| Netscape Navigator | |
|---|---|
| Threat | Netscape Navigator |
| Microsoft response | "Dis" the Internet, Integrate Internet Explorer into Windows |
| Microsoft benefits | Leverages Windows to crush Netscape |
| Microsoft costs | Minimal. IE development and distribution costs are high for a free product, but Microsoft has deep pockets. |
| Promised customer benefits | A more consistent, integrated user Internet or Intranet experience. |
| Actual customer benefits | Actually more than promised: Free browser, free email, free newsreader, truly a more consistent user experience on an Internet or Intranet. |
| Customer costs | Needless bloat for those who don't want an integrated experience. Stifling competition in the marketplace leads to higher prices and less choice. |
| Customer risks | When you blur the distinction between local desktop storage and Internet storage, you introduce countless security risks regarding your local data. This will lead to a "patch-of-the-week" club mentality for the foreseeable future. |
| Consequences to NT design | Huge. Bloats the design considerably. Providing an integrated web and local desktop experience makes it that much more complicated to store and manage every user's local context so it can be made available later if that user "roams" or the machine fails and must be replaced. |
| UNIX competition on Intel | |
|---|---|
| Threat | UNIX competition on Intel. |
| Microsoft response | Standard FUD: Claims: UNIX too complicated and cryptic. Too expensive. Insignificant market share. |
| Microsoft benefits | Leverages fear of UNIX. |
| Microsoft costs | There are no significant costs to spreading FUD, although Microsoft loses credibility with a fraction of the market when it criticizes UNIX on one hand and then measures NT by UNIX standards by claiming NT is as good as UNIX but it's not as expensive. |
| Promised customer benefits by avoiding UNIX | Many. GUI-style management. Less expensive. Runs all the popular software. Familiar environment. |
| Actual customer benefits by avoiding UNIX | Few. NT does run more popular software. UNIX has multiple GUI environments. Solaris x86 is actually less expensive than NT if you have more than a handful of users. |
| Customer costs | Many. Windows NT is less stable than UNIX and more expensive. UNIX does
not share many of the limitations in Windows NT, particularly the necessity of a local
user context. Customers sacrifice the stability of UNIX for NT. Server and workstation reboots becomes a way of life. Customers sacrifice the powerful and mature network management tools. |
| Customer risks | Windows NT locks you into an environment that is manipulated by Microsoft to keep software upgrade cycles short. |
| Consequences to NT design | Few, besides product bloat. Microsoft is including 3rd party UNIX
integration tools to make it easier to penetrate existing UNIX market. Microsoft plays to its strengths and depends on people wanting the "latest and greatest" Windows graphical environment. So Microsoft elevates the "bells and whistles" of its GUI over other design details. |
| Open Source UNIX on Intel | |
|---|---|
| Threat | Specifically Open Source UNIX on Intel |
| Microsoft response | Standard FUD. Claims: UNIX too complicated and cryptic. No support. No applications. Incompatible with Windows. |
| Microsoft benefits | Leverages shrink-wrap mentality, leverages fear. |
| Microsoft costs | There are no significant costs to spreading FUD. |
| Promised customer benefit by avoiding Open Source UNIX | Many. GUI-style management. Runs all the popular software. Familiar environment. Better support. |
| Actual customer benefits by avoiding Open Source UNIX | Few. NT does run more popular software. Open Source UNIX has multiple GUI environments, some of which are now competitive with (and sometimes even emulate) the Windows GUI. |
| Customer costs | Very many. Customers have little or no control over the quality of
Windows NT, compatibility with hardare, or problem resolution. Open Source gives customers
complete control over the product's quality and problem resolution, though sometimes that
means they also have the responsibility for solving problems. Customers sacrifice the stability of UNIX for NT. Server and workstation reboots becomes a way of life. Customers sacrifice the powerful and mature network management tools. |
| Customer risks | Mixed. Open Source UNIX is shaped by people who use it. Microsoft shapes NT to respond to competitive threats. To commit to NT means to commit to a relatively unknown future, since new threats to Microsoft appear on a regular basis. |
| Consequences to NT design | Few. Microsoft plays to its strengths and depends on people wanting the "latest and greatest" Windows graphical environment. So Microsoft elevates the "bells and whistles" of its GUI over other design details. |
| Novell Netware, Intranetware and NDS | |
|---|---|
| Threat | Netware, Intranetware, Novell NDS |
| Microsoft response | Microsoft Active Directory |
| Microsoft benefits | Microsoft maintains control of the desktop while penetrating the server market with a proprietary system. |
| Microsoft costs | Microsoft is way behind in this market, so it must concede some level of openness to compete with NDS or other directories that support LDAP or other open protocols. Microsoft also has to consider compatibility with existing domain-based systems, and the difficult in making the transition to decent directory services. |
| Promised customer benefits over NDS | It is by Microsoft rather than Novell. |
| Actual customer benefits | Vaporware. There is potentially some improvement over domain-based administration, but it is impossible to say how much until the product ships. |
| Customer costs | Active Directory threatens to be extremely big, complex, and require a lot of servers. |
| Customer risks | Moderate. Active Directory is unproven. Customers will probably reap some intermediate benefits while Microsoft sorts through all the initial problems. But any commitment to Microsoft vaporware carries with it the risk that Microsoft will get distracted by some other threat to its monopoly and put the further development of Active Directory on the back burner. |
| Consequences to NT design | Huge. The granularity of Windows NT's access control lists makes NT one of the most complex file system models to manage. Yet Windows NT lacks the one thing that would help simplify it -- the object-based file system that Microsoft promised would ship with Cairo in 1994 but never delivered. (See Customer risks.) |
| Remaining desktop operating systems | |
|---|---|
| Threat | OS/2, Macintosh, other alternative desktops |
| Microsoft response | Standard FUD. No applications. No market share. |
| Microsoft benefits | Microsoft leverages feeling of safety in numbers. |
| Microsoft costs | There are no significant costs to spreading FUD. |
| Promised customer benefits to avoiding OS/2, etc. | You can run popular 32-bit Windows applications with NT instead. |
| Actual customer benefits of avoiding OS/2, etc. | Fulfilled promise. You can run popular 32-bit Windows applications with NT instead. |
| Customer costs | You become tied to 32-bit Windows applications and Microsoft. You cannot reap the benefits alternatives offer (better GUI, better stability in some cases, faster performance, etc.) |
| Customer risks | Few. |
| Consequences to NT design | Few. Microsoft's battle vs. Macintosh and OS/2 is essentially over. Although Windows 95 did not deliver the equality with OS/2 that Microsoft had promised, the Windows 95 GUI has been judged "good enough" by most customers. IBM and Apple have given up trying to expand much beyond their loyal or niche market. |