Resurrected Entertainment

Use Windows. Because we’ve got you by the short and curlies.

September 20, 2009

It’s now 10:38 PM on Sunday, September 20, 2009. I’ve been installing a fresh copy of Windows XP since 6:00 PM yesterday night. My efforts have been on and off for the most part. Downloading drivers. Updating software. Finally installing the one and only piece of software I’m interested in using. You know, the usual chore. I’m sitting here with my glass of wine and a good book wondering why do people put up with it these days? Fundamentally, the Windows software process is just plain broken for the average user. I can pick any of the popular Linux distributions or almost any version of Mac OS X and do exactly the same thing which would be: install the operating system including drivers and updates, and then exactly one application. The only difference being, between the three operating systems, is that this pain would only last a short while (less than an hour) on Linux or Mac OS X and then it would be over. It gets even better if my home directories are preserved and I don’t need to spend hours reconstituting them. But on Windows, it’s just painful and frustrating.

Sigh. Thirty minutes and the download process is 4% finished. It’s a 650 MB download, but I have high speed Internet access. I’ve downloaded things a couple of Gigabytes in length in less time. It’s not my home connection and it’s not my Internet provider. Whatever Microsoft is doing to serve me this file, whatever servers and load balancing machines they have to manage their network, it’s not working. It’s quite possibly the slowest download I have ever experienced, including during my time on a dial-up connection in the 1990’s. I’ve used Bulletin Board Systems with MODEMs clocking in at just over 300 baud, and I have never experienced such a time dilation. I’m going to need to keep this machine on all night, just to download the equivalent of an Ubuntu Lite installation, which I just did yesterday and it only took 10 minutes.

Why do we put up with it? Why do we go through this crap, and why do we tolerate it? I couldn’t tell you how many times I’ve installed a Microsoft operating system over the last 20 years. I couldn’t tell you how many times I’ve done it in the last three years. I can tell you I’ve installed my Linux desktops a couple of times and I’ve upgraded my Max OS X systems once. But I can tell you that each Windows installation was painful. Every. Single. Time. Their installation process is nothing like Windows. Sure, the Linux side of things can be a bit more difficult if you’re trying to do something different, but if you’re just installing out of the box configurations – just like I’m doing with Windows – it’s a walk in the park.

So why do we put up with all of this nonsense? It’s not because we like it. In fact, this time around it was one of the worst installations I have done in recent months, all because I wanted to play a game, which is now sitting at 5% download complete. And herein lies why I continue to suffer this operating system: I simply want to use a piece of software which can only be run on Windows. Can you imagine what this process will be like if I want to play this game five years from now? Pretty to close to impossible, I think. Their installation and software deployment model is fundamentally broken, and they have yet to come up with anything better.

After all these years, they still don’t have a dependency model for software packages. They don’t have the concept of a single, atomic unit of software. Instead, they have a rats nest of files and directories scattered all across the operating system. Mac OS X have application bundles and a rigid deployment model; Linux has packages with dependencies which makes installing software, and the dependencies of that software a much better experience. They too have a rigid deployment structure which only makes the lives of the user that much easier. Sure, they have their technical drawbacks sometimes, like the availability of bleeding edge software to drive bleeding edge hardware, but that’s only because the bulk of the market is held by Microsoft. Naturally, if the market dries up, then those hardware vendors will see to it that their drivers and helper applications make it to the operating system of choice.

On top of all of that, Windows developers are still doing really bad things because the model continues to let them. I continue to use the operating system because I want the software the developers are writing, but I have my limits and I will go elsewhere for entertainment. One of Windows’ great strengths was their drive to maintain compatibility with older software products. This didn’t make them popular but it kept them in business.

There are numerous stories about what the Windows operating system developers did “in the old days” to make obsolete or broken software work. You want Sim City to work with Windows 95 for the launch? No problem. Oh wait, it seems the developers at Maxis were sneaking their hands up the dress of the Windows memory manager. Ha ha. We’ll just work in some special handling for that naughty piece of software. That backward compatibility created value. That kept people coming back to The Old New Thing. Windows 7 and Vista before that are changing that model. In their quest to improve every system and the kitchen sink with Windows, they seem to be forgetting the biggest pain point of their operating system. It’s not the file system, or the surface manager, or the rendering routines for adding fancy window dressing (ooh, transparency). It’s the fact that I need to install a million, fragmented pieces of software in order to get things done. Oh, and in the mean time, reboot a few dozen times. Ha! That never seems to get old.

2 Responses to “Use Windows. Because we’ve got you by the short and curlies.”

stevex wrote a comment on September 21, 2009

It’s not nearly as bad as you make out.

First off, it sounds like the majority of your frustration is a slow download. That’s not really the OS’s fault is it? It may still be Microsoft’s fault, but it’s not really fair to blame Windows for that. (And I’ll bet it’s a transient problem).

You’re installing an 8 year old operating system and probably trying to run it on fairly modern hardware. How well would that work with Linux? Grab a Linux distro from 2001 and try to install it on that box. I’ll bet that wouldn’t go smoothly either.

Windows 7 has a much better installation model: They install everything into a folder where the definitive copy of a file lives, divided up into packages, and then when you enable that feature, they make hard links from where the files need to be available. It’s pretty nice actually.

Microsoft has a fairly good installer system; the problem is many companies just don’t use it. Should Microsoft force them? Would the market tolerate that? (And why don’t companies use Microsoft’s installer? Often it’s for reasons that have nothing to do with technology, like wanting more control over the installation experience. Tell me, are there hooks in “rpm install” for displaying ads?)

Yes, Linux has dependencies. I’ve wanted to install some dinky little app on Linux and unleashed a chain of dependencies all the way back to libc. No thanks.

Personally I like the way the Mac does it: After a while, you just declare the old version deprecated and supply an emulator. Want to run an old Mac app? It runs in Rosetta. I’ll bet they do that for 32 bit apps within the next couple of releases.

I’m willing to bet if you went through this same exercise with Windows 7, you would have ended up with a much better experience. And a game that works, too, since that’s what really matters.

admin wrote a comment on September 22, 2009

Actually, it’s relatively “old” hardware which was bought when Windows XP was still the only thing going, so the playing field is pretty much level. You’re right, Windows XP is 8 years old, and that means a newer version of .NET is now available, which means various system libraries need to be upgraded, which in turn leads to more downloads and patches. However, you missed the mark on the download, since that only happened at the end, when I was too tired and frustrated to play the game anyway. So my frustration wasn’t not centred on the download, although that was the straw which broke the camels back. I do understand that their can be a lot of issues with networking, and just because data seems to be arriving in a trickle on my end, it doesn’t necessarily mean that it’s Microsoft’s fault.

My frustration is with their software installation and deployment model. It’s terrible when compared to other operating systems. Honestly, if I wanted to play a game on Linux, and the game required that I upgrade a core library like “libc,” that’s fine with me. Unlike Windows, Linux manages multiple versions of the same library perfectly. There is no such thing as “DLL Hell” on Linux or Mac OS X for a very good reason. Maybe that’s less of problem in Windows 7, I don’t know. And no, I have never seen advertising coming from an RPM package. That doesn’t mean it couldn’t happen, but placing it in the package could pose problems for the company wanting to get their software published on the package servers.

When I want to play Fallout 3 and pieces of it require .NET v2.3, and a new version of DirextX, a new video driver, and a patch from such and such a product, and blah, blah, blah, that’s all fine and dandy since that’s just the way software works. But I don’t want to spend my day finding all of those pieces and then going through the painful process of download, install, configure, and reboot. It’s painful and a complete waste of time. To download some software, I need to go through the Windows Genuine Advantage crap, while other pieces require that I comb through various web sites looking for that diamond in the rough. That one secret link which will give me the software I need.

The bottom line is that the process can be improved and I’m glad to hear that Windows 7 is addressing some of it, but it’s a long way from approaching the ease at which I can purchase, install, and deploy a Linux or Mac OS X application. It just works and I am using the application in seconds.

Care to comment?