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 (Reversi), 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.
Ballmer had set Windows’ system requirements as a standard IBM PC with a minimum of 256 kilobytes of RAM, two 5 1/4″ floppy drives, and a CGA display.
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.
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 John C. Dvorak, 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.