The Birth of Windows: From Vaporware to Reality
Few people understand Microsoft better than Tandy Trower, who worked at the company from 1981-2009. Trower was the product manager who ultimately shipped Windows 1.0, an endeavor that some advised him was a path toward a ruined career. Four product managers had already tried and failed to ship Windows before him, and he initially thought that he was being assigned an impossible task. In this follow-up to yesterday’s story on the future of Windows , Trower recounts the inside story of his experience in transforming Windows from vaporware into a product that has left an unmistakable imprint on the world, 25 years after it was first released.
Thanks to GUIdebook for letting us borrow many of the Windows images in this story.
In the late fall of 1984, I was just past three years in my employment with Microsoft. Considering the revolving doors in Silicon Valley at that time, I already had met or exceeded the typical time of employment with a high-tech company. Over that time I already had established a good track record, having started with product management of Microsoft’s flagship product, BASIC, and successfully introduced many versions including the so-called GW-BASIC which was licensed to PC clone vendors, various BASIC compilers, and a BASIC interpreter and compiler for the Apple Macintosh. As a result I had been given the overall responsibility for managingMicrosoft’s programming languages, which included FORTRAN, Pascal, COBOL, 8086 Macro Assembler, and its first C compiler for MS-DOS. It was at this point that things took a significant turn.
I had just gone through one of those infamous grueling project reviews with Bill Gates, who was known for his ability to cover all details related to product strategy, not only those on the technical side. Borland’s Turbo Pascal had just come out, seemed to be taking the market by storm, and looked like a possible competitor to Microsoft BASIC as the language that was shipped with every PC. While Microsoft had its own version of Pascal, it had been groomed as a professional developer’s tool, and in fact was the core language Microsoft wrote many of its own software products in before it was displaced by C.
At $50 for the Borland product vs. the Microsoft $400 compiler, it was a bit like comparing a VW to a Porsche. But while Turbo Pascal was lighter weight for serious development, it was almost as quick for programming and debugging as Microsoft’s BASIC interpreters. And Pascal was the programming language that most computer science students most typically studied. The new Borland product would require serious strategy revisions to the existing plans to port Microsoft Pascal to a new compiler architecture. But it also required thinking about how to address this with our BASIC products. Could a Turbo BASIC be on the horizon? In any case, Gates made it quite clear that he was not happy .
Returning to my office I was somewhat devastated. In the days that followed, as I tried to come up with a revised strategy, I was uncertain about whether I should even continue in this role. I had come to Microsoft from a consumer computer company where I had primarily managed a variety of entertainment and education software. Even in my early career at Microsoft I had managed its early PC games like Flight Simulator, Decathlon, and Typing Tutor. And I had loved managing BASIC, not just because it was the product the company was best known for, but because BASIC helped me get my own start in the PC business, and I believed it allowed a wide audience to tap into the power of PCs. Now my job had evolved to where I was managing a family of products mostly for a highly technical audience. So, I spoke with Steve Ballmer, then my direct manager and head of Microsoft’s product marketing group, and suggested that perhaps I was the wrong person for this job.
A couple of weeks later, Ballmer called me in and proposed that I transfer over to manage Windows. Sounds like a plum job right? Well, that wasn’t so obvious at the time. Windows had been announced the previous year with much fanfare and support from most of the existing PC vendors. However, by the time of my discussion with Steve, Windows still had not shipped within the promised timeframe and was starting to earn the reputation of being “vaporware.” In fact Ballmer had just returned from what we internally referred to as the “mea culpa” tour to personally apologize to analysts and press for the product not having shipped on time and to reinforce Microsoft’s definite plans to complete it soon.
Further, Microsoft’s strategy to get IBM to license Windows had failed. IBM had rejected Windows in favor of its own character-based DOS application windowing product called TopView. With IBM still the dominant PC seller, Microsoft would have to market Windows directly to IBM PC users. It would be the first time the company sold an OS level product directly to end-users (unless you count the Apple SoftCard, a hardware card that enabled Apple II users to run CPM-80 applications on their Apple IIs, which I had also previously managed). Since I had been the product manager that had the most experience with marketing technically oriented products through retail channels (rather licensed to PC vendors), Ballmer thought the job might be a good fit. In addition, he pointed out that since Windows was intended to expand the appeal of PC through its easier-to-use graphical user interface, it should appeal to my more end-user product experience and interests.
At that point Windows was no longer considered the company’s star project, as it had become a bit of an embarrassment. Even internally there were doubts among some in the company that Windows would ever ship. Also, because Ballmer had already burned though four product managers to try to get there–people who now had been either reassigned or were no longer at Microsoft–the product was developing a reputation for career death. Apparently prior to offering the job to me, Ballmer had tried to persuade Rob Glaser, already recognized as a bright, up-and coming talent, to take the position. But Glaser turned him down. When Glaser heard that I was offered the position, he even stopped by to counsel might that it would be a bad career move.
This made me think that perhaps the offer to me was a ploy by Gates and Ballmer to fire me because of their disappointment in dealing with Turbo Pascal and my suggestion that perhaps my assignment to managing programming languages was a poor choice on their part. It seemed clever: give me a task that no one else had succeeded with, let me fail as well, and they would have not only a scapegoat, but easy grounds to terminate me. So, I confronted Gates and Ballmer about my theory. After their somewhat raucous laughter they regained their composure and assured me that the offer was sincere and that they had confidence in my potential success.
So, in January of 1985 I transitioned over the Windows team, but even as I assumed my new role, I discovered that the Windows development architect and manager, Scott McGregor, a former Xerox PARC engineer, has just resigned. Ballmer himself took up McGregor’s role as the development lead in addition to his other responsibilities.
Shaping Up Windows
My first task was to assess of what was done and what was left to be done as well as come up with a marketing strategy of how to sell an OS add-on to end users, a task that was a significant challenge because no Windows applications existed at that time. How to sell a new application interface without any applications?
I discovered that while the three core functional components of Windows (Kernel–memory management, User–windowing and controls, and GDI–device rendering) were mostly in place there was still a substantial amount of work to be done, and Ballmer had given me only six months to finalize the product and get out the door. This didn’t bother too much since I had currently held the record for getting a product from definition to market in the shortest time.
There wasn’t much time to make changes. Ballmer was emphatic not to redefine what was already done, even though McGregor had changed Windows from its original overlapping windows design to a tiled windows model and every windowing system out there or under development featured overlapping windows. There also was not enough time to change the Windows system font displayed in title bars and control labels from a fixed width typeface to a proportional typeface, which made the overall look a bit clunky, especially in comparison to the newly announced Macintosh interface. Steve’s promise was that in the next release I would get creative freedom to make any significant changes to the product’s interface. I could add some functionality to make it more appealing to end-users, but overall the product needed to be finished, not further tweaked in anyway that jeopardized getting it out that summer without further embarrassment.
Even at Microsoft, getting developers to write Windows software was a challenge. Microsoft’s own applications group was currently mostly focused on the applications they were developing on for the Apple Macintosh, to some extent because Microsoft’s chief competition, Lotus and WordPerfect were largely ignoring the Mac as a platform. I couldn’t even get my former team to build a version of BASIC for Windows (something I continued to press for years after until I was successful in getting Gates’ support for what became known as Visual Basic). BASIC had been an important catalyst for getting early application development started because of the simplicity of the language.
My initial survey revealed that the Windows development team had put together a few sample applications. These were created more as illustrations for the developer’s programming toolkit than as applications intended for end users. There was a simple text editor called Notepad that was basically a multi-line text box that could open and save files; a simple calculator’ a simple game (Revesi), and an application called the MS-DOS Executive that enabled users to view their files and was the primary way they started applications; not much of a far cry from how one did it under the MS-DOS command line, except you didn’t have to type the name of the application. In addition, one of the developers had started work on a simple pixel drawing program we called Windows Paint.
When the Macintosh was announced, I noted that Apple bundled a small set of applications, which included a small word processor called MacWrite and a drawing application called MacPaint. In addition, Lotus and Borland had recently released DOS products called Metro and SideKick that consisted of small suite of character-based applications that could be popped up with a keyboard combination while running other applications. Those packages included a simple text editor, a calculator, a calendar, and business card-like database.
So I went to Gates and Ballmer with the recommendation that we bundle a similar set of applets with Windows which would include refining the ones already in development, as well as a few more to match functions comparable to these other products. I also advocated that we include an experimental mini-word processor based on Microsoft Word which I named Windows Write. This latter got me in some hot water from the Application group, but Gates and Ballmer supported my recommendation.
However, the mini-word processor and painting program required a font strategy and that had not been fully defined yet, so I helped drive the architects to get that done and licensed the design of three typefaces to be included; a sans-serif and a serifed proportional font, and a fixed-width character font, which we had to also map to everything from dot-matrix printers (the most popular type of printer at that time) to daisywheel printers. Laser printers from HP were just coming out and we also worked with Aldus, who were looking to port its increasingly popular PageMaker application to Windows. Windows versions of Excel and Word would not be available for at least another year after Windows shipped.
As a result, Windows would need to be able to run existing DOS applications, which it did through a special application called WINOLDAPP (WINdow OLD APPlication) that rendered most popular character-based applications in a window. However, DOS applications were rarely well behaved in terms of using existing system resources since they typically ran one at time. Developers often used tricks or even existing bugs in the OS or processors in clever ways to get more memory or prevent running of unlicensed copies. Windows was intended to enable multiple applications to run at the same time, so it was difficult to support running existing applications while isolating them so their clever tricks would not corrupt other applications.
The dominance of existing non-Windows character-based DOS applications also required that Windows have a keyboard interface. Applications such as Lotus 1-2-3 already had elaborate keyboard interfaces that enabled users to quickly select functions. So while Windows incorporated the mouse as a standard part of its new interface, a comprehensive keyboard interface would necessary as well. In this case, Microsoft was able to recruit feedback from developers, most notably Lotus’s Ray Ozzie, who was formulating plans for a groupware program called Notes. His input was invaluable in determining what DOS application developers needed to transition to Windows.
Oh, did I mention that Ballmer had set Windows’ system requirements as a standard IBM PC with a minimum of 256 kilobytes (not megabytes) of RAM, two 5 1/4? floppy drives (no hard disk), and a CGA display? That last element was interesting since CGA graphics cards offered only 320-by-200 resolution and the pixels were rectangular (about 2x as high as they were wide), making a challenge for display of appealing graphics. The product also had to support the newer, more expensive IBM EGA display (with higher resolution and almost-square pixels) and the next most popular graphics card, the Hercules graphics adapter, which only displayed in black and white.
IBM AT systems that featured hard drives were just starting to be available so I was not permitted to consider that a minimum requirement. In any case, few people recognized that Microsoft had a harder time in developing Windows than Apple did with the Mac, since Apple controlled all the hardware its software ran on. Windows had the ambition to support “device independence,” which meant–in theory–it could support any display adapter or printer.
But by the early summer of 1985, we were still not close to being done, so Steve declared we should release a preliminary release that I dubbed the Premiere Edition, which we provided to key application vendors, analysts, and members of the press for feedback and in partial fulfillment of Ballmer’s promise to ship the product that summer. We worked all through the summer, typically seven days a week, to finalize things and thoroughly test the code. One of my program managers, Gabe Newell–now the head of the successful game company Valve–would pound on the software until late into the night and morning hours and then sleep in his office.
Then just at the point I was starting to feel more optimistic about wrapping things up the architect of the memory management code told me he found a critical defect in its design and would need to re-write it, basically rendering all testing to date useless. I pleaded with him to find an easier way, but after a thorough discussion there was no option other than to let him proceed and restart the testing process.
By November , we had finished testing and come up with a solid release. Microsoft feted the release at Comdex (then the big computer show of the year) in Las Vegas with a “roast” of itself hosted by Stewart Alsop, who was considered to be one of the foremost PC industry pundits. Microsoft showed it was willing to acknowledge that it had totally underestimated what it would take to get Windows out the door. That release, being after the earlier “Premiere” release, was known as version 1.01. We then spent the coming months internationalizing the release for several countries and issued version 1.03 which also included bug fixes.
From there several things happened at the same time. First, Ballmer had finally successfully negotiated an agreement with IBM to work collaboratively on what was considered the successor to Windows, something we called Presentation Manager that would be the interface for a new MS-DOS replacement called OS/2. Meanwhile I would continue to manage a second release of Wndows (2.0) for which the Microsoft Applications Group would use to target a version of its increasing popular Excel and Word applications. However, Ballmer moved most of the core Windows development team to the new joint development project with IBM. Even I had a partial responsibility for working with IBM to try to keep the interfaces between Windows 2.0 and OS/2 consistent so users could easily transition.
I had about eighteen months to come up with Windows 2.0, and so I tried to schedule all those things I had been unable to get into the first release. I had the interface changed back to overlapping windows, added a proportional system font, and tried to make as many UI improvements as I could as well as any changes required to maintain some level of user interface compatible with OS/2 Presentation Manager as it evolved, all with a mostly new development team (since the former seasoned developers were now working on OS/2). This included a new development manager who transferred over from the Applications Group.
Also during this time, Microsoft had acquired a small startup called Dynamical Research, who had built a product competitive to TopView called Mondrian, that enabled Microsoft to commit to IBM’s requirement to support TopView compatibility in the OS/2 development plan. The greatest value of the acquisition was in the people that came into the company including Nathan Myhrvold, who eventually became Microsoft’s chief software architect and started Microsoft’s research organization. But there were many other great contributors including a guy by the name of David Weise who figured out a clever trick to use extended memory on PCs.
Back then, Intel’s processors only provided 640KB of contiguous address space for applications, but clever programming could break through this limitation. Lotus and Intel were already collaborating on a way to do this (which would give Lotus 1-2-3 the ability to build larger spreadsheet models). David participated in the emerging definition while also adding the feature to Windows. Meanwhile the MS-DOS product manager, Adrian King, and his MS-DOS development team, took the same code we were producing for Windows 2.0 and built a new memory management kernel that would support the new Intel 386 processor that would become a sister product called Windows/386.
For Microsoft it has been a busy year on the OS side. Major development was in process with IBM on OS/2, while smaller teams worked to complete Windows 2.0 and Windows/386, which both shipped in the fall of 1987. From Steve Ballmer’s perspective, these were intended to be the last versions of Windows, with OS/2 (and its Presentation Manager) replacing them. So it was clear that I either would need to find a way to transfer into a role on the already staffed OS/2 team or find a new job. Since I had become increasingly aware of the need for improving our overall design of Windows and Windows applications, I opted for defining a new group that would be devoted to four things: 1) employing real graphics designers (not developers) to create those interfaces, 2) establishing usability testing facilities and services, 3) defining guidelines for good UI design and consistency for Windows applications, and 4) developing UI beyond the current product development cycles to further evolution of Microsoft’s user interfaces.
I went to Gates with that proposal. As Gates also felt that we needed to do a better job on our products’ user interfaces, he agreed and I transferred over to report to Microsoft’s new VP of Applications, Mike Maples, a recent transplant from IBM. Mike’s move from IBM worried a lot of us Softees at the time–we feared that he would make us all comply with the IBM style, but while Mike brought a tremendous amount of maturity and good organizational sense to the company, he was able to integrate it with the existing Microsoft culture.
Breaking with IBM, At Odds With Apple
However, the IBM-Microsoft joint development effort on OS/2 was breaking down. To be honest, from the very beginning it had been a grinding of the gears. Ballmer used to refer to the IBM relationship as “wrestling with the bear” but was insistent that Microsoft’s long term success depended on that relationship. However, after many months of attempting to make the joint development process work, the process-driven IBM style that measured success on the number of lines of code rather than the quality or performance of that code and Microsoft’s more developer driven “cowboy” style just wasn’t working. At all levels, even the executive level, there were continual debates on the development process and progress, so the relationship was officially ended.
IBM continued with OS/2 and Microsoft continued with developing Windows, working on what many regard as the truly successful version, Windows 3.0. I was no longer in charge of the product, but continued to work with the team on helping to evolve and improve its interface. A key area I pushed for was for a better interface for launching applications that moved beyond the MS-DOS Executive file manager and more toward an application-oriented user interface.
In 1988, Apple decided to sue Microsoft over Windows 2.0’s “look and feel”, claiming it infringed on Apple’s visual copyrights. Having been a principal manager in charge during development of Windows 2.0, I was now caught up in the maelstrom and over the next year I got a thorough education on the US legal process as I briefed the Microsoft legal team, created exhibits for them, and was grilled by deposition by the other side. To me the allegation clearly had no merit as I had never intended to copy the Macintosh interface, was never given any directive to do that, and never directed my team to do that.
The similarities between the products were largely due to the fact that both Windows and Macintosh has common ancestors, that being many of the earlier windowing systems such as those like Alto and Star (the latter shown at left) that were created at Xerox PARC. History shows that Jobs in fact visited PARC and hired people from there to join Apple. But Apple’s first graphical-interface computer, the Lisa, failed, and there was a time even in the first year of its launch that it was unclear whether the Macintosh would make it. From my perspective, Microsoft’s support of the Macintosh helped it survive through its most critical time and continues to be a platform the company continues to support. To me, the allegation was almost insulting. If I wanted to copy the Macintosh, I could have done a much better job.
The trial dragged on for months, but eventually settled not so much because of Apple’s claim of visual copyrights, but in part because the companies actually had signed an agreement long before where Apple had previously granted a license to Microsoft to use any part the interface included in its applications for the Mac. Even so, I had never used this to consider copying the Mac user interface. However, I can recall that within my first year at Microsoft, Gates had acquired a Xerox Star, and encouraged employees to try it out because he thought it exemplified the future of where the PC would be headed and this was long before Microsoft even saw a Mac or even a Lisa from Apple. Gates believed in WYSIWYG (What You See Is What You Get–i.e. fidelity between the screen and document output) and the value of a graphical user interface as far back as I can remember. And prototypes of Windows existed long before the first appearance of the Macintosh.
After this I went back to focus on managing the new user interfaces services group I had started, who began to have a significant impact on the usability of an increasing number of products. My team also created several prototypes of possible new versions of Windows’ interface, many of which influenced later versions of Windows, most notably the user interface overhaul in Windows 95. In that case, we worked closely with Joe Belfiore, who at the time was one of the key Windows team members defining that release. (Joe is now the VP of the new Windows Phone division at Microsoft). I also ended [up] negotiating, compiling, and writing the style guidelines that Microsoft published for designing Windows applications. In addition, we conducted regular user interface design audits on applications Microsoft was developing.
Quite quickly product teams began to recognize the value and benefits of design and usability and eventually those functions became integrated more directly into the Microsoft product teams and development process. I continued to operate in an advisory and review role for Gates, evaluating and auditing product interfaces, promoting good design and usability practice across the product family up to the Vista and Office 2007 releases, after which I then shifted my attention to starting up Microsoft’s robotic initiative, facing a new but almost familiar pattern to the evolution I had witnessed for personal computers.
Photo from Intel Software Network blog.
2010 and Beyond
It’s incredible now to look back and consider that Windows will be celebrating its 25th anniversary. I still have strong memories of when I first joined the team. It’s satisfying to see its improvement and impact over the years, not only for Microsoft’s benefit, but in what Windows contributed to making PCs easier to use and accessible to a wider audience. And despite that success, it has not dampened the continued creativity of companies like Apple, Google, or others as pc technology continues to evolve.
What is interesting now to ponder is where Windows goes from here. Already it is obvious that interfaces are becoming increasing more natural, incorporating and integrating a richer array of inputs, including touch, speech, and gesture. As well the form factor of PC based technology is also evolving beyond the traditional forms, blurring the line between the conventional desktop, the mobile phone, and the family entertainment center. The Internet and its related technologies have become increasingly the way people access information. But all this hasn’t eliminated the importance of Windows’ role in getting people there.
For my part, I am probably not the best prognosticator of what Microsoft needs to do next. Microsoft has plenty of smart, talented people to do that. My own interests lie in using technology in new forms to serve and enhance people’s lives. Windows has made tremendous progress over the last 25 years, but there are still new frontiers to be explored.