RSS

Tag Archives: windows

Doing Windows, Part 3: A Pair of Strike-Outs

Come August of 1984, Microsoft Windows had missed its originally announced release date by four months and was still nowhere near ready to go. That month, IBM released the PC/AT, a new model of their personal computer based around the more powerful Intel 80286 processor. Amidst the hoopla over that event, they invited Microsoft and other prominent industry players to a sneak preview of something called TopView, and Bill Gates got an answer at last to the fraught question of why IBM had been so uninterested in his own company’s Windows operating environment.

TopView had much in common with Windows and the many other attempts around the industry, whether already on the market or still in the works, to build a more flexible and user-friendly operating environment upon the foundation of MS-DOS. Like Windows and so many of its peers, it would offer multitasking, along with a system of device drivers to isolate applications from the underlying hardware and a toolkit for application developers that would allow them to craft software with a consistent look and feel. Yet one difference made TopView stand out from the pack — and not necessarily in a good way. While it did allow the use of a mouse and offered windows of a sort, it ran in text rather than graphics mode. The end result was a long, long way from the Macintosh-inspired ideal of intuitiveness and attractiveness which Microsoft dreamed of reaching with their own GUI environment.

TopView at the interface level resembled something IBM might have produced for the mainframe market back in the day more than it did Windows and the other microcomputer GUI environments that were its ostensible competitors. Like IBM’s mainframe system software, it was a little stodgy, not terribly pretty, and not notably forgiving toward users who hadn’t done their homework, yet had a lot to offer underneath the hood to anyone who could accept its way of doing business. It was a tool that seemed designed to court power users and office IT administrators, even as its competitors advertised their ease of use to executives and secretaries.

Within its paradigm, though, TopView was a more impressive product than it’s generally given credit for being even today. It sported, for example, true preemptive multitasking [1]This is perhaps a good point to introduce a quick primer on multitasking techniques to those of you who may not be familiar with its vagaries. The first thing to understand is that multitasking during this period was fundamentally an illusion. The CPUs in the computers of this era were actually only capable of doing one task at a time. Multitasking was the art of switching the CPU’s attention between tasks quickly enough that several things seemed to be happening at once — that several applications seemed to be running at once. There are two basic approaches to creating this illusionary but hugely useful form of multitasking.

Cooperative multitasking — found in systems like the Apple Lisa, the Apple Macintosh between 1987’s System 5 and the introduction of OS X in 2001, and early versions of Microsoft Windows — is so named because it relies on the cooperation of the applications themselves. A well-behaved, well-programmed application is expected to periodically relinquish its control of the computer voluntarily to the operating system, which can then see if any of its own tasks need to be completed or any other applications have something to do. A cooperative-multitasking operating system is easier to program and less resource-intensive than the alternative, but its most important drawback is made clear to the user as soon as she tries to use an application that isn’t terribly well-behaved or well-programmed. In particular, an application that goes into an infinite loop of some sort — a very common sort of bug — will lock up the whole computer, bringing the whole operating system down with it.

Preemptive multitasking — found in the Commodore Amiga, Mac OS X, Unix and Linux, and later versions of Microsoft Windows — is so named because it gives the operating system the authority to wrest control from — to preempt — individual applications. Thus even a looping program can only slow down the system as a whole, not kill it entirely. For this reason, it’s by far the more desirable approach to multitasking, but also the more complicated to implement.
months before the arrival of the Commodore Amiga, the first personal computer to ship with such a feature right out of the box. Even ill-behaved vanilla MS-DOS applications could be coerced into multitasking under TopView. Indeed, while IBM hoped, like everyone else making extended operating environments, to tempt third-party programmers into making native applications just for them, they were willing to go to heroic lengths to get existing MS-DOS applications working inside TopView in the meantime. They provided special specifications files — known as “Program Information Files,” or PIFs — for virtually all popular MS-DOS software. These told TopView exactly how and when their subjects would try to access the computer’s hardware, whereupon TopView would step in to process those calls itself, transparently to the ill-behaved application. It was an admittedly brittle solution to a problem which seemed to have no unadulteratedly good ones; it required IBM to research the technical underpinnings of every major new piece of MS-DOS software that entered the market in order to keep up with an endless game of whack-a-mole that was exhausting just to think about. Still, it was presumably better than punting on the whole problem of MS-DOS compatibility, as Visi On had done. Whatever else one could say about IBM’s approach to extending MS-DOS, they thus had apparently learned at least a little something from the travails of their competitors. Even the decision to run in character mode sounds far more defensible when you consider that up to two-thirds of MS-DOS computers at the time of TopView’s release were equipped only with a monochrome screen capable of no other mode.

Unfortunately, TopView failed to overcome many of the other issues that dogged its competitors. Having been so self-consciously paired with the pricey PC/AT, it was still a bit out in front of the sweet spot of hardware requirements, requiring a 512 K machine to do much of anything at all. And it was still dogged by the 640 K barrier, that most troublesome of all aspects of MS-DOS’s primitiveness. With hacks to get around the barrier still in their relative infancy, TopView didn’t even try to support more memory, and this inevitably limited the appeal of its multitasking capability. With applications continuing to grow in complexity and continuing to gobble up ever more memory, it wouldn’t be long before 640 K wouldn’t be enough to run even two pieces of heavyweight business software at the same time, especially after one had factored in the overhead of the operating environment itself.

A Quick Tour of TopView


While it isn’t technically a graphical user interface, TopView shares many features with contemporaneous products like Visi On and Microsoft Windows. Here we’re choosing an application to launch from a list of those that are installed. The little bullet to the left of each name on the list is important; it indicates that we have enough memory free to run that particular application. With no more than 640 K available in this multitasking environment and no virtual-memory capability, memory usage is a constant concern.

Here we see TopView’s multitasking capabilities. We’re running the WordStar word processor and the dBase database, two of the most popular MS-DOS business applications, at the same time. Note the “windows” drawn purely out of text characters. Preemptive multitasking like TopView is doing here wouldn’t come to Microsoft Windows until Windows 95, and wouldn’t reach the Macintosh until OS X was released in 2001.

We bring up a TopView context window by hitting the third — yes, third — button on IBM’s official mouse. Here we can switch between tasks, adjust window sizes and positions (albeit somewhat awkwardly, given the limitations of pure text), and even cut and paste between many MS-DOS applications that never anticipated the need for such a function. No other operating environment would ever jump through more hoops to make MS-DOS applications work like they had been designed for a multitasking windowed paradigm from the start.

Some of those hoops are seen above. Users make MS-DOS applications run inside TopView by defining a range of parameters explaining just what the application in question tries to do and how it does it. Thankfully, pre-made definition files for a huge range of popular software shipped with the environment. Brittle as heck though this solution might be, you certainly can’t fault IBM’s determination. Microsoft would adopt TopView’s “Program Information File,” or PIF, for use in Windows as well. It would thereby become the one enduring technical legacy of TopView, persisting in Windows for years after the IBM product was discontinued in 1988.

One of the hidden innovations of TopView is its “Window Design Aid,” which lets programmers of native applications define their interface visually, then generates the appropriate code to create it. Such visually-oriented time-savers wouldn’t become commonplace programming aids for another decade at least. It all speaks to a product that’s more visionary than its reputation — and its complete lack of graphics — might suggest.

TopView shipped in March of 1985 — later than planned, but nowhere near as late as Microsoft Windows, which was now almost a full year behind schedule. It met a fractious reception. Some pundits called it the most important product to come out of IBM since the release of the original IBM PC, while others dismissed it as a bloated white elephant that hadn’t a prayer of winning mainstream acceptance — not even with the IBM logo on its box and a surprisingly cheap suggested list price of just $149. For many IBM watchers — not least those watching with concern inside Microsoft — TopView was most interesting not so much as a piece of technology as a sign of IBM’s strategic direction. “TopView is the subject of fevered whispers throughout the computer industry not because of what it does but because of what it means,” wrote PC Magazine. It had “sent shivers through the PC universe and generated watchfulness” and “possibly even paranoia. Many experts think, and some fear, that TopView is the first step in IBM’s lowering of the skirt over the PC — the beginning of a closed, proprietary operating system.”

Many did indeed see TopView as a sign that IBM was hoping to return to the old System/360 model of computing, seizing complete control of the personal-computing market by cutting Microsoft out of the system-software side. According to this point of view, the MS-DOS compatibility IBM had bent over backward to build into TopView needed last only as long as it took third-party developers to write native TopView applications. Once a critical mass of same had been built up, it shouldn’t be that difficult to decouple TopView from MS-DOS entirely, turning it into a complete, self-standing operating system in its own right. For Bill Gates, this was a true nightmare scenario, one that could mean the end of his business.

But such worries about a TopView-dominated future, to whatever extent he had them, proved unfounded. A power-user product with mostly hacker appeal in a market that revolved around the business user just trying to get her work done, TopView quickly fizzled into irrelevance, providing in the process an early warning sign to IBM, should they choose to heed it, that their omnipotence in the microcomputer market wasn’t as complete as it had been for so long in the mainframe market. IBM, a company that didn’t abandon products easily, wouldn’t officially discontinue TopView until 1988. By that time, though, the most common reaction to the news would be either “Geez, that old thing was still around?” or, more likely, “What’s TopView?”

Of course, all of this was the best possible news from Microsoft’s perspective. IBM still needed the MS-DOS they provided as much as ever — and, whatever else happened, TopView wasn’t going to be the as-yet-unreleased Windows’s undoing.

In the meantime, Bill Gates had Windows itself to worry about, and that was becoming more than enough to contend with. Beginning in February of 1984, when the planned Windows release date was given a modest push from April to May of that year, Microsoft announced delay after delay after delay. The constant postponements made the project an industry laughingstock. It became the most prominent target for a derisive new buzzword that had been coined by a software developer named Ann Winblad in 1983: “vaporware.”

Inside Microsoft, Windows’s reputation was little better. As 1984 wore on, the project seemed to be regressing rather than progressing, becoming a more and more ramshackle affair that ran more and more poorly. Microsoft’s own application developers kicked and screamed when asked to consider writing something for Windows; they all wanted to write for the sexy Macintosh.

Neil Konzen, a Microsoft programmer who had been working with the Macintosh since almost two years before that machine’s release, was asked to take a hard look at the state of Windows in mid-1984. He told Bill Gates that it was “a piece of crap,” “a total disaster.” Partially in response to that verdict, Gates pushed through a corporate reorganization, placing Steve Ballmer, his most trusted lieutenant, in charge of system software and thus of Windows. He reportedly told Ballmer to get Windows done or else find himself a job at another company. And in corporate America, of course, shit rolls downhill; Ballmer started burning through Windows project managers at a prodigious pace. The project acquired a reputation inside Microsoft as an assignment to be avoided at all costs, a place where promising careers went to die. Observers inside and outside the project’s orbit were all left with the same question: just what the hell was preventing all these smart people from just getting Windows done?

The fact was that Windows was by far the biggest thing Microsoft had ever attempted from the standpoint of software engineering, and it exposed the limitations of the development methodology that had gotten them this far. Ever since the days when Gates himself had cranked out their very first product, a version of BASIC to be distributed on paper tape for the Altair kit computer, Microsoft had functioned as a nested set of cults of personality, each project driven by if not belonging solely to a single smart hacker who called all the shots. For some time now, the cracks in this edifice had been peeking through; even when working on the original IBM PC, Gates was reportedly shocked and nonplussed at the more structured approach to project management that was the norm at IBM, a company that had already brought to fruition some of the most ambitious projects in the history of the computer industry. And IBM’s project managers felt the same way upon encountering Microsoft. “They were just a bunch of nerds, just kids,” remembers one. “They had no test suites, nothing.” Or, as another puts it:

