This article was first published on the Idealware Blog in October of 2008.
Like many of us, I’ve been using Microsoft products for a long, long time, and I appreciate many of them. Microsoft is a significant vendor, period, with their dominance in operating systems, productivity applications and, well, most everything else software-related. But they are a particularly compelling vendor in the nonprofit sector. I’ve often noted that, should Microsoft ever take over the world, they would at least be benevolent dictators. As evidence, we have the great work of the Bill and Melinda Gates Foundation and their long-established support for charitable institutions, by way of their affordable licensing to 501(c)3’s and generous amount of software donations, via Techsoup and otherwise.
But, hey, I wouldn’t be heaping all of this praise on them if I didn’t have a few criticisms, and these are criticisms developed through the eyes of a long-time technology strategist. In addition to using Microsoft software, I’ve beta-tested it, I’ve developed on the platform, and I’ve been deploying it since the early 1990’s. I’ve run into my share of frustrations. 20 or so years into my relationship with this vendor, I still find myself ridiculously attracted to and repelled by their applications and platforms. So I want to spend a few blog posts talking about one IT Director’s history with Microsoft, and some of the lessons learned and ongoing concerns I have with the software vendor that I’ve had the longest, largest relationship with in my career.
To start, I just want to let off a little steam about the flagship product, Windows. I’ll follow this up over the next few weeks discussing their development environment and general philosophy, before tying it up with some commentary about the choices we, as nonprofits, can make. There will be no bold conclusion here, or any strong recommendation to dive in or stay away from their products – there are compelling arguments for doing both. But my hope is that I can ruminate a little bit on the main challenges I see in dealing with them.
Early Predatory Business Practices
My IT career started about 1991 at a small San Francisco Law Firm. Vendor lock-in was big at law firms in the 90’s, but the vendor was Wordperfect Corp., not Microsoft. Attorneys swore by Wordperfect for DOS, and bought anything else that they sold. So, when Novell, our networking software vendor, bought DR-DOS and released it as a free, feature-rich MS-DOS replacement for Novell customers, it made little sense not to use it. This proved to be my first — and early — introduction to Microsoft’s established predatory practices. MS wrote code into a beta of Windows 3.1 which basically said “If this isn’t running on top of MS-DOS, tell the user that it will crash.” This became known as the AARD Code, and it wasn’t removed from the actual Windows 3.1 release; just modified to not display.
Microsoft, famously, either engaged in or was highly assumed to be engaging in numerous other unfair practices, from hiding code in Word and Excel that made them faster and stabler on Windows than competing applications, to stealing product ideas, and to leveraging their desktop operating system dominance in order to put competing products out of business, the latter practice being one that they were found guilty of and fined for. The Consumer Federation of America has an excellent article summarizing and referencing all of the real and alleged abuses leading up to the ruling.
Today, Microsoft seems to be a bit less arrogant and more on the up and up. They’ve made conciliatory moves in the open source community, as their dominance in the industry seems to be waning a bit. This is largely in the realm of new technology, such as Software as a Service (SaaS) offerings. On the traditional servers and desktops, they’re still everywhere.
Dragging the Legacy Behind Them
In the 80’s and 90’s, Microsoft displayed a brilliant talent for buying or building the right thing at the right time. I might have deployed a competing version of DOS, but I’m one of the very few. They hit the zeitgeist with Windows, which borrowed heavily from the Apple Macintosh (which, in turn, was inspired by work done at Parc Xerox), but the combination of a GUI on top of DOS — an OS that could run on any number of manufacturer’s PCs — allowed it to soar to the top of the market share very quickly.
Note that MacOS was a graphical OS, whereas Windows was a graphical application that ran on top of DOS, a character-based OS. And even when Microsoft claimed to let go of that legacy with the release of Windows NT (NT for “New Technology”) it wasn’t fully severed. I found this out when I hired a consultant to help me with a crashed SCSI drive on a critical server. He brought the wrong replacement drive, but decided that there might be something else that he could do. In order to test his theory, he renamed the “C:” drive on my Windows NT 4.0 server to “E:”, after which, the server could not boot. I couldn’t help wondering why an operating system that had dropped it’s legacy roots was still crippled by as artificial a limitation as the boot drive requiring the label “C:”.
If this were all ancient history, it would be fine, but when we look at Vista, which was pitched to us as a revolutionary new version of Windows, much like Windows 95 and Windows NT before it, what we really see is a revamped graphical interface on top of a ton of code, some of it likely dating back at least 15 years. They’ve rewritten the graphics and they’ve modified the basic code to operate at 64 bits, but they’ve included all of the 32 bit code as well, to support all of the “legacy applications” that are still being developed. And, believe me, there’s 16 bit (Windows 3 compatible) and 8 bit (DOS-compatible) code in there as well.
This isn’t a Mac vs Windows article, but there is one thing that Apple has done extremely right that Microsoft should really consider. When MacOS grew to version 9, they canned it. They took a healthy Unix variant (BSD), built a brand new GUI on it, and, while they included OS9-compatible code in the initial release, it was isolated from the current code base – you had to boot specially into it. This allowed Apple to create a modern GUI that does everything Windows does more on a faster and stabler platform. Early reports on Windows 7 — which Microsoft is rushing out in order to recoup from the damage that Vista has done — are that it’s pretty much Vista with a face lift. They’re not letting go of the legacy, and, as a result, they’re asking us to buy faster systems with much more memory in order to subsidize their rushed and sloppy development choices. It doesn’t bode well.
But, while Microsoft is continuing down the same superhighway that the Windows code has traveled since the early days of DOS, they are developing their own competition online. The question is, have they decided that investing in actually fixing Windows is too little and too late a strategy in the face of cloud computing and SaaS? It’s an interesting question, because it implies that our choices for staying with the vendor will mean living with Windows, as it is, or trusting Microsoft as an outsourced provider of computing infrastructure. That’s a proposition that I find easier to take from vendors who haven’t tried to lock me out of competing products in the past.
But this is only the beginning of the discussion. I’ll continue next week on their history with developers and their general philosophy of software, and I’ll come back to this point in the conclusion. Part 2 is here.