Why do I dislike Microsoft? They're really a great company, with smart people, and have contributed a great deal. As much as people dislike Bill Gates, I never did. I really admire his charitable work which is precisely what he said he was going to do a decade ago. Their trade practices haven't been pristine but for the most part in recent years, it's been legal and mostly ethical. They're ruthless competitors but that's not, in itself, evil.
I also credit them for fixing the Macintosh! If Microsoft hadn't launched Windows, the Mac would totally suck.
And yet, Microsoft makes me nuts.
This is their biggest offense, in my book. Microsoft pretends to follow industry standards and common practices, while really co-opting, or even sabotaging, them. Under the guise of enhancement, they add "features" in a way that damages competing products. The best example is their web browser. Generation after generation sought to derail web standards, adding elements (such as ActiveX controls) designed to get web developers to write sites that would not work well on other browsers. It is a pleasure now to see them outfoxed.
Another example: Their Exchange mail server uses a Microsoft-proprietary format for attachments and text formatting. Non-Outlook e-mail programs can't read them. There are standard methods for doing this, but Microsoft does not adhere to them. You can configure the server to not do this, but you should not have to.
One more: SharePoint is the most popular collaboration system for companies. It works pretty well if the user has Windows and Microsoft Internet Explorer. Other browsers and systems are supposed to work but it's a hair-pulling experience. As far as I can see, everything they're doing could be done in an industry-standard way that works universally. I can't tell if the Explorer-dependence is deliberate sabotage or incompetence.
It makes me crazy because it is arrogant, anti-user, and predatory. It's one area where they exploit their leadership in a way that damages the community.
Steve Jobs once said about Microsoft that they "have no taste." Say what you will about Jobs and his arrogance (I would not argue) but he is right. They are successful — and Jobs does not begrudge that, a least in this video — even if their products and strategies are artless. He says, "they don't think of original ideas and they don't bring much culture to their product."
It's obvious to me that engineers design their interfaces and graphics. I recently saw the new release of MS Office 2008 for the Mac. It was demonstrated for me by a Microsoft program manager, who proudly showed me 3D charts in PowerPoint. I was horrified by the amaterish 3D. They had added shadows and highlights that were blocky and unrealistic. The colors were Crayola basic. Labels were improperly centered on shapes. To many business users, I am sure these look fine, but any top-tier company would have them redrawn before using them in any material that goes outside the company.
There is nothing evil or badly intentioned about this: I think it's because they're unaware, like the engineer who dresses in plaid and dots and is honestly befuddled when it's pointed out.
Then there are the user interfaces. Microsoft has some of the most advanced user interface labs in the world and a large UI staff. Yet, their interfaces are consistently confusing and convoluted.
MS Office is a case in point. It has tons of functionality, but finding and performing a function is often painful. The worst part is that with each revision, it becomes more painful! Why? Because their UI labs are very good at identifying user complaints, very poor at fixing them. When they find a function people can't do, such as mail merge, they never seen to think that the user interface is fundamentally in need of ground-up redesign. Almost invariably, they think the answer is to add something. They added a mail merge palette. A help system. Then that paper clip animation. Then a wizard. Then a "ribbon." A sequential palette. Now they have a bar thing that has no name that brings up a series of icons that, um, does something. Like a wizard. But they can't call it that because the wizards, um, didn't help.
They seem to toss solutions at the problem, never quite figuring out that the problem is underneath all these wizardly layers.
The project manager who demonstrated Office 2008 for me showed me the wizard-like bar thing they had added for special user operations, like mail merge and templates. It takes up about an inch-high row of the document window. I asked if it could be made vertical. "We thought about that," he said. "Especially with displays tending to be wider. But no, it's horizontal only."
Duh. Even when they know they're making a mistake (and they usually don't), they proceed and make the mistake.
And then, there is the underlying stuff: The code. It's bloated. It's buggy. Year after year, release after release, many bugs remain. It's slow and inefficient. The new Office 2008 for the Mac takes longer to load (a lot longer) and is not noticeably faster than the six-year-old, two-revs-ago version I had.
Someone did an interesting comparison between the open-source web server, Apache, and Microsoft's server, IIS. These "call graphs" hint at the underlying structure and you don't need to be an expert to see the difference.(thanks to Paul Rako's Anablog — which presents his own case against Microsoft — for showing me these.)
Is this typical? Meaningful? I wouldn't know, but I would bet it is.
I Don't Hate Microsoft
I don't hate Microsoft. I certainly don't hate their people. I don't even hate their products or what they have done for the industry. But I hate using their products, I hate being slave to their manipulations and incompetence.
Most of all, I hate it when I have no alternative.