They had a model where they just totally forgot about being efficient. That blew our minds. There we were watching all of these software tools that were supposed to work together being built by totally independent units, and nobody was talking to each other. They didn’t use any of each other’s code and they didn’t share anything.

With Windows, the freelancing approach to software development finally revealed itself to be clearly, undeniably untenable. Scott MacGregor, the recent arrival from Xerox who was Windows’s chief technical architect in 1984, remembers his frustration with this hugely successful young company — one on whose products many of the Fortune 500 elite of the business world were now dependent — that persisted in making important technical decisions on the basis of its employees’ individual whims:

I don’t think Bill understood the magnitude of doing a project such as Windows. All the projects Bill had ever worked on could be done in a week or a weekend by one or two different people. That’s a very different kind of project than one which takes multiple people more than a year to do.

I don’t think of Bill as having a lot of formal management skills, not in those days. He was kind of weak on managing people, so there was a certain kind of person who would do well in the environment. There were a lot of people at that time with no people skills whatsoever, people who were absolutely incompetent at managing people. It was the Peter Principle: very successful technical people would get promoted to management roles. You’d get thirty people reporting to one guy who was not on speaking terms with the rest of the group, which is inconceivable.

One has to suspect that MacGregor had one particular bête noir in mind when talking about his “certain kind of person.” In the eyes of MacGregor and many others inside Microsoft, Steve Ballmer combined most of Bill Gates’s bad qualities with none of his good ones. Like Gates, he had a management style that often relied on browbeating, but he lacked the technical chops to back it up. He was a yes man in a culture that didn’t suffer fools gladly, a would-be motivational speaker who too often failed to motivate, the kind of fellow who constantly talked at you rather with you. One telling anecdote has him visiting the beleaguered Windows team to deliver the sort of pep talk one might give to a football team at halftime, complete with shouts and fist pumps. He was greeted by… laughter. “You don’t believe in this?” Ballmer asked, more than a little taken aback. The team just stood there uncomfortably, uncertain how to respond to a man that MacGregor and many of the rest of them considered almost a buffoon, a “non-tech cheerleader.”

And yet MacGregor had problems of his own in herding the programmers who were expected to implement his grand technical vision. Many of them saw said vision as an overly slavish imitation of the Xerox Star office system, whose windowing system he had previously designed. He seemed willfully determined to ignore the further GUI innovations of the Macintosh, a machine with which much of Microsoft — not least among them Bill Gates — were deeply enamored. The most irritating aspect of his stubbornness was his insistence that Windows should employ only “tiled windows” that were always stretched the horizontal length of the screen and couldn’t overlay one another or be dragged about freely in the way of their equivalents on the Macintosh.

All of this created a great deal of discord inside the project, especially given that much of MacGregor’s own code allegedly didn’t work all that well. Eventually Gates and Ballmer brought in Neil Konzen to rework much of MacGregor’s code, usurping much of his authority in the process. As Windows began to slip through MacGregor’s fingers, it began to resemble the Macintosh more and more; Konzen was so intimately familiar with Apple’s dream machine that Steve Jobs had once personally tried to recruit him. According to Bob Belleville, another programmer on the Windows team, Konzen gave to Windows “the same internal structure” as the Macintosh operating system; “in fact, some of the same errors were carried across.” Unfortunately, the tiled-windows scheme was judged to be too deeply embedded by this point to change.

In October of 1984, Microsoft announced that Windows wouldn’t ship until June of 1985. Gates sent Ballmer on an “apology tour” of the technology press, prostrating himself before journalist after journalist. It didn’t seem to help much; the press continued to pile on with glee. Stewart Alsop II, the well-respected editor of InfoWorld magazine, wrote that “buyers probably believe the new delivery date for Windows with the same fervor that they believe in Santa Claus.” Then, he got downright nasty: “If you’ve got something to sell, deliver. Otherwise, see to the business of creating the product instead of hawking vaporware.”

If the technology press was annoyed with Microsoft’s constant delays and prevarications, the third parties who had decided or been pressured into supporting Windows were getting even more impatient. One by one, the clone makers who had agreed to ship Windows with their machines backed out of their deals. Third-party software developers, meanwhile, kept getting different versions of the same letter from Microsoft: “We’ve taken the wrong approach, so everything you’ve done you need to trash and start over.” They too started dropping one by one off the Windows bandwagon. The most painful defection of all was that of Lotus, who now reneged on their promise of a Windows version of Lotus 1-2-3. The latter was the most ubiquitous single software product in corporate America, excepting only MS-DOS, and Microsoft had believed that the Windows Lotus 1-2-3 would almost guarantee their new GUI environment’s success. The question now must be whether the lack of same would have the opposite effect.

In January of 1985, Steve Ballmer brought in Microsoft’s fifth Windows project manager: Tandy Trower, a three-year veteran with the company who had recently been managing Microsoft BASIC. Trower was keenly aware of Bill Gates’s displeasure at recent inroads being made into Microsoft’s traditional BASIC-using demographic by a new product called Turbo Pascal, from a new industry player called Borland. The Windows project’s reputation inside Microsoft was such that he initially assumed he was being set up to fail, thereby giving Gates an excuse to fire him. “Nobody wanted to touch Windows,” remembers Trower. “It was like the death project.”

Trower came in just as Scott MacGregor, the Xerox golden boy who had arrived amidst such high expectations a year and a half before, was leaving amidst the ongoing discord and frustration. Ballmer elected to replace MacGregor with… himself as Windows’s chief technical architect. Not only was he eminently unqualified for such a role, but he thus placed Trower in the awkward position of having the same person as both boss and underling.

As it happened, though, there wasn’t a lot of need for new technical architecting. In that respect at least, Trower’s brief was simple. There were to be no new technical or philosophical directions explored, no more debates over the merits of tiled versus overlapping windows or any of the rest. The decisions that had already been made would remain made, for better or for worse. Trower was just to get ‘er done, thereby stemming the deluge of mocking press and keeping Ballmer from having to go on any more humiliating apology tours. He did an admirable job, all things considered, of bringing some sort of coherent project-management methodology to a group of people who desperately needed one.

What could get all too easily lost amidst all the mockery and all very real faults with the Windows project as a functioning business unit was the sheer difficulty of the task of building a GUI environment without abandoning the legacy of MS-DOS. Unlike Apple, Microsoft didn’t enjoy the luxury of starting with a clean slate; they had to keep one foot in the past as well as one in the future. Nor did they enjoy their competitor’s advantage of controlling the hardware on which their GUI environment must run. The open architecture of the IBM PC, combined with a market for clones that was by now absolutely exploding, meant that Microsoft was forced to contend with a crazy quilt of different hardware configurations. All those different video cards, printers, and memory configurations that could go into an MS-DOS machine required Microsoft to provide drivers for them, while all of the popular existing MS-DOS applications had to at the very least be launchable from Windows. Apple, by contrast, had been able to build the GUI environment of their dreams with no need to compromise with what had come before, and had released exactly two Macintosh models to date — models with an architecture so closed that opening their cases required a special screwdriver only available to Authorized Apple Service Providers.

In the face of all the challenges, some thirty programmers under Trower “sweated blood trying to get this thing done,” as one of them later put it. It soon became clear that they weren’t going to make the June 1985 deadline (thus presumably disappointing those among Stewart Alsop’s readers who still believed in Santa Claus). Yet they did manage to move forward in far more orderly fashion than had been seen during all of the previous year. Microsoft was able to bring to the Comdex trade show in May of 1985 a version of Windows which looked far more complete and polished than anything they had shown before, and on June 28, 1985, a  feature-complete “Preview Edition” was sent to many of the outside developers who Microsoft hoped would write applications for the new environment. But the official first commercial release of Windows, known as Windows 1.01, didn’t ship until November of 1985, timed to coincide with that fall’s Comdex show.

In marked contrast to the inescapable presence Windows had been at its first Comdex of two years before, the premiere of an actual shipping version of Windows that November was a strangely subdued affair. But then, the spirit of the times as well was now radically different. In the view of many pundits, the bloom was rather off the rose for GUIs in general. Certainly the GUI-mania of the Fall 1983 Comdex and Apple’s “1984” advertisement now seemed like the distant past. IBM’s pseudo-GUI TopView had already failed, as had Visi On, while the various other GUI products on offer for MS-DOS machines were at best struggling for marketplace acceptance. Even the Macintosh had fallen on hard times, such that many were questioning its very survival. Steve Jobs, the GUI’s foremost evangelist, had been ignominiously booted from Apple the previous summer — rendered, as the conventional wisdom would have it, a has-been at age thirty. Was the GUI itself doomed to suffer the same fate? What, asked the conventional-wisdom spouters, was really so bad about MS-DOS’s blinking command prompt? It was good enough to let corporate America get work done, and that was the important thing. Surely it wouldn’t be Windows, an industry laughingstock for the better part of two years now, that turned all this GUI hostility back in the market’s face. Windows was launching into a headwind fit to sink the Queen Mary.

It was a Microsoft public-relations specialist named Pam Edstrom who devised the perfect way of subverting the skepticism and even ridicule that was bound to accompany the belated launch of the computer industry’s most infamous example of vaporware to date. She did so by stealing a well-worn page from the playbook of media-savvy politicians and celebrities who have found themselves embroiled in controversy. How do you stop people making fun of you? Why, you beat them to the punch by making fun of yourself first.

Edstrom invited everybody who was anybody in technology to a “Microsoft Roast” that Comdex. The columnist John C. Dvorak became master of ceremonies, doing a credible job with a comedic monologue to open the affair. (Sample joke about the prematurely bald Ballmer: “When Windows was first announced, Ballmer still had hair!”) Gates and Ballmer themselves then took the stage, where Stewart Alsop presented them with an InfoWorld “Golden Vaporware Award.” The two main men of Microsoft then launched into a comedy routine of their own that was only occasionally cringe-worthy, playing on their established reputations as the software industry’s enfant terrible and his toothy-but-not-overly-bright guard dog. Gates said that Ballmer had wanted to cut features: “He came up with this idea that we could rename this thing Microsoft Window; we would have shipped that a long time ago.” Ballmer told how Gates had ordered him to “ship this thing before the snow falls, or you’ll end your career here doing Windows!”; the joke here was that in Seattle, where the two lived and worked, snow almost never falls. Come the finale, they sang the “The Impossible Dream” together as a giant shopping cart containing the first 500 boxed copies of Windows rolled onto the stage amidst billows of dry ice.

All told, it was a rare display of self-deprecating humanity and showmanship from two people not much known for either. From a PR perspective, it was about the best lemonade Microsoft could possibly have made out of a lemon of a situation. The press was charmed enough to start writing about Windows in more cautiously positive terms than they had in a long, long time. “The future of integration [can] be perceived through Windows,” wrote PC World. Meanwhile Jim Seymour, another respected pundit, wrote a column for the next issue of PC Week that perfectly parroted the message Microsoft was trying to get across:

I am a Windows fan, not because of what it is today but what it almost certainly will become. I think developers who don’t build Windows compatibility into new products and new releases of successful products are crazy. The secret of Windows in its present state is how much it offers program developers. They don’t have to write screen drivers [or] printer drivers; they can offer their customers a kind of two-bit concurrency and data exchange.

The most telling aspect of even the most sympathetic early reviews is their future orientation; they emphasize always what Windows will become, not what it is. Because what Windows actually was in November of 1985 was something highly problematic if not utterly superfluous.

