Word for Windows 1.0
The summer before my final year at Berkeley, I scored an internship at Microsoft (still have the green T-shirt!) I’d been tracking Microsoft since their early days. With their IPO in 1986 during my freshman year, I had felt a great sense of urgency. Though the money itself was never the primary draw, I felt a sort of panic - the revolution is happening, without me! I’ve got to get out there in this industry!
In 1989, Microsoft was still completing version one of its Redmond campus, then a remote outpost in the woods. What is today a light rail station under construction adjacent to a giant highway interchange was, back then, a dark forest that didn’t even merit an exit on the highway. I had a gray 80386 PC on my desk, flanked by a brown landline phone and a green phosphor XENIX terminal for email.
I wrote shipping code for the first version of Word for Windows, back when PC Word had like 17% market share (WordPerfect was #1) and Windows was at version 2.0. We got to meet Bill Gates and work with a lot of smart and talented people.
Opus One
Word for Windows 1.0 was codenamed “Opus” after Opus the penguin in Bloom County, before penguins fell out of fashion at Microsoft for a while.
At one point, there were over 4000 active bugs on the project in the internal tool known as RAID. This seemed bad, but it was also good that they were testing thoroughly and keeping track of what needed to be fixed. We had source control - not with Git, which was still years away, but SLM, the Source Library Manager, pronounced “Slime”. I had never worked on a project of this scale before; there were enough developers to fill multiple hallways.
Steven Sinofsky has done a fine job writing a serialized book about the milieu at Microsoft in these early years. The bits I've read all line up with my own experience.I remember the music, cookies, golf in the hall, offices with more than a passing resemblance to dorm rooms, and a general feeling of being present at the creation of something meaningful. My office mate was Simon Gibson. Next door was the obviously brilliant Laura Butler, then only 19, who would go on to be Microsoft’s first female technical fellow.
Code reviews
Among the highlights from this period was joining code reviews with the tech leads on Word. This good practice helped to spread knowledge and find bugs earlier in the process. A memo called “Zero Defects” was widely circulated as inspiration, which sounded great to me, though it would be a long journey from 4000 bugs.
Usually, these code reviews went smoothly and I got to hear some illuminating conversations. One time though, I was in a conference room with several of the Word engineers reviewing a pile of code for the Outlining feature, and I wasn’t the only one who was confused. After some time, someone blurted out, “Can anyone in this room explain how this actually works?” And nobody could. This led to a homework assignment, and the next meeting was a lot more productive.
In the modern age, Microsoft released the source code for Word for Windows 1.1a. I look at it now, and it is painfully inscrutable, with all the Hungarian naming conventions (sorry, CharlesS), all the required accommodation for the ugly 16-bit segmented memory architecture (not sorry, Intel), and a general lack of many useful abstractions. No wonder there were so many bugs. My approach during this era on my personal coding projects was quite different, with a lot more focus on readability.
A sneak preview of Windows 3.0
The groundbreaking Word for Windows came out in November, 1989, but by itself, did not instantly change the world. At the time, Windows was just terrible, practically unusable. You were better off with MS-DOS CMD.EXE. Windows 3.0, the first usable version of Windows, was not released until May of 1990.
On the Word team, we switched from Windows 2.0x to the betas of Windows 3.0 during the summer of 1989, so I got to see and use Windows 3.0 almost a year before the general public, while I was still in college.
It was still ugly, not artfully designed like the Mac was on day one, but it was now less ugly. It was slow, but everything was pretty slow back then. The bar was so low, Windows just had to be better than the text-based experience that was still there just under the covers. And it was. It was way better.
Even though Windows and MS-DOS violated many of the operating system design principles I’d been studying in my CS program at Berkeley, it was instinctively clear to me as early as the summer of 1989 that as soon as the rest of the world saw Windows 3.0, the entire global PC software market would undergo a tectonic shift, that the future of the PC was going to be Windows, Windows, Windows!, that the growth of 1986-1989 was just the warmup, and Microsoft was poised to achieve a dual dominance in apps and operating systems. Apple was stalled at this time.
Former market leader WordPerfect was years late with a Windows version of that formerly leading word processing application. Once Word for Windows was released, they couldn’t catch up, and soon it was game over.
Summer side project
One of my side projects during the internship was a business plan I wrote up to port Microsoft Works to the Amiga platform, which used the same 68k series CPU as the Mac. This was before I took a look at that code, which I ended up getting hired the next year to fix. I booked a meeting with the top executive in that organization and pitched him. He wasn’t sold, but I’m sure it made an impression on the business unit that ended up hiring me.
Back to Berkeley
In my internship, I optimized all the Microsoft Word file format converters for all the platforms, and benchmarked the improvements, and they were happy with my work. But at some level, my heart remained with Apple and the Mac, and with NeXT.
Then it was back to Berkeley for one final year.