October 1, 2009

Why We Hate Microsoft

Why we hate Microsoft I was recently smirked at for declaring that Microsoft is evil.

To be fair, my own smirk probably did deserve to be smirked back at--it usually does. What really bothered me was the gentleman's response to my statement, which was something akin to, "I know it's popular to hate Microsoft, but if it weren't for them you wouldn't be clicking and dragging those nice boxes on the screen all the time--you know, windows."

Ahem.

It really gets to me when people pretend that I don't understand something obvious. The gentleman was right in one respect: it is popular for young computer/programming enthusiasts like myself to hate Microsoft. What he didn't recognize is the reason that we hate Microsoft. I understand that Microsoft has accomplished quite a bit in the world of technology; this is not what I hate them for. I hate them because it is time for them to go away or change drastically, and they are unlikely to do either.

People like me believe that we are entering a new age in computing. This new age is different from the previous one in the following ways:

  1. Source code and protocol standards are usually open
  2. Services are free or cheap, and they are monetized using advertising
  3. Nothing is centralized

Don't think this is true? Think about the great new things that you use every day. Firefox: open source, free, maintained with input from the internet community. Twitter: open API (that's where all the sweet Twitter apps come from), free, usable from a million different places (not just Twitter.com). Facebook has similar properties. So does Gmail. So do lots of blogs and other popular web sites. So do most popular new things.

Obviously, the prominence of a company like Microsoft is a problem in such an age. In the Microsoft Age, the rules played out more or less like this:

  • Source code is secret, because...
  • All software products and services are expensive, because...
  • Everything is centralized around Microsoft products

This was fine when Microsoft had all the best products for most peoples' needs, and it is why they've had so much success. But peoples' needs are changing drastically and quickly, and their model no longer fits. Which is why it's such a pain when they continue using their model, and why we hate them.

A few days ago I was at a presentation/networking event held by Microsoft and a couple of other big companies at Northeastern University. The idea was to convince business majors that they want to work at Microsoft. At a few points, I couldn't help laughing out loud (or at least smirking out loud) at some things the presenter had in his PowerPoint presentation and his speech that I found to be oh-so-typical Microsoft talk:

  • To become the Thought Leaders of tomorrow, you must be surrounded and mentored by the Thought Leaders of today
  • Life @ Microsoft = Work + Play + People
  • We invented the fun and then others took it and continued to do it (said during an answer to a question)

On a more serious note, Microsoft really does get in the way of the modern developer.

Internet Explorer is a great example. A good deal of being a good web developer is being good at getting things to work in IE despite its many quirks and bugs. Were it not for IE, web sites could be made twice as fast. [1]

Of course, the other Microsoft platform that programs are commonly developed for is Windows, which is just as naggy and annoying. Why is it that great software so often premiers only on Windows, with the Linux/Mac versions released months down the line (ahem, Chrome)? It premiers on Windows because Windows dominates the operating system market. It takes months to develop versions for everything else because developing for everything else is totally different. This explains why horrible languages such as Java are so popular: Java developers only have to deal with a slightly-less-annoying "virtual machine" and can forget the nightmare that is Windows.

And don't even get me started on Windows from the user's perspective. It is a nightmare. Try setting up some simple server mirrors on Windows without buying something really expensive. When working at a development company recently, I remember noticing how much time I spent just grappling with different Microsoft products in order to get my work done. But when it came time to commit to the CVS server running on a Linux box? No problem. Deploying a new build on another Linux server? Smooth. It's hard to pinpoint what exactly the problem is with Windows, but it's there. [2]

This is why we hate Microsoft. They are the big hippopotamus that won't go away. And yes, hating them is popular now. Bite me.

Notes:

  1. Granted, IE8 is a promising improvement. But still, how long did it take them to catch up to the rest of the internet? Clue: answer in years.
  2. I know I sound like a hack for having an unexplainable, mystery gripe with Windows. The fact is that everything just seems to go more smoothly when I'm not using it. Maybe it's just a placebo effect. As the presenter at that Northeastern event said at least five times, "Mac really did a good marketing job with those commercials."

No comments:

Post a Comment