Wednesday, August 29, 2007

My Computer is Dead

My computer is dead. This should not be a surprise to anyone. That's what computers do; they die.

In this case, my desktop was about a year old. I had never really liked it from the beginning. It was a mid-level machine of a major brand, but everything about it seemed a little "cheap" -- gaps at the seams, flimsy plastic facade, loose keyboard with too many keys. All around too many features with almost no value.

So I shouldn't have been surprised. We have had a four or five power outages in the past few months. But each time the computer would come back up. Until Monday. I had shut it down for two days, came back, pushed the power button and... nothing. No click, no whir, no nothing.

No, I shouldn't be surprised. Especially since over the past month or so the fan had started to sound more like the little engine that could than a European sports car. A sure sign of strain. No, I shouldn't be surprised, but I am.

I am irked. All symptoms point to a bad power supply. So I could pay to have it replaced. But then again, it might be one of the other devices. I could spend several hours fiddling and trying to track it down, but there is no guarantee that after 4 hours and probably a hundred dollars of parts, I would be sure to have solved the problem.

What is most irksome is that this is about the fifth desktop machine I've owned. My last one, a Sony, I loved and was a workhorse for 3 years. I replaced it because it was getting old and slow; not because it failed. I would have got another Sony except they don't make desktops anymore. Before that, I had 4 Macintoshes: 3 gems (all still operable), and one lemon from the day it arrived. Oh, and a Power Computing Mac clone. Now that was a machine! It failed three times and was fixed -- under warranty-- three times.

So I have seen failure, but I also loved that Mac clone -- there was nothing that compared. But this is different. My current PC is a commodity, expendable, replaceable.

Computers die, and when they die they take your data with them. So I am going to take the "easy" way out and get a replacement -- bigger and faster than before -- and I'll spend 1-3 days reinstalling all of the software I need and doing disk-to-disk copies of my data.

Will I be happy? Well, sort of. I'll be happy to be back online. I'll have the simple pleasure of something new, shiny, fast... But I also face the tedium of digging out all my installation CDs and installing (and restarting) for hours at a time... and no guarantee I won't have to do it all over again in a year. In fact, I am almost guaranteed I will have to do it over again in the next 1-4 years. Because computers are fragile.

Which brings me to my point. (There's a point to this? I hear you asking.)

Why do I have to do this? Why do I have to waste 1-3 days rebuilding my new PC with all of the software and data I had on my now defunct machine?

Since computers are a commodity, why does the operating system insist on binding your data and applications to this fragile hardware? Sure, my data is in My Documents and I can recover that fairly easily (assuming that the disk isn't fried). But what good is the data without the applications to use it or even see it?

Computers are designed on a very basic structure, a "stack" of abstractions:


Data
Applications
Operating System
Hardware

If the bottom layer of the stack -- hardware -- is likely to fail, you want to make sure your other layers are separate and recoverable. You could move the entire top three levels (i.e. replicate the C: drive). But in reality, the operating system is also a commodity. And if it is Windows, it is also designed to expand and clutter your available space with updates, restore points and other data that chews up all available space. Point of fact: I don't know anyone who has done a Microsoft Windows upgrade and been happy. The only truly successful upgrade is to replace both the OS and the underlying hardware (i.e. buy a new computer).

So, in fact, the most practical separation is Hardware+OS vs. Application+Data, because the OS is dependent on the hardware and the data is dependent on the application. (You can see this because the OS is bundled with the hardware; and although some apps are usually "bundled" with computers, they are usually pale imitations of the applications users really need.)

What you, the user, would really like would be for there to be separation at all levels -- so you could take the data, the applications (i.e. your working environment), or both to a new machine. But the way Windows is built by default, all three of the top layers are installed on a single drive, C:\. And although the data is separated into a folder structure by default (My Documents), the applications are bound in a death-like grip with the OS which is impossible to break without reinstalling. You can move C:\Program Files to a new computer, but nothing will work, because the actual application components are spread around and -- more importantly -- Windows encourages the applications to build in dependencies on entries in the OS registry.

The result is a system that cannot easily be deconstructed into its logical parts (if at all). The solution, however, is both simple and obvious -- given the proper attitude and efforts of the interested parties. It is:
  • Redirect My Documents to separate media, not just a subfolder of one disk shared with the OS and applications. Preferably encourage more reliable and hardy flash drives for easy transport between machines. (2, even 4 gig flash drives are now a commodity, which is more than enough for most normal human beings. The 200-300 gig drives are primarily for the Windows operating system...)
  • Load the Windows registry dynamically while booting, to pick up application settings from a separate configuration folder. Preferably, allow alternate locations, so users could define multiple configurations (Home, Business, Video Editing, etc.) that could be selected at boot time.
  • Put the application files, configuration folder, and DLLs on a separate root, possibly separate media, so that the entire configuration can be moved from one machine to another en masse.

No comments: