Rockford Lhotka

 Wednesday, January 19, 2005
« Will Longhorn mean success for mono on W... | Main | Thoughts on passing DataSet objects via ... »

When I first got involved with Microsoft it was around 1990 or ’91. The world of the time was dominated by IBM, with DEC a close second. If you wanted to network PCs you used Novell or Banyan. All PC programs were DOS programs. “Windows” was just one of many graphical libraries being used by software to handle drawing on the screen. And if you wanted to do real work you used a mainframe or minicomputer.

 

At the time, Microsoft was an underdog.

 

Personally I wouldn’t have anything to do with them. Novell was the obvious PC networking choice, and PCs in general were so incredibly limited compared to my beautiful VAX computers that I couldn’t understand why anyone would bother to use them. If you were going to use a PC-like computer, the Amiga was the way to go. It was far closer to a real computer than the PC!

 

Of course the open source community of the time hated the VAX, Novell and anything commercial. At the time the open source world was tied into Unix, even though it wasn’t open source either. But they hated us VAX people who could use the “search” command to search rather than using “grep”. (if you don’t believe me, use google or the wayback machine to look at the newsgroup flame wars of the time)

 

In any case, the manufacturing company I worked for kept bringing in more and more PCs to do more and more things. And we needed a way to make the PC software accessible to our end users. On the VAX I had a very nice bit of menu software that did personalization, authorization and so forth. We investigated the lame-ass equivalents that existed for DOS, but the PC world had no concept of centralized management and so we adopted none of them.

 

Finally, out of a busy field of competitors, Microsoft’s Windows product showed up. It was pretty lame too, but at least we were able to use it as a meaningful launch platform for software. This allowed our end users to actually find and use the software we had installed on our Novell server. It also forced us to hire another helpdesk/PC support person… Windows was not cheap, but it was obvious that the world was moving that direction and so we did too.

 

I should point out that none of the Windows competitors were cheap either. All of them used the highly cantankerous PC as a platform and anything we chose would have required that we hire at least one more PC support person… Compared to our VAXen (with their 99.995% uptime) the PC was just plain terrible. This was true of Windows, our Novell server – all of it.

 

Personally, I tried to keep at arm’s length from the whole debacle. My boss however, felt that my career would be enhanced if I got involved, so I ended up as the Novell administrator. That included making Windows work with Novell, and eventually with that VAX (because we installed software on the VAX to make it look like a Novell server to the PCs).

 

The only part of this that was fun was the VAX-as-Novell-server bit. Using that technology we were able to use gawk (open source awk, a text processing tool) to transform our massive manufacturing reports into tab-delimited “spreadsheet” files that could be used in Lotus 123, Quattro Pro or that lame excuse for a spreadsheet, Excel.

 

Even with Windows, Microsoft was still the underdog. Heck, this was the time that OS2 was supposed to take over the world. Unfortunately IBM forgot that people (end users) don’t give a rip about operating systems. They only care about the programs they use. OS2 didn’t have any software (compared to DOS, and thus Windows – which was still just a graphical shell on DOS). This was the problem with the Amiga too. A superior piece of work in almost every way, but there was no software for it. Not on the level of the stuff for DOS (Windows) or the Mac.

 

Then in the early 1990’s Microsoft came out with Windows NT. The core of NT is the same as that of OpenVMS (the VAX operating system). That was enough for me to start looking seriously at the PC. I even bought one so I could be part of the Windows NT beta program. It sat next to my Amiga and limped along as best it could.

 

It is worth noting that the VAX operating system was originally named VMS. DEC changed the name to OpenVMS in response to the open source/unix community’s unceasing assaults and criticisms. Today’s attacks on Microsoft are just the latest version of a decades-old pattern of abusive behavior on the part of the open source community. Before DEC it was IBM and before that there were no computers to speak of.

 

I know that the open source “community” can’t be represented by any one person or one group any more than Christians can be represented by Evangelicals or Catholics. But after listening to the same tired rants from what must be clones of the same people for 20 years it does seem like there’s a cohesive voice of the open source community… At the very least there’s a consistent dogma.

 

I started to find out about Windows programming at this time. I had never programmed for Windows itself (or DOS), but I figured that since NT was, at its core, like OpenVMS. I assumed that I could program it in comparable fashion. Not so. The most trivial program took pages of code. There was more code involved to interact with the OS than to do actual business work. So we just kept working on the VAX where we could get real work done.

 

Then came Visual Basic 1.0. It had a whole host of competitors, and wasn’t necessarily the best of the bunch. But it provided the most direct access to Windows programming of all the options. It allowed us to write Windows programs where most of our code was actual business code. Where we didn’t need pages of code just to draw a window or other silliness.

 

With the advent of Windows NT 4 Microsoft finally also provided an option to Novell. It was realistic to use NT 4 as a production server, and so we switched from Novell to NT somewhere in there. That was a powerful change, because now our server was programmable.

 

Yes, I know it was technically possible to program a Novell server. But you have to be kidding. That was really unlike a productive programming experience – especially for someone coming from a VAX! You need to understand that I have never had to deal with all the  memory segmentation issues. The VAX, the Amiga and Windows NT all provide a flat memory model. To this day I fail to understand why anyone voluntarily chose to program on a PC in DOS or Windows…

 

Around this time it was clear that DEC was dying, and Microsoft was no longer an underdog. Windows NT and Visual Basic propelled Microsoft into a space where they were accepted as a primary option. For small and mid-size business they were often the primary option in fact.

 

It also helped that through the early 1990’s the “spreadsheet wars” between Lotus, Quattro Pro and Excel eventually settled out. As we all know, the victor was Excel. But that was not a foregone conclusion. During that whole time, Microsoft was the underdog. Quattro Pro was easiest to use and Lotus was the most powerful (and had the backing of existing users). But Lotus never got easy to use, and Quattro never got powerful. Excel got easier to use and more powerful until it was easy enough and powerful enough to displace the other two.

 

There are lessons to be learned here. Lotus could have made themselves easier to use and they would have won hands down. Quattro had the harder job, but they could have made themselves more powerful and maybe could have won. But the odd man out, the underdog Microsoft was the one who managed to strike the balance that won the war.

 

I imagine there are similar stories around Word and WordPerfect, but I never witnessed that conflict.

 

By the mid-1990’s the dust had settled and Microsoft was a major player in corporate and home computing, and I left the manufacturing company for consulting. Why? So I could focus all my energies on programming PCs and not be distracted by the dying VAX.

 

Quite a turnaround for someone who wouldn’t touch a PC with a 10 foot pole :-)

Wednesday, January 19, 2005 10:29:50 AM (Central Standard Time, UTC-06:00)  #    Disclaimer