Windows is so slow, but why?

Bill Gates showing how he dropped the ball.

Bill Gates, dropping the ball.

The NT Times (usual bugmenot password required) has put up an article about the troubles at Microsoft over releasing Windows Vista. I find it quite funny. Some choice quotes include:

“The perception that nothing new has come out of the Windows group since XP is just so far from the truth,” Mr. Goldberg said.

Sure, new stuff has come out (Media Centre, Windows Mobile etc), the problem is not that it isn’t new. The problem is that it isn’t interesting.

Windows XP [is] a five-year-old product. In those five years, Apple Computer has turned out four new versions of its Macintosh operating system, beating Microsoft to market with features that will be in Vista, like desktop search, advanced 3-D graphics and [desktop] “widgets”.

And boy aren’t these amazing features. Gee I wonder how I lived without “widgets” and drop shadows before.

Macintosh OS X […] essentially walked away from Apple’s previous operating system, OS 9. Software applications written for OS 9 would run on an OS X machine, but only by firing up the old operating system separately. [This] approach was somewhat ungainly, but it allowed Apple to move to a new technology, a more stable, elegantly designed operating system. The one sacrifice was that OS X would not be compatible with old Macintosh programs, a step Microsoft has always refused to take with Windows.

Personally I don’t see why Microsoft can’t do the almost exact same thing with Windows. Package Windows XP as an entire (deprecated) subsystem within Vista. Microsoft has a huge marketshare, it can basically push the entire PC industry around and do what it wants. It’s not like the PC’s in homes and businesses today are even going to be able to run Vista, with its stratospheric system requirements, anyway.

Unless Microsoft can pick up the pace, “consumers may simply end up with a more and more inferior operating system over time, which is sad”.

May end up with? They already have an inferior OS and Vista, as it stands, isn’t going to correct that. MacOS X walks all over it and for geeks, like me, Linux eats it up and spits it out.

In essence the article’s premise is that Windows Vista is delayed and lacking promissed features because it is too large and unwieldly. Bloated as people would say. And that this bloat is because Microsoft’s engineering culture sacrifices almost everything to backwards compatibility. To the point of putting hacks in the OS so that broken 3rd party applications continue to work on new versions.

Sometimes it is better to throw the old away and start again, backwards compatibility be damned. I think Microsoft is rapidly reaching that point. Windows should be being delivered in pieces. A basic core OS (kernel, networking and support libraries), a UI layer, and user and system application components on top of that. With as little coupling between components as possible.

The OS should be delivered primarily over the Internet in small pieces on a subscription basis. A new point release every six months and patches in between to address critical bugs and security flaws. Pretty much the model used by most Linux distros and MacOS X.

The idea of Vista being declared “done” at some arbitrary date, mass producing millions of CDs and putting in them in boxes on shelves is antiquated. In ten years time we will sit back and joke about it like we do about 14k4bps modems. Get with the program Microsoft.


2 thoughts on “Windows is so slow, but why?

  1. The problem isn’t just back compatibility. The other part of it is that Microsoft dug the pit they’re in now by bundling technologies into the OS to entrench their monopoly position. Now they have a huge mess no their hands in which each part of their product line is depending on pretty much all others; they cannot upgrade anything in isolation. On top of that, add in the need for each component to maintain strict back compatibility, and you have a Gordian knot.

  2. This is also true. It is also not an issue isolated to Microsoft software, though I’m sure they suffer from it to a huge extent.

    Loose coupling between OS elements if essential to avoid this issue. To a certain extent Open Source or Unix based Operating Systems avoid this purely by be the product of many independent developers with independent agendas and release timelines. This, I’m sure, requires developers to be more aware of tight coupling issues and take measures to avoid them if possible.

    Also, from my experience, loose coupling requires a well defined API and Win32 is not a well defined API in my opinion. In fact I would call it a downright mess.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s