The litany of problems began with that same old GUI bugaboo: performance. Two years before, Bill Gates had promised an environment that would run on any IBM PC or clone with at least 192 K of memory. Technically speaking, Microsoft had come very close to meeting that target: Windows 1.01 would run even on the original IBM PC from 1981, as long as it had at least 256 K of memory. It didn’t even absolutely require a hard drive. But running and running well — or, perhaps better put, running usably — were two very different matters. Windows could run on a floppy-based system, noted PC Magazine dryly, “in the same sense that you can bail a swimming pool dry with a teaspoon.” To have a system that wasn’t so excruciatingly slow as to outweigh any possible benefit it might deliver, you really needed a hard drive, 640 K or more of memory, and an 80286 processor like that found in the IBM PC/AT. Even on a hot-rod machine like this, Windows was far from snappy. “Most people will say that any screen refresh that can be watched takes too long,” wrote PC Magazine. “Very little happens too quickly to see in Windows.” One of Microsoft’s own Windows programmers would later offer a still more candid assessment: even at this late date, he would say, “Windows was a pig,” the result of a project that had passed through too many hands and had too many square chunks of code hammered into too many round holes.

Subjectively, Windows felt like it had been designed and programmed by a group of people who had read a whole lot about the Macintosh but never actually seen or used one. “I use a Macintosh enough to know what a mouse-based point-and-click interface should feel like,” wrote John C. Dvorak after the goodwill engendered by the Microsoft Roast had faded. “Go play with a Mac and you’ll see what I mean. Windows is clunky by comparison. Very clunky.” This reputation for endemic clunkiness — for being a Chrysler minivan pitted against Apple’s fine-tuned Porsche of a GUI — would continue to dog Windows for decades to come. In this first release, it was driven home most of all by the weird and unsatisfying system of “tiled” windows.

All of which was a shame because in certain ways Windows was actually far more technically ambitious than the contemporary Macintosh. It offered a cooperative-multitasking system that, if not quite the preemptive multitasking of TopView or the new Commodore Amiga, was more than the single-tasking Mac could boast. And it also offered a virtual-memory scheme which let the user run more applications than would fit inside 640 K. Additional RAM beyond the 640 K barrier or a hard drive, if either or both were extant, could be used as a swap space when the user tried to open more applications than there was room for in conventional memory. Windows would then automatically copy data back and forth between main memory and the swap space as needed in order to keep things running. The user was thus freed from having to constantly worry about her memory usage, as she did in TopView — although performance problems quickly started to rear their head if she went too crazy. In that circumstance, “the thrashing as Windows alternately loads one application and then the other brings the machine to its knees,” wrote PC Magazine, describing another trait destined to remain a Windows totem for years to come.

A Quick Tour of Windows 1.01


Windows 1.01 boots into what it calls the “MS-DOS Executive,” which resembles one of the many popular aftermarket file managers of the MS-DOS era, such as Norton Commander. Applications are started from here by double-clicking on their actual .exe files. This version of Windows does nothing to insulate the users from the file-level contents of their hard drives; it has no icons representing installed applications and, indeed, no concept of installation at all. Using Windows 1.01 is thus akin to using Windows 10 if the Start Menu, Taskbar, Quick-Launch Toolbar, etc. didn’t exist, and all interactions happened at the level of File Explorer windows.

In a sense, the MS-DOS Executive is Windows. Closing it serves as the shutdown command.

Under Microsoft’s “tiled windows” approach, windows always fill the width of the screen but can be tiled vertically. They’re never allowed to overlap one another under any circumstances, and taken as a group will always fill the screen. One window, the MS-DOS Executive will always be open and thus filling the screen even if nothing else is running. There is no concept of a desktop “beneath” the windows.

Windows can be sized to suit in vertical terms by grabbing the widget at their top right and dragging. Here we’re making the MS-DOS Executive window larger. When we release the mouse button, the Clock window will automatically be made smaller in proportion to its companion’s growth. Remember, overlapping windows aren’t allowed, no matter how hard you try to trick the software…

…with one exception. Sub-windows opened by applications can be dragged freely around the screen and can overlay other windows. Go figure!

If we try to drag a window around by its title bar, an interesting philosophical distinction is revealed between Windows 1.01 and more recent versions. We wind up swapping the contents of one window with those of another. Applications, in other words, aren’t intrinsically bound to their windows, but can be moved among them. In the screenshot above, the disk icon is actually our mouse cursor, representing the MS-DOS Executive window’s contents, which we’re about to swap with the contents of what is currently the Clock window.

Windows 1.01 shipped with Write, a fairly impressive minimalist word processor — arguably the most impressive application ever made for the little-used operating environment.

In contrast to the weirdness of other aspects of Windows 1.01, working within an application like Write feels reassuringly familiar, what with its scroll bars and Macintosh-like pull-down menus. Interestingly, the latter use the click-and-hold approach of the Mac rather than the click-once approach of later versions of Windows.

Windows 1.01 doesn’t have a great way of getting around the 640 K barrier, but it does implement a virtual-memory scheme — no mean feat in itself on a processor without built-in memory protection — which uses any memory beyond 640 K as essentially a RAM disk — or, as Microsoft called it, a “Smart Drive.” In the absence of extra memory, or if it too is filled up, the hard disk becomes the swap area.

By the time Windows was ready, all of the clone makers whom Bill Gates had cajoled and threatened into shipping it with their computers had jumped off the bandwagon, telling him that it had simply taken him too long to deliver, and that the product which he had finally delivered was simply too slow on most hardware for them to foist it on their customers in good conscience. With that path to acceptance closed to them, Microsoft was forced to push Windows as a boxed add-on sold through retail channels, a first for them in the context of a piece of system software. In a measure of just how badly Gates wanted Windows to succeed, Microsoft elected to price it at only $99 — one-tenth of what VisiCorp had tried to ask for Visi On two years before — despite its huge development cost.

Unfortunately, the performance problems, the awkwardness of the tiled windows, and the almost complete lack of native Windows applications beyond those that shipped with the environment outweighed the low price; almost nobody bought the thing. Microsoft was trapped by the old chicken-or-the-egg conundrum that comes with the launch of any new computing platform — a problem that is solved only with difficulty in even the best circumstances. Buyers wanted to see Windows applications before they bought the operating environment, while software developers wanted to see a market full of eager buyers before they invested in the platform. The fact that Windows could run most vanilla MS-DOS applications with some degree or another of felicity only helped the software developers make the decision to stay away unless and until the market started screaming for Windows-native versions of their products. Thus, the MS-DOS compatibility Microsoft had built into Windows, which had been intended as a mere bridge to the Windows-native world of the future, proved something of a double-edged sword.

When you add up all of the hard realities, it comes as little surprise that Microsoft’s first GUI sparked a brief run of favorable press notices, a somewhat longer run of more skeptical commentary, and then disappeared without a trace. Already by the spring of 1986, it was a non-factor, appearing for all the world to be just one more gravestone in the GUI graveyard, likely to be remembered only as a pundit’s punch line. Bill Gates could comfort himself only with the fact that IBM’s own big system-software innovation had landed with a similar splat.

IBM and Microsoft had each tried to go it alone, had each tried to build something better upon the foundation of MS-DOS, and had each struck out swinging. What now? Perhaps the odd couple still needed one another, loath though either was to admit it. In fact, by that spring of 1986 a gradual rapprochement had already been underway for a year, despite deep misgivings from both parties. TopView and Windows 1 had both been a bust, but neither company had gotten where they were by giving up easily. If they pooled their forces once again, who knew what they might achieve. After all, it had worked out pretty well the first time around.

(Sources: the books The Making of Microsoft: How Bill Gates and His Team Created the World’s Most Successful Software Company by Daniel Ichbiah and Susan L. Knepper, Hard Drive: Bill Gates and the Making of the Microsoft Empire by James Wallace and Jim Erickson, Gates: How Microsoft’s Mogul Reinvented an Industry and Made Himself the Richest Man in America by Stephen Manes and Paul Andrews, Computer Wars: The Fall of IBM and the Future of Global Technology by Charles H. Ferguson and Charles R. Morris, and Apple Confidential 2.0: The Definitive History of the World’s Most Colorful Company by Owen W. Linzmayer; PC Magazine of April 30 1985, February 25 1986, April 18 1987, and April 12 1988; Byte of February 1985, May 1988, and the special issue of Fall 1985; InfoWorld of May 7 1984 and November 19 1984; PC World of December 1985; Tandy Trower’s “The Secret Origins of Windows” on the Technologizer website. Finally, I owe a lot to Nathan Lineback for the histories, insights, comparisons, and images found at his wonderful online “GUI Gallery.”)

Footnotes

Footnotes
1 This is perhaps a good point to introduce a quick primer on multitasking techniques to those of you who may not be familiar with its vagaries. The first thing to understand is that multitasking during this period was fundamentally an illusion. The CPUs in the computers of this era were actually only capable of doing one task at a time. Multitasking was the art of switching the CPU’s attention between tasks quickly enough that several things seemed to be happening at once — that several applications seemed to be running at once. There are two basic approaches to creating this illusionary but hugely useful form of multitasking.

Cooperative multitasking — found in systems like the Apple Lisa, the Apple Macintosh between 1987’s System 5 and the introduction of OS X in 2001, and early versions of Microsoft Windows — is so named because it relies on the cooperation of the applications themselves. A well-behaved, well-programmed application is expected to periodically relinquish its control of the computer voluntarily to the operating system, which can then see if any of its own tasks need to be completed or any other applications have something to do. A cooperative-multitasking operating system is easier to program and less resource-intensive than the alternative, but its most important drawback is made clear to the user as soon as she tries to use an application that isn’t terribly well-behaved or well-programmed. In particular, an application that goes into an infinite loop of some sort — a very common sort of bug — will lock up the whole computer, bringing the whole operating system down with it.

Preemptive multitasking — found in the Commodore Amiga, Mac OS X, Unix and Linux, and later versions of Microsoft Windows — is so named because it gives the operating system the authority to wrest control from — to preempt — individual applications. Thus even a looping program can only slow down the system as a whole, not kill it entirely. For this reason, it’s by far the more desirable approach to multitasking, but also the more complicated to implement.

 

Tags: , , ,

Doing Windows, Part 2: From Interface Manager to Windows

Bill Gates was as aware as everyone else of the abundant deficiencies of his own company’s hastily procured operating system for the IBM PC. So, in September of 1981, before the PC had even shipped and just a handful of months after VisiCorp had started their own similar project, he initiated work at Microsoft on a remedy for MS-DOS’s shortcomings. Initially called the “Interface Manager,” it marks the start of a long, fraught tale of struggle and woe that would finally culminate in the operating system still found on hundreds of millions of computers today.

As the name would imply, the Interface Manager was envisioned first and foremost as a way to make computing easier for ordinary people, a graphical layer to sit atop MS-DOS and insulate them from the vagaries of the command line. As such, it was the logical follow-on to an even older project inside Microsoft with similar goals, another whose distant descendant is still ubiquitous today: Microsoft Multiplan, the forefather of Excel.

In those days, people who had worked at the already legendary Xerox Palo Alto Research Center were traded around the computer industry like the scarce and precious commodity they were, markers of status for anyone who could get their hands on one of them. Thus it could only be regarded as something of a coup when Charles Simonyi came to work for Microsoft on February 6, 1981, after almost a decade spent at PARC. There he had been responsible for a word processor known as Bravo, the very first in history to implement the “what you see is what you get” philosophy — meaning that the text you saw on the monitor screen looked exactly like what would be produced by the printer. When the 32-year-old Hungarian immigrant, debonair and refined, showed his secretary at PARC a snapshot of his soon-to-be boss Bill Gates, 25-going-on-15 and looking like he could really use a shower and a haircut, she nearly fell out of her chair laughing: “Charles, what are you doing? Here you are at the best research lab in the world!” What could he say? A rapidly changing industry could make for strange bedfellows. Simonyi became Microsoft’s First Director of Applications Development.

At Microsoft, he found the Multiplan project, an attempt to make a competitor to VisiCalc, already underway. He pushed hard to turn it into not just another spreadsheet but a different kind of spreadsheet, placing a premium on ease of use in a field of business software already becoming known for its crypticness. For him, ease of use meant augmenting the long lists of command keystrokes with a menu of possibilities that would always be at the user’s fingertips. Simonyi:

I like the obvious analogy of a restaurant. Let’s say I go to a French restaurant and I don’t speak the language. It’s a strange environment and I’m apprehensive. I’m afraid of making a fool of myself, so I’m kind of tense. Then a very imposing waiter comes over and starts addressing me in French. Suddenly, I’ve got clammy hands. What’s the way out?

The way out is that I get the menu and point at something on the menu. I cannot go wrong. I may not get what I want — I might end up with snails — but at least I won’t be embarrassed.

But imagine if you had a French restaurant without a menu. That would be terrible.

It’s the same thing with computer programs. You’ve got to have a menu. Menus are friendly because people know what their options are, and they can select an option just by pointing. They do not have to look for something that they will not be able to find, and they don’t have to type some command that might be wrong.

It’s true that Multiplan’s implementation of menus was a long way from what a modern GUI user might expect to see. For one thing, they were lined up at the bottom rather than the top of the screen. (It would take software makers a surprisingly long time to settle on the topside placement we know today, as evidenced by the menus we saw at the bottom of Visi On’s windows as well in my previous article.) More generally, much of what Simonyi had been able to implement in Bravo on the graphical terminals at Xerox PARC way back in the mid-1970s was impossible on an IBM PC running Multiplan in the early 1980s, thanks to the lack of a mouse and a restriction to text-only display modes. One could only do what one could with the tools to hand — and by that standard, it must be said, Microsoft Multiplan was a pretty good first effort.

Multiplan was released in 1982. Designed to run inside as little as 64 K of memory and ported to several platforms (including even the humble Commodore 64), it struggled to compete with Lotus 1-2-3, which was designed from the start for an IBM PC with at least 256 K. The Lotus product would come to monopolize the spreadsheet market to the tune of an 80-percent share and sales of 5 million copies by the end of the 1980s, while Multiplan would do… rather less well. Still, the general philosophy that would guide Microsoft’s future efforts was there. Their software would distinguish itself by being approachable for the average person. Sometimes this would yield great results, other times it would come off more as a condescending caricature of user-friendliness, but it’s the philosophy that still guides Microsoft’s consumer software to this day.

Here we see Microsoft Multiplan in action. Note the two rows of menus along the bottom of the screen; this counted as hugely user-friendly circa 1982.

Charles Simonyi left an even bigger mark upon Microsoft’s next important application. Like Multiplan, Multi-Tool Word attempted to compete with the leading application of its type primarily on the basis of ease of use. This time, however, the application type in question was the word processor, and the specific application in question was WordStar, a product which was so successful that its publisher, MicroPro International, had gross sales that exceeded Microsoft’s as late as 1983. Determined to recreate what he had wrought at Xerox PARC more exactly than had been possible with Multiplan, a project he had come into in the middle, Simonyi convinced Microsoft to make a mouse just for the new word processor. (“The mouse,” InfoWorld magazine had to explain, “is a pointing device that is designed to roll on the desktop next to the keyboard of a personal computer.”)

The very first Microsoft mouse, which retailed for $195 in 1983.

Debuting in May of 1983, in many ways Multi-Tool Word was the forerunner of the operating environment that would come to be known as Microsoft Windows, albeit in the form of one self-contained application. Certainly most of the touted advantages to a GUI environment were in place. It implemented windows, allowing multiple documents to be open simultaneously within them; it utilized the mouse if anything more elegantly than the full-blown GUI environment Visi On would upon its debut six months later; it could run in graphical mode, allowing it to display documents just as they would later appear on the printer; it did its best to duplicate the interface of Multiplan, on the assumption that a user shouldn’t be expected to relearn the most basic interface concepts every time she needs to use a new application; it had an undo command to let the user walk back her mistakes. Unfortunately, it was also, like most early GUI experiments, slow in comparison to more traditional software, and it lacked such essential features as a spell checker and a mailing-list manager. Like Multiplan, it would have a hard time breaking through in one of the most competitive segments of the business-software market, one which was dominated first by the more powerful WordStar and then by the still more power-user-friendly WordPerfect. But, once again, it gave a glimpse of the future of computing as Microsoft envisioned it.

Multi-Tool Word. Here someone is using the mouse to create a text style. Note the WYSIWYG text displayed above.

Even as these applications were being developed at Microsoft, work on the Interface Manager, the software designed to integrate all of their interface enhancements and more into a non-application-specific operating environment, was continuing at its own pace. As usual with such projects, the Interface Manager wound up encompassing far more than just a new interface. Among other requirements, Gates had stated that it had to introduce a system of drivers to insulate applications from the hardware, and that it had to expose a toolkit to application programmers that was far larger and richer than MS-DOS’s 27 bare-bones function calls. Such a toolkit would allow programmers to make diverse applications with a uniform look and feel, thus delivering on another of the GUI’s most welcome promises.

This is one of a series of screenshots, published in the December 1983 issue of Byte Magazine, which together may represent the oldest extant evidence of Microsoft Windows’s early appearance. Note in particular the menus at the bottom of the screen. Oddly, a much more mature version of Windows, with menus at the top of the individual windows, was demonstrated at the Comdex trade show which began on November 23, 1983. Despite the magazine’s cover date, one therefore has to assume that these screenshots are older — probably considerably older, given how dramatic the differences between the Windows demonstrated at Comdex and the one we see here really are.

In early 1983, Bill Gates and a few colleagues met with IBM to show them their Interface Manager in progress. They had expected a thrilled reception, expected IBM to immediately embrace it as the logical next stage in the two companies’ partnership. What they got was something much different. “They thought it was neat stuff,” recalls Gates’s right-hand man Steve Ballmer, “but they said, ‘We have this other thing we are pretty excited about.'” IBM, it seemed, must be working on an extension to MS-DOS of their own. This unsatisfying and, from Microsoft’s perspective, vaguely alarming meeting heralded the beginning of a new, far less trusting phase in the two companies’ relationship. The unlikely friendship between the young and freewheeling Microsoft and the middle-aged and staid IBM had spawned the IBM PC, a defining success for both companies. Now, though, it was entering a much more prickly phase.

IBM had been happy to treat this scruffy kid named Bill Gates almost as an equal partner as long as their first general-purpose microcomputer remained nothing more than a marketplace experiment. Now, though, with the IBM PC the first bullet item on their stock reports, the one exploding part of an otherwise fairly stagnant business, they were beginning to wonder what they had wrought when they signed that generous deal to merely license MS-DOS from Microsoft rather than buy it outright. Gates had already made it clear that he would happily license the same operating system to others; this, combined with the open architecture and easy-to-duplicate commodity hardware of the IBM PC itself, was allowing the first of what would soon be known as the “PC clones” to enter the market, undercutting IBM’s prices. IBM saw this development, for understandable reasons, as a potential existential threat to the one truly exciting part of their business, and they weren’t at all sure whose side Microsoft was really on. The two partners were bound together in a hopeless tangle of contracts and mutual dependencies that could quite possibly never be fully severed. Still, there wasn’t, thought IBM, any point in getting themselves yet more entangled. From here on, then, IBM and Microsoft’s relationship would live in an uncertain no man’s land somewhere between partners and competitors — a situation destined to have major implications for the quest to replace MS-DOS with something better.

IBM’s suspicions about Microsoft were probably at least partly justified — Bill Gates’s reputation as a shark whom you trusted at your peril was by no means unearned — but undoubtedly became something of a self-fulfilling prophecy as well. Suddenly aware of the prospect of a showdown between their Interface Manager and whatever IBM was playing so close to the vest, Microsoft began reaching out to the emerging clone makers — to names like Compaq, Zenith, and Tandy — in a far more concerted way. If matters should indeed end in a showdown, these could be the bridges which would allow their system software rather than IBM’s to remain the standard in corporate America.

As if all this wasn’t creating concern enough inside Microsoft and IBM alike, there was also the question of what to make of the Apple Lisa, which had been announced in January of 1983 and would ship in June. The much-heralded first personal computer designed from the ground up for the GUI paradigm had a lot of problems when you looked below the surface. For one thing, it was far too expensive for even the everyday corporate market, what with its price tag of over $10,000. And it suffered from a bad case of over-ambition on the part of its software architects, who had decided to ask its 5 MHz Motorola 68000 processor to run a highly sophisticated operating system sporting virtual memory and cooperative multitasking. The inevitable result was that the thing was slow. A popular knock-knock joke inside the computer industry followed the “Who’s there?” with a fifteen-second pause before a “Lisa” finally came forth. If someone was going to pay over $10,000 for a personal computer, everyone agreed, she was justified in expecting it to run like a Ferrari rather than a Volkswagen bus.

The Lisa GUI, looking and working pretty much the way we still expect such things to look and work today.

When you looked beyond the pricing and performance problems, however, the Lisa was… well, the Lisa was amazing. Apple’s engineering team had figured this whole GUI thing out in a way that no one, not even the demigods at Xerox PARC, had managed to do before. The greatest testament to Apple’s genius today is just how normal the Lisa interface still looks, how easily one can imagine oneself just sitting down and getting to work using it. (Try saying that about any other unfamiliar operating system of this period!) All the stuff we expect is present, working as we expect it to: draggable windows with scroll bars on the side and sizing widgets attached to the corners; pull-down menus up there at the top of the screen; a desktop to function as the user’s immediate workspace; icons representing disks, files, and applications which can be dragged from place to place or even thrown in the trash can; drag-and-drop and copy-and-paste. Parts of all this had appeared before in other products, such as the Xerox Star, but never before had it all come together like this. After the Lisa, further refinements of the GUI would all be details; the really essential, really important pieces were all in place. It instantly made all of the industry’s many other GUI projects, including Microsoft’s, look hopelessly clunky.

Thanks not least to that $10,000 price tag, the Lisa itself was doomed to be a commercial failure. But Apple was promising a new machine for 1984, one which would be cheaper and would employ the same interface without the speed-sapping virtual memory and multitasking. For obvious reasons, the prospect of this next Apple computer, to be called the Macintosh, made plenty of people in the MS-DOS world, among them Bill Gates, very nervous.

One can view much of the history of the personal computer in the United States through the shifting profiles of Bill Gates and Steve Jobs, those two personalities who will always be most identified with a whole era of technology in the public imagination. Just a few years hence from 1983, Jobs would be widely viewed as a has-been in his early thirties, a flighty hippie whom the adults who were now running Apple had wisely jettisoned; Gates, on the other hand, would be a darling of Wall Street well on the way to his reputation as the computer industry’s all-powerful Darth Vader. In 1983, however, the picture was very different. Jobs was still basking in the glory of having been one half — and by far the most charismatic half at that — of the pair of dreamers who had supposedly invented the personal computer in that famous Cupertino garage of theirs, while Gates was the obscure head of a rather faceless company whose importance was understood only by industry insiders. None could foresee the utter domination of virtually all personal computing that would soon be within Gates’s grasp. He was still balanced on the divide between his old way of doing business, as the head of an equal-opportunity purveyor of programming languages and other software to whoever cared to pay for them, and his new, as the supreme leader in the cause of one platform to rule them all under the banner of Microsoft.

This list of the top software companies of 1983 provides a fascinating snapshot of an industry in rapid transition. VisiCorp, which would easily have topped the list in any of the three previous years, has fallen back to number 5, already a spent force. Lotus, the spreadsheet-making rival responsible for their downfall, will take over the top spot in 1984 and remain there through 1986. The biggest company of all this year is the now-forgotten MicroPro, maker of WordStar, the most popular early word processor; they will be wiped out by WordPerfect, which doesn’t even make this list yet, within a year or two. Finally, note the number of home- and entertainment-software publishers which manage to sneak onto the bottom half of this list. In years to come, the business-software market will continue to explode so dramatically in contrast to a comparatively slow-growing home-computing software market as to make that a thing of the past.

So, Jobs still had the edge on Gates in lots of ways in 1983, and he wasn’t afraid to let him know. He expected Microsoft to support the Macintosh in the form of application software. Specifically, he expected them to provide a spreadsheet, a business-graphics application, and a database; they’d signed a contract to do so, and been provided with their first extremely crude prototype of the new machine in return, back in January of 1982. According to Mike Murray, the Mac’s first marketing manager, Jobs would call Gates up and hector him in a way that no one would have dared talk to the Bill Gates of just a few years later: “You get down here right now. I don’t care what your schedule says. I want you down here tomorrow morning at 8:30 and I want you to tell me exactly what you’re doing [for the Macintosh] at Microsoft.”

For his part, Gates was willing to play the role of Jobs’s good junior partner, just as he had played the same role so dutifully for IBM, but he never lost sight of the big picture. The fact was that when it came to business sense, the young Bill Gates was miles ahead of the young Steve Jobs. One can’t help but imagine him smiling to himself when Jobs lectured him on how he should forget about MS-DOS and the rest of the system-software business, how application software was where the money was really at. Gates knew something which Jobs had apparently yet to realize: if you control the operating system on people’s computers, you can potentially control everything.

Still, Jobs was aware enough of business realities to see an environment like the Interface Manager, available on commodity clone hardware much cheaper than the Macintosh, as a significant threat. He reminded Gates pointedly of language in the January 1982 contract between the two companies which prohibited Microsoft from using knowledge gained of the Macintosh in competing products for other platforms. Gates respectfully but firmly held his ground, not even precisely denying that insights gained from the Macintosh might find their way into the Interface Manager but rather saying that the “competing products” mentioned in the contract would naturally have to mean other spreadsheets, business-graphic applications, or databases — not full-fledged operating environments. Further, he pointed out, the restrictions only applied until January 1, 1984, or the first shipment of the Macintosh, whichever came first. By the time the Interface Manager was actually ready to sell, it would all be a moot point anyway.

It was at about this time that the Interface Manager became suddenly no longer the Interface Manager. The almost aggressively generic name of “Windows” was the brainchild of a new marketing manager named Rowland Hanson, who was just 31 years old when he came to Microsoft but had already left his stamp on such brands as Betty Crocker, Contadina, and Neutrogena. At his first interview with Bill Gates, the latter’s words immediately impressed him:

You know, the only difference between a dollar-an-ounce moisturizer and a forty-dollar-an-ounce moisturizer is in the consumer’s mind. There is no technical difference between moisturizers. We will technically be the best software. But if people don’t believe it or people don’t recognize it, it won’t matter. While we’re on the leading edge of technology, we also have to be creating the right perception about our products and our company, the right image.

Who would have thought that this schlubby-looking nerd understood so much about marketing? Having taken the interview on a lark, Hanson walked out of Gates’s office ready to help him create a new, slicker image for Microsoft. He knew nothing whatsoever about computers, but that didn’t matter. He hadn’t known anything about moisturizers either when he went to work for Neutrogena.

Hanson devised the approach to product branding that persists at Microsoft to this day. Each product’s name would be stripped down to its essence, creating the impression that it was the definitive — or the only — product of its type. The only ornamentation would be the Microsoft name, to make sure no one forgot who made it. Thus Multi-Tool Word, after just a few months on the market under that unwieldy name, now became simply Microsoft Word. If he had arrived just a little earlier, Hanson grumbled, he would have been able to make sure that Multiplan shipped as Microsoft Spreadsheet, and MS-DOS — the software that “tells the IBM PC how to think” in his new marketing line — would have had the first part of the abbreviation spelled out every single time: Microsoft DOS. Luckily, there was still time to save the next generation of Microsoft system software from the horrid name of Interface Manager. It should rather be known simply as Microsoft Windows. “It appeared there were going to be multiple systems like this on the market,” remembers Hanson. “Well, we wanted our name basically to define the generic.” Gates agreed, and one of the most enduring brands in the history of computing was born.

The Windows project had run hot and cold inside Microsoft over the past couple of years in the face of other pressing priorities. Now, though, Gates started pushing hard under the prompting of external developments. The Macintosh was scheduled to make its debut in January of 1984. Just as worryingly, VisiCorp planned to ship Visi On at last before 1983 was up, and had scheduled a big, much-anticipated unveiling of the final product for the Comdex business-computing trade show which would begin on November 23. Determined to avoid the impression that Microsoft was being left behind by the GUI arms race, and even more determined to steal VisiCorp’s thunder, Gates wanted a Windows unveiling before Comdex. To help accomplish that, he hired another refugee from Xerox named Scott MacGregor and put him in charge of the project’s technical architecture. At 26 years old, MacGregor was a little too young even by the early-blooming standards of hacker culture to have made a major contribution during the glory days of Xerox PARC, but he had done the next best thing: he had designed the windowing system for the Star office workstation, the only tangible commercial product Xerox themselves ever developed out of all the work done with mice and menus at PARC. Other Xerox veterans would soon join MacGregor on the Windows project, which spent the late summer and early autumn of 1983 in a mad scramble to upstage its various competitors.

On November 10, at a lavish event inside New York City’s posh Helmsley Palace Hotel, Microsoft officially announced Windows, saying it would be available for purchase by April of 1984 and that it would run on a computer without a hard drive and with as little as 192 K of memory — a stark contrast to Visi On’s minimum specification of a hard-drive-equipped 512 K machine. And, unlike under Visi On, all applications, even those not specifically written for Windows, would be able to run in the environment, at least after a fashion. “Misbehaved” programs, as Microsoft referred to what was actually the entirety of the MS-DOS application market at the time of the unveiling, could be started through Windows but would run in full-screen mode and not have access to its features; Windows would effectively shut down when the time came to run such an application, then start itself back up when the user exited. It wasn’t ideal, but it struck most people as an improvement on Visi On’s our-way-or-the-highway approach.

The dirty little secret hiding behind this very first demonstration of Windows was that the only actual Windows application that existed at the time was a little paint program Microsoft’s programmers had put together, along with a few applets like a calendar, a calculator, and an extremely basic text editor. Microsoft had, they claimed, “commitments” from such big players as Lotus, Ashton-Tate, and Peachtree to port their vanilla MS-DOS applications to Windows, but the reality was that none of these took the form of much more than a vague promise and a handshake.

The work Bill Gates had been doing to line up support from the emerging community of clone makers was in plainer evidence. Microsoft could announce that no fewer than 23 of their current MS-DOS licensees had signed up to ship Windows on their machines as well, including names like Compaq, Data General, Hewlett-Packard, Radio Shack/Tandy, Wang, and Zenith. The only important licensee absent from the list was the biggest of them all, IBM — a fact which the business and technology press could hardly fail to notice. Yet the plan was, as Gates didn’t hesitate to declare, to have Windows on 90 percent of all MS-DOS machines by the end of 1984. Where did that leave IBM? Among the trailing 10 percent?

As it happened, Microsoft was still trying to get IBM onboard the Windows train. The day after the big rollout, Gates flew from New York to Boca Raton, Florida, where the division of IBM responsible for their microcomputers was located, and made another pitch. Perhaps he believed that the good press stemming from the previous day’s festivities, which was to be found in the business and technology sections of this day’s newspapers all over the country, would sway them. If so, he was disappointed. Once again, IBM was noncommittal in all senses of the adjective, alluding vaguely to a potential similar product of their own. Then, a few days after Gates left them, IBM announced that they would distribute Visi On through their dealer network. This move was several steps short of anointing it the only or the official GUI of the IBM PC, but it was nevertheless a blessing of a certain type, and far more than IBM had yet agreed to do for Windows. It was becoming abundantly clear that IBM was, at the very least, hedging their bets.

A week later, the Comdex show opened in Las Vegas, with the finished Visi On on public display for the first time. Just a few booths down from that spectacle, Microsoft, still determined to undermine Visi On’s debut, showed Windows as well. Indeed, Windows was everywhere at Comdex; “You couldn’t take a leak in Vegas without seeing a Windows sticker,” remembers one Microsoft executive. Yet the actual product behind all the hype was presented only in the most circumscribed way. Microsoft employees ran through a carefully scripted spiel inside the Windows booth, making sure the public got nowhere close to the controls of the half-finished (at best) piece of software.

Still, Microsoft had some clear advantages to point out when it came to Windows, and point them out they did. For one, there was the aforementioned ability to run — or at least to start — non-Windows applications within the environment. For another, true multitasking would be possible under Windows, claimed Microsoft, not just the concurrently open applications of Visi On. And it would be possible, they said, to write Windows programs on the selfsame Windows computer on which they would run, in contrast to the $20,000 minicomputer one had to buy to develop for Visi On. This led Microsoft to refer to Windows as the open GUI, a system carrying forward the original promise of the personal computer as an anything tool for ordinary users.

In the nuts and bolts of their interfaces as well, the two systems presented contrasting approaches. The Visi On interface strongly resembled something that might have been seen at Xerox PARC in the 1970s, but Windows betrayed the undeniable influence of Apple’s recent work on the Lisa and, as would later become clear, the Macintosh — not hugely surprising, given that Microsoft had been able to follow the step-by-step evolution of the latter since January of 1982, thanks to their privileged position as contracted application developers for the new machine. Windows already seemed to operate a bit more intuitively than the rather awkward Visi On; Microsoft already understood, as their competitor so plainly did not, that a mouse could be used for things other than single clicks.

In other ways, though, Windows was less impressive than Visi On, not to mention the Lisa and Macintosh. And one of these ways was, ironically given the new product’s name, the windows themselves. They weren’t allowed to overlap one another — at all. In what Microsoft spun as the “automatic window layout” feature, sizing one window would cause all of the others to resize and reposition themselves in response. Nor could you freely drag windows around the screen like you could on the Lisa and Macintosh. “It’s the metaphor of the neat desktop,” said Steve Ballmer, spinning like mad. Neat or not, this wasn’t quite the way most people expected a window manager to work — and yet Microsoft would stick with it for a well-nigh absurdly long time to come.

A Quick Tour of Windows as Shown at the 1983 Comdex Show


None other than Dan Bricklin of VisiCalc fame visited the November 1983 Comdex show with a camcorder. The footage he took is a precious historical document, not least in showing Windows in action as it existed at the time of these first public demonstrations. Much must still be surmised thanks to the shaky camerawork and the fact that the public was kept at arm’s length from a far-from-complete piece of software, but we’re very lucky Bricklin and his camcorder were there that day. We learn from his footage that Windows had progressed hugely since the screenshot shown earlier in this article, showing the clear influence of Apple’s Lisa and Macintosh interfaces.

Windows apparently boots up to a blank screen with a row of (non-draggable) icons at the bottom, each representing an installed application.

Here a text editor, a clock applet, and a paint program have been opened. Unlike in Visi On and Apple’s GUIs, windows cannot overlap one another. On the other hand, note that the menu bar has been moved to the top of the window, where we expect it to be today. On the other other hand, it appears that the menu still provides single-click options only, not drop-down lists of choices. Note how cluttered the two-line text-editor menu at the top is.

At the bottom of each window (just to the left of the mouse pointer in the photograph) is a set of widgets. From left, these are: minimize the window; maximize the window (minimizing all of the others in the process, since windows are not allowed to overlap one another); automatically “tile” the window with the others that are open (it’s not entirely clear how this worked); initiate a resize operation; close the window. Despite the appearance of a resizing widget in this odd location, it does appear from other video evidence that it was already possible to size a window by dragging on its border. Whether one first had to click the resizing widget to initiate such an operation is, once again, unclear.

A scroll bar is in place, but it’s at the left rather than the right side of the window.

A few weeks after Comdex closed up shop, VisiCorp shipped Visi On, to cautiously positive press notices behind which lurked all of the concerns that would prove the product’s undoing: its high price; its high system requirements and slow performance even on a hot-rod machine; its lack of compatibility with vanilla MS-DOS applications; the huge hardware hurdle developers had to leap to make applications for the system. Bill Gates, in other words, needn’t worry himself overmuch on that front.

But a month after Visi On made its underwhelming debut, the Apple Macintosh made its overwhelming version of same in the form of that famous “1984” television advertisement, which aired to an audience of 96 million viewers during the third quarter of the Super Bowl. Two days later, when the new computer was introduced in a slightly more orderly way at De Anza College’s Flint Auditorium, Bill Gates was there to support his sometime friend, sometime rival Steve Jobs in the biggest moment of his busy life to date. Versions of Microsoft Multiplan and BASIC for the Macintosh, Gates could announce there, would be available from the day the new computer shipped.

The announcement of the Mac version of Microsoft BASIC at the ceremony marked one of the last gasps of the old Microsoft business model which dated back to the days of the Altair kit computer, when they would supply a BASIC as a matter of course for every new microcomputer to come down the pipe. [1]That said, it wasn’t quite the last gasp: Microsoft would also supply a BASIC for the Commodore Amiga, constituting the only piece of software they would ever develop for that machine, shortly after its release in 1985. But more important than the BASIC or even the Mac Multiplan was the mere fact that Microsoft was there at all in Flint Auditorium, getting their piece of the action. Bill Gates was doing what he always did, seeking to control those parts of the industry which he could and exploit those parts which he couldn’t. He didn’t know whether the Macintosh was destined to take over business computing entirely, as some were claiming, or whether its flaws, all too easily overlooked under the auditorium’s bright lights, would undermine its prospects in the end. Certainly those flaws were legion when you dug below the surface, including but not limited to a price which was, if vastly less than that of the Lisa, still far more than a typical MS-DOS machine; the lack of a hard drive; the straitened memory of just 128 K; the lack of amenability to expansion, which only exacerbated the previous three flaws; the lack of multitasking or even the ability to open concurrent programs; and an interface which corporate America might read as too friendly, crossing past the friend zone into cutesy and unbusinesslike. But what Bill Gates did know, with every bit as much certainty as Steve Jobs, was that the GUI in the abstract was the future of computing.

In June of 1984, with Windows having missed its release target of two months previous but still hopefully listed in Microsoft’s catalog as “coming soon,” Gates and Steve Ballmer wrote an internal memo which described in explicit, unvarnished detail their future strategy of playing the Macintosh and Windows off against one another:

Microsoft believes in the mouse and graphics as invaluable to the man-machine interface. We will bet on that belief by focusing new development on the two new environments with the mouse and graphics: Macintosh and Windows.

This also makes sense from a marketing perspective. Our focus will be on the business user, a customer who can afford the extra hardware expense of a mouse and high-resolution screen, and who will pay premium prices for quality easy-to-use software.

Microsoft will not invest significant development resources in new Apple II, MSX, CP/M-80, or character-based IBM PC applications. We will finish development and do a few enhancements to existing products.

Over the foreseeable future, our plan is to implement products first for the Mac and then to port them to Windows. We are taking care in the design of the Windows user interface to make this as easy as possible.

In his more unguarded moments, Gates would refer to Windows as “Mac on the [IBM] PC.”

Just one worrisome unknown continued to nag at him: what role would IBM play in his GUI-driven world of the future?

(Sources: the books The Making of Microsoft: How Bill Gates and His Team Created the World’s Most Successful Software Company by Daniel Ichbiah and Susan L. Knepper, Hard Drive: Bill Gates and the Making of the Microsoft Empire by James Wallace and Jim Erickson, Gates: How Microsoft’s Mogul Reinvented an Industry and Made Himself the Richest Man in America by Stephen Manes and Paul Andrews, and Apple Confidential 2.0: The Definitive History of the World’s Most Colorful Company by Owen W. Linzmayer; PC World of September 1983; InfoWorld of May 30 1983, November 21 1983, April 2 1984, October 21 1991, and November 20 1995; MacWorld of September 1991; Byte of December 1983. Finally, I owe a lot to Nathan Lineback for the histories, insights, comparisons, and images found at his wonderful online “GUI Gallery.”)

Footnotes

Footnotes
1 That said, it wasn’t quite the last gasp: Microsoft would also supply a BASIC for the Commodore Amiga, constituting the only piece of software they would ever develop for that machine, shortly after its release in 1985.
 

Tags: , , ,

Doing Windows, Part 1: MS-DOS and Its Discontents

Has any successful piece of software ever deserved its success less than the benighted, unloved exercise in minimalism that was MS-DOS? The program that started its life as a stopgap under the name of “The Quick and Dirty Operating System” at a tiny, long-forgotten hardware maker called Seattle Computer Products remained a stopgap when it was purchased by Bill Gates of Microsoft and hastily licensed to IBM for their new personal computer. Archaic even when the IBM PC shipped in October of 1981, MS-DOS immediately sent half the software industry scurrying to come up with something better. Yet actually arriving at a viable replacement would absorb a decade’s worth of disappointment and disillusion, conflict and compromise — and even then the “replacement” would still have to be built on top of the quick-and-dirty operating system that just wouldn’t die.

This, then, is the story of that decade, and of how Microsoft at the end of it finally broke Windows into the mainstream.


When IBM belatedly turned their attention to the emerging microcomputer market in 1980, it was both a case of bold new approaches and business-as-usual. In the willingness they showed to work together with outside partners on the hardware and especially the software front, the IBM PC was a departure for them. In other ways, though, it was a continuation of a longstanding design philosophy.

With the introduction of the System/360 line of mainframes back in 1964, IBM had in many ways invented the notion of a computing platform: a nexus of computer models that could share hardware peripherals and that could all run the same software. To buy an IBM system thereafter wasn’t so much to buy a single computer as it was to buy into a rich computing ecosystem. Long before the saying went around corporate America that “no one ever got fired for buying Microsoft,” the same was said of IBM. When you contacted them, they sent a salesman or two out to discuss your needs, desires, and budget. Then, they tailored an installation to suit and set it up for you. You paid a bit more for an IBM, but you knew it was safe. System/360 models were available at prices ranging from $2500 per month to $115,000 per month, with the latter machine a thousand times more powerful than the former. Their systems were thus designed, as all their sales literature emphasized, to grow with you. When you needed more computer, you just contacted the mother ship again, and another dark-suited fellow came out to help you decide what your latest needs really were. With IBM, no sharp breaks ever came in the form of new models which were incompatible with the old, requiring you to remake from scratch all of the processes on which your business depended. Progress in terms of IBM computing was a gradual evolution, not a series of major, disruptive revolutions. Many a corporate purchasing manager loved them for the warm blanket of safety, security, and compatibility they provided. “Once a customer entered the circle of 360 users,” noted IBM’s president Thomas Watson Jr., “we knew we could keep him there a very long time.”

The same philosophy could be seen all over the IBM PC. Indeed, it would, as much as the IBM name itself, make the first general-purpose IBM microcomputer the accepted standard for business computing on the desktop, just as were their mainframe lines in the big corporate data centers. You could tell right away that the IBM PC was both built to last and built to grow along with you. Opening its big metal case revealed a long row of slots just waiting to be filled, thereby transforming it into exactly the computer you needed. You could buy an IBM PC with one or two floppy drives, or more, or none; with a color or a monochrome display card; with anywhere from 16 K to 256 K of RAM.

But the machine you configured at time of purchase was only the beginning. Both IBM and a thriving aftermarket industry would come to offer heaps more possibilities in the months and years that followed the release of the first IBM PC: hard drives, optical drives, better display cards, sound cards, ever larger RAM cards. And even when you finally did bite the bullet and buy a whole new machine with a faster processor, such as 1984’s PC/AT, said machine would still be able to run the same software as the old, just as its slots would still be able to accommodate hardware peripherals scavenged from the old.

Evolution rather than revolution. It worked out so well that the computer you have on your desk or in your carry-on bag today, whether you prefer Windows, OS X, or Linux, is a direct, lineal descendant of the microcomputer IBM released more than 35 years ago. Long after IBM themselves got out of the PC game, and long after sexier competitors like the Commodore Amiga and the first and second generation Apple Macintosh have fallen by the wayside, the beast they created shambles on. Its long life is not, as zealots of those other models don’t hesitate to point out, down to any intrinsic technical brilliance. It’s rather all down to the slow, steady virtues of openness, expandibility, and continuity. The timeline of what’s become known as the “Wintel” architecture in personal computing contains not a single sharp break with the past, only incremental change that’s been carefully managed — sometimes even technologically compromised in comparison to what it might have been — so as not to break compatibility from one generation to the next.

That, anyway, is the story of the IBM PC on the hardware side, and a remarkable story it is. On the software side, however, the tale is more complicated, thanks to the failure of IBM to remember the full lesson of their own System/360.

At first glance, the story of the IBM PC on the software side seems to be just another example of IBM straining to offer a machine that can be made to suit every potential customer, from the casual home user dabbling in games and BASIC to the most rarefied corporate purchaser using it to run mission-critical applications. Thus when IBM announced the computer, four official software operating paradigms were also announced. One could use the erstwhile quick-and-dirty operating system that was now known as MS-DOS; [1]MS-DOS was known as PC-DOS when sold directly under license by IBM. Its functionality, however, was almost or entirely identical to the Microsoft-branded version. For simplicity’s sake, I will just refer to “MS-DOS” whenever speaking about either product — or, more commonly, both — in the course of this series of articles. one could use CP/M, the standard for much of pre-IBM business microcomputing, from which MS-DOS had borrowed rather, shall we say, extensively (remember the latter’s original name?); one could use an innovative cross-platform environment, developed by the University of California San Diego’s computer-science department, that was based around the programming language Pascal; or one could choose not to purchase any additional operating software at all, instead relying on the machine’s built-in ROM-hosted Microsoft BASIC environment, which wasn’t at all dissimilar from those the same company had already provided for many or most of the other microcomputers on the market.

In practice, though, this smorgasbord of possibilities only offered one remotely appetizing entree in the eyes of most users. The BASIC environment was really suited only to home users wanting to tinker with simple programs and save them on cassettes, a market IBM had imagined themselves entering with their first microcomputer but had in reality priced themselves out of. The UCSD Pascal system was ahead of its time with its focus on cross-platform interoperability, accomplished using a form of byte code that would later inspire the Java virtual machine, but it was also rather slow, resource-hungry, and, well, just kind of weird — and it was quite expensive as well. CP/M ought to have been poised for success on the new machine given its earlier dominance, but its parent company Digital Research was unconscionably late making it available for the IBM PC, taking until well after the machine’s October 1981 launch to get it ported from the Zilog Z-80 microprocessor to the Intel architecture of the IBM PC and its successor models — and when CP/M finally did appear it was, once again, expensive.

That left MS-DOS, which worked, was available, and was fairly cheap. As corporations rushed out to purchase the first safe business microcomputer at a pace even IBM had never anticipated, MS-DOS relegated the other three solutions to a footnote in computing history. Nobody’s favorite operating system, it was about to become the most popular one in the world.

The System/360 line that had made IBM the 800-pound gorilla of large-scale corporate data-processing had used an operating system developed in-house by them with an eye toward the future every bit as pronounced as that evinced by the same line’s hardware. The emerging IBM PC platform, on the other hand, had gotten only half of that equation down. MS-DOS was locked into the 1 MB address space of the Intel 8088, allowing any computer on which it ran just 640 K of RAM at the most. When newer Intel processors with larger address spaces began to appear in new IBM models as early as 1984, software and hardware makers and ordinary users alike would be forced to expend huge amounts of time and effort on ugly, inefficient hacks to get around the problem.

Infamous though the 640 K barrier would become, memory was just one of the problems that would dog MS-DOS programmers throughout the operating system’s lifetime. True to its post-quick-and-dirty moniker of the Microsoft Disk Operating System, most of its 27 function calls involved reading and writing to disks. Otherwise, it allowed programmers to read the keyboard and put text on the screen — and not much of anything else. If you wanted to show graphics or play sounds, or even just send something to the printer, the only way to do it was to manually manipulate the underlying hardware. Here the huge amount of flexibility and expandability that had been designed into the IBM PC’s hardware architecture became a programmer’s nightmare. Let’s say you wanted to put some graphics on the screen. Well, a given machine might have an MDA monochrome video card or a CGA color card, or, soon enough, a monochrome Hercules card or a color EGA card. You the programmer had to build into your program a way of figuring out which one of these your host had, and then had to write code for dealing with each possibility on its own terms.

An example of how truly ridiculous things could get is provided by WordPerfect, the most popular business word processor from the mid-1980s on. WordPerfect Corporation maintained an entire staff of programmers whose sole job function was to devour the technical specifications and command protocols of each new printer that hit the market and write drivers for it. Their output took the form of an ever-growing pile of disks that had to be stuffed into every WordPerfect box, even though only one of them would be of any use to any given buyer. Meanwhile another department had to deal with the constant calls from customers who had purchased a printer for which they couldn’t find a driver on their extant mountain of disks, situations that could be remedied in the era before widespread telecommunications only by shipping off yet more disks. It made for one hell of a way to run a software business; at times the word processor itself could almost feel like an afterthought for WordPerfect Printer Drivers, Inc.

But the most glaringly obvious drawback to MS-DOS stared you in the face every time you turned on the computer and were greeted with that blinking, cryptic “C:\>” prompt. Hackers might have loved the command line, but it was a nightmare for a secretary or an executive who saw the computer only as an appliance. MS-DOS contrived to make everything more difficult through its sheer primitive minimalism. Think of the way you work with your computer today. You’re used to having several applications open at once, used to being able to move between them and cut and paste bits and pieces from one to the other as needed. With MS-DOS, you couldn’t do any of this. You could run just one application at a time, which would completely fill the screen. To do something else, you had to shut down the application you were currently using and start another. And if what you were hoping to do was to use something you had made in the first application inside the second, you could almost always forget about it; every application had its own proprietary data formats, and MS-DOS didn’t provide any method of its own of moving data from one to another.

Of course, the drawbacks of MS-DOS spelled opportunity for those able to offer ways to get around them. Thus Lotus Corporation became one of the biggest software success stories of the 1980s by making Lotus 1-2-3, an unwieldy colossus that integrated a spreadsheet, a database manager, and a graph- and chart-maker into a single application. People loved the thing, bloated though it was, because all of its parts could at least talk to one another.

Other solutions to the countless shortcomings of MS-DOS, equally inelegant and partial, were rampant by the time Lotus 1-2-3 hit it big. Various companies published various types of hacks to let users keep multiple applications resident in memory, switching between them using special arcane key sequences. Various companies discussed pacts to make interoperable file formats for data transfer between applications, although few of them got very far. Various companies made a cottage industry out of selling pre-packaged printer drivers to other developers for use in their applications. People wrote MS-DOS startup scripts that brought up easy-to-choose-from menus of common applications on bootup, thereby insulating timid secretaries and executives alike from the terrifying vagueness of the command line. And everybody seemed to be working a different angle when it came to getting around the 640 K barrier.

All of these bespoke solutions constituted a patchwork quilt which the individual user or IT manager would have to stitch together for herself in order to arrive at anything like a comprehensive remedy for MS-DOS’s failings. But other developers had grander plans, and much of their work quickly coalesced around various forms of the graphical user interface. Initially, this fixation may sound surprising if not inexplicable. A GUI built using a mouse, menus, icons, and windows would seem to fix only one of MS-DOS’s problems, that being its legendary user-unfriendliness. What about all the rest of its issues?

As it happens, when we look closer at what a GUI-based operating environment does and how it does it, we find that it must or at least ought to carry with it solutions to MS-DOS’s other issues as well. A windowed environment ideally allows multiple applications to be open at one time, if not actually running simultaneously. Being able to copy and paste pieces from one of those open applications to another requires interoperable data formats. Running or loading multiple applications also means that one of them can’t be allowed to root around in the machine’s innards indiscriminately, lest it damage the work of the others; this, then, must mark the end of the line for bare-metal programming, shifting the onus onto the system software to provide a proper layer of high-level function calls insulating applications from a machine’s actual or potential hardware. And GUIs, given that they need to do all of the above and more, are notoriously memory-hungry, which obligated many of those who made such products in the 1980s to find some way around MS-DOS’s memory constraints. So, a GUI environment proves to be much, much more than just a cutesy way of issuing commands to the computer. Implementing one on an IBM PC or one of its descendants meant that the quick-and-dirty minimalism of MS-DOS had to be chucked forever.

Some casual histories of computing would have you believe that the entire software industry was rigidly fixated on the command line until Steve Jobs came along to show them a better way with the Apple Macintosh, whereupon they were dragged kicking and screaming into computing’s necessary future. Such histories generally do acknowledge that Jobs himself got the GUI religion after a visit to the Xerox Palo Alto Research Center in December of 1979, but what tends to get lost is the fact that he was hardly alone in viewing PARC’s user-interface innovations as the natural direction for computing to go in the more personal, friendlier era of high technology being ushered in by the microcomputer. Indeed, by 1981, two years before a GUI made its debut on an Apple product in the form of the Lisa, seemingly everyone was already talking about them, even if the acronym itself had yet to be invented. This is not meant to minimize the hugely important role Apple really would play in the evolution of the GUI; as we’ll see to a large extent in the course of this very series of articles, they did much original formative work that has made its way into the computer you’re probably using to read these words right now. It’s rather just to say that the complete picture of how the GUI made its way to the personal computer is, as tends to happen when you dig below the surface of any history, more variegated than a tidy narrative of “A caused B which caused C” allows for.

In that spirit, we can note that the project destined to create the MS-DOS world’s first GUI was begun at roughly the same time that a bored and disgruntled Steve Jobs over at Apple, having been booted off the Lisa project, seized control of something called the Macintosh, planned at the time as an inexpensive and user-friendly computer for the home. This other pioneering project in question, also started during the first quarter of 1981, was the work of a brief-lived titan of business software called VisiCorp.

VisiCorp had been founded by one Dan Fylstra under the name of Personal Software in 1978, at the very dawn of the microcomputer age, as one of the first full-service software publishers, trafficking mostly in games which were submitted to him by hobbyists. His company became known for their comparatively slick presentation in a milieu that was generally anything but; MicroChess, one of their first releases, was quite probably the first computer game ever to be packaged in a full-color box rather than a Ziploc baggie. But their course was changed dramatically the following year when a Harvard MBA student named Dan Bricklin contacted Fylstra with a proposal for a software tool that would let accountants and other businesspeople automate most of the laborious financial calculations they were accustomed to doing by hand. Fylstra was intrigued enough to lend the microcomputer-less Bricklin one of his own Apple IIs — whereupon, according to legend at least, the latter proceeded to invent the electronic spreadsheet over the course of a single weekend. He hired a more skilled programmer named Bob Frankston and formed a company called Software Arts to develop that rough prototype into a finished application, which Fylstra’s Personal Software published in October of 1979.

Up to that point, early microcomputers like the Apple II, Radio Shack TRS-80, and Commodore PET had been a hard sell as practical tools for business — even for their most seemingly obvious business application of all, that of word processing. Their screens could often only display 40 columns of big, blocky characters, often only in upper case — about as far away from the later GUI ideal of “what you see is what you get” as it was possible to go — while their user interfaces were arcane at best and their minuscule memories could only accommodate documents of a few pages in length. Most potential business users took one look at the situation, added on the steep price tag for it all, and turned back to their typewriters with a shrug.

VisiCalc, however, was different. It was so clearly, manifestly a better way to do accounting that every accountant Fylstra showed it to lit up like a child on Christmas morning, giggling with delight as she changed a number here or there and watched all of the other rows and columns update automagically. VisiCalc took off like nothing the young microcomputer industry had ever seen, landing tens of thousands of the strange little machines in corporate accounting departments. As the first tangible proof of what personal computing could mean to business, it prompted people to begin asking why IBM wasn’t a part of this new party, doing much to convince the latter to remedy that absence by making a microcomputer of their own. It’s thus no exaggeration to say that the entire industry of business-oriented personal computing was built on the proof of concept that was VisiCalc. It would sell 500,000 copies by January of 1983, an absolutely staggering figure for that time. Fylstra, seeing what was buttering his bread, eventually dropped all of the games and other hobbyist-oriented software from his catalog and reinvented Personal Software as VisiCorp, the first major publisher of personal-computer business applications.

But all was not quite as rosy as it seemed at the new VisiCorp. Almost from the moment of the name change, Dan Fylstra found his relationship with Dan Bricklin growing strained. The latter was suspicious of his publisher’s rebranding themselves in the image of his intellectual property, feeling they had been little more than the passive beneficiaries of his brilliant stroke. This point of view was by no means an entirely fair one. While it may have been true that Fylstra had been immensely lucky to get his hands on Bricklin’s once-in-a-lifetime innovation, he’d also made it possible by loaning Bricklin an Apple II in the first place, then done much to make VisiCalc palatable for corporate America through slick, professional packaging and marketing that projected exactly the right conservative, businesslike image, consciously eschewing the hippie ethos of the Homebrew Computer Club. Nevertheless, Bricklin, perhaps a bit drunk on all the praise of his genius, credited VisiCorp’s contribution to VisiCalc’s success but little. And so Fylstra, nervous about continuing to stake his entire company on Bricklin, set up an internal development team to create more products for the business market.

By the beginning of 1981, the IBM PC project which VisiCalc had done so much to prompt was in full swing, with the finished machine due to be released before the end of the year. Thanks to their status as publisher of the hottest application in business software, VisiCorp had been taken into IBM’s confidence, one of a select number of software developers and publishers given access to prototype hardware in order to have products ready to go on the day the new machine shipped. It seems that VisiCorp realized even at this early point how underwhelming the new machine’s various operating paradigms were likely to be, for even before they had actual IBM hardware to hand, they started mocking up the GUI environment that would become known as Visi On using Apple II and III machines. Already at this early date, it reflected a real, honest, fundamental attempt to craft a more workable model for personal computing than the nightmare that MS-DOS alone could be. William Coleman, the head of the development team, later stated in reference to the project’s founding goals that “we wanted users to be able to have multiple programs on the screen at one time, ease of learning and use, and simple transfer of data from one program to another.”

Visi On seemed to have huge potential. When VisiCorp demonstrated an early version, albeit far later than they had expected to be able to, at a trade show in December of 1982, Dan Fylstra remembers a rapturous reception, “competitors standing in front of [the] booth at the show, shaking their heads and wondering how the company had pulled the product off.” It was indeed an impressive coup; well before the Apple Macintosh or even Lisa had debuted, VisiCorp was showing off a full-fledged GUI environment running on hardware that had heretofore been considered suitable only for ugly old MS-DOS.

Still, actually bringing a GUI environment to market and making a success out of it was a much taller order than it might have first appeared. As even Apple would soon be learning to their chagrin, any such product trying to make a go of it within the increasingly MS-DOS-dominated culture of mainstream business computing ran headlong into a whole pile of problems which lacked clearly best solutions. Visi On, like almost all of the GUI products that would follow for the IBM hardware architecture, was built on top of MS-DOS, using the latter’s low-level function calls to manage disks and files. This meant that users could install it on their hard drive and pop between Visi On and vanilla MS-DOS as the need arose. But a much thornier question was that of running existing MS-DOS applications within the Visi On environment. Those which assumed they had full control of the system — which was practically all of them, because why wouldn’t they? — would flame out as soon as they tried to directly access some piece of hardware that was now controlled by Visi On, or tried to put something in some specific place inside what was now a shared pool of memory, or tried to do any number of other now-forbidden things. VisiCorp thus made the hard decision to not even try to get existing MS-DOS applications to run under Visi On. Software developers would have to make new, native applications for the system; Visi On would effectively be a new computing platform onto itself.

This decision was questionable in commercial if not technical terms, given how hard it must be to get a new platform accepted in an MS-DOS-dominated marketplace. But VisiCorp then proceeded to make the problem even worse. It would only be possible to program Visi On, they announced, after purchasing an expensive development kit and installing it on a $20,000 DEC PDP-11 minicomputer. They thus opted for an approach similar to one Apple was opting for with the Lisa: to allow that machine to be programmed only by yoking it up to a second Lisa. In thus betraying the original promise of the personal computer as an anything machine which ordinary users could program to do their will, both Visi On and the Lisa operating system arguably removed their hosting hardware from that category entirely, converting it into a closed electronic appliance more akin to a game console. Taxonomical debates aside, the barriers to entry even for one who wished merely to use Visi On to run store-bought applications were almost as steep: when this first MS-DOS-based GUI finally shipped on December 16, 1983, after a long series of postponements, it required a machine with 512 K of memory and a hard drive to run and cost more than $1000 to buy.

Visi On was, as the technology pundits like to say, “ahead of the hardware market.” In quite a number of ways it was actually far more ambitious than what would emerge a month or so after it as the Apple Macintosh. Multiple Visi On applications could be open at the same time (although they didn’t actually run concurrently), and a surprisingly sophisticated virtual-memory system was capable of swapping out pages to hard disk if software tried to allocate more memory than was physically available on the computer. Similar features wouldn’t reach MacOS until 1987’s System 5 and 1991’s System 7 respectively.

In the realm of usability, however, Visi On unquestionably fell down in comparison to Apple’s work. The user interfaces for the Lisa and the Macintosh made almost all the right choices right from the beginning, expanding upon the work done at Xerox PARC in all the right ways. Many of the choices made by VisiCorp, on the other hand, feel far more dubious today — and, one has to believe, not just out of the contempt bred by all those intervening decades of user interfaces modeled on Apple’s. Consider the task of moving and sizing windows on the screen, which was implemented so elegantly on the original Lisa and Macintosh that it’s been changed not at all in all the decades since. While Visi On too allows windows to be sized and placed where you will, and allows them to overlay one another — something by no means true of all of the MS-DOS GUI systems that would follow — doing so is a clumsy process involving picking options out of menus rather than simply dragging title bars or sizing widgets. In fact, Visi On uses no icons whatsoever. For anyone still enamored with the old saw that Apple just ripped off the Xerox PARC interface in its entirety and stuck it on the Lisa and Mac, Visi On, being much more slavishly based on the PARC model, provides an instructive demonstration of how far the likes of the Xerox Alto still was from the intuitive ease of Apple’s interface.

A Quick Tour of Visi On


With mice still exotic creatures, VisiCorp provided their own to work with Visi On. Many other early GUI-makers, Microsoft among them, would follow their lead.

Visi On looks like this upon booting up on an original IBM PC with 640 K of memory and a CGA video card, running in high-resolution monochrome mode at 640 X 200. “Services” is Visi On’s terminology for installed applications. The list of them which you see here, all provided by VisiCorp themselves, are the only ones that would ever exist, thanks to Visi On’s complete commercial failure.

We’ve started up a spreadsheet, a graphing application, and a word processor at the same time. These don’t actually run concurrently, as they would under a true multitasking operating system, but are visible onscreen in their separate windows, becoming active when we click them. (Something similar would not have been possible under MacOS prior to 1987.)

Although Visi On does sport windows that can be sized and placed anywhere and can overlap one another, arranging them is made extremely tedious by its lack of any concept of mouse-dragging; the mouse can only be used for single clicks. So, you have to click the “Frame” menu option and see its instructions through step by step. Note also the lack of pull-down menus, another of Apple’s expansions upon the work down at Xerox PARC. Menus here are just one-shot commands, akin to what a modern GUI user would call a button.

Fortunately, you can make a window full-screen with just a couple of clicks. Unfortunately, you then have to laboriously re-“Frame” it when you want to shrink it again; it doesn’t remember where it used to be.

The lack of a mouse-drag affordance makes the “Transfer” function — Visi On’s version of copy-and-paste — extremely tedious.

And, as with most things in Visi On, transferring data is also slow. Moving that little snippet of text from the word processor to the spreadsheet took about ten seconds.

On the plus side, Visi On sports a help system that’s crazily comprehensive for its time — much more so than the one that would ship with MacOS or, for that matter, Microsoft Windows for quite some years.

As if it didn’t have enough intrinsic problems working against it, extrinsic ones also contrived to undo Visi On in the marketplace. By the time it shipped, VisiCorp was a shadow of what they had so recently been. VisiCalc sales had collapsed over the past year, going from nearly 40,000 units in December of 1982 alone to fewer than 6000 units in December of 1983 in the face of competing products — most notably the burgeoning juggernaut Lotus 1-2-3 — and what VisiCorp described as Software Arts’s failure to provide “timely upgrades” amidst a relationship that was growing steadily more tense. With VisiCorp’s marketplace clout thus dissipating like air out of a balloon, it was hardly the ideal moment for them to ask for the sorts of commitments from users and developers required by Visi On.

The very first MS-DOS-based GUI struggled along with no uptake whatsoever for nine months or so; the only applications made for it were the word processor, spreadsheet, and graphing program VisiCorp made themselves. In September of 1984, with VisiCorp and Software Arts now embroiled in a court battle that would benefit only their competitors, the Visi On technology was sold to a veteran manufacturer of mainframes and supercomputers called Control Data Corporation, who proceeded to do very little if anything with it. VisiCorp went bankrupt soon after, while Lotus bought out Software Arts for a paltry $800,000, thus ending the most dramatic boom-and-bust tale of the early business-software industry. “VisiCorp’s auspicious climb and subsequent backslide,” wrote InfoWorld magazine, “will no doubt become a ‘how-not-to’ primer for software companies of the future.”

Visi On’s struggles may have been exacerbated by the sorry state of its parent company, but time would prove them to be by no means atypical of MS-DOS-based GUI systems in general.  Already in February of 1984, PC Magazine could point to at least four other GUIs of one sort or another in the works from other third-party developers: Concurrent CP/M with Windows by Digital Research, VisuALL by Trillian Computer Corporation, DesqView by Quarterdeck Office Systems, and WindowMaster by Structured Systems. All of these would make different choices in trying to balance the seemingly hopelessly competing priorities of reasonable speed and reasonable hardware requirements, compatibility with MS-DOS applications and compatibility with post-MS-DOS philosophies of computing. None would find the sweet spot. Neither they nor the still more GUI environments that followed them would be able to offer a combination of features, ease of use, and price that the market found compelling, so much so that by 1985 the whole field of MS-DOS GUIs was coming to be viewed with disdain by computer users who had been disappointed again and again. If you wanted a GUI, went the conventional wisdom, buy a Macintosh and live with the paltry software selection and the higher price. The mainstream of business computing, meanwhile, continued to truck along with creaky old MS-DOS, a shaky edifice made still more unstable by all of the hacks being grafted onto it to expand its memory model or to force it to load more than one application at a time. “Windowing and desktop environments are a solution looking for a problem,” said Robert Lefkowits, director of software services for Infocorp, in the fall of 1985. “Users aren’t really looking for any kind of windowing environment to solve problems. Users are not expressing a need or desire for it.”

The reason they weren’t, of course, was because they hadn’t yet seen a GUI in which the pleasure outweighed the pain. Entrenched as users were in the old way of doing things, accepting as they had become of all of MS-DOS’s discontents as simply the way computing was, it was up to software developers to show them why a GUI was something they had never known they couldn’t live without. Microsoft at least, the very people who had saddled their industry with the MS-DOS albatross, were smart enough to realize that mainstream business computing must be remade in the image of the much-scoffed-at Macintosh at some point. Further, they understood that it behooved them to do the remaking if they didn’t want to go the way of VisiCorp. By the time Lefkowits said his words, the long, winding tale of dogged perseverance in the face of failure and frustration that would become the story of Microsoft Windows had already been playing out for several years. One of these days, the GUI was going to make its breakthrough in one way or another, and it was going to do so with a Microsoft logo on its box — even if Bill Gates had to personally ram it down his customers’ throats.

(Sources: the books The Making of Microsoft: How Bill Gates and His Team Created the World’s Most Successful Software Company by Daniel Ichbiah and Susan L. Knepper and Computer Wars: The Fall of IBM and the Future of Global Technology by Charles H. Ferguson and Charles R. Morris; InfoWorld of October 31 1983, November 14 1983, April 2 1984, July 2 1984, and October 7 1985; Byte of June 1983, July 1983; PC Magazine of February 7 1984, and October 2 1984; the episode of the Computer Chronicles television program called “Integrated Software.” Finally, I owe a lot to Nathan Lineback for the histories, insights, comparisons, and images found at his wonderful online “GUI Gallery.”)

Footnotes

Footnotes
1 MS-DOS was known as PC-DOS when sold directly under license by IBM. Its functionality, however, was almost or entirely identical to the Microsoft-branded version. For simplicity’s sake, I will just refer to “MS-DOS” whenever speaking about either product — or, more commonly, both — in the course of this series of articles.
 

Tags: , , ,