Tinkering endlessly with computer hardware and software can be fun... if you have the time. As for me, I eventually came to the paradoxical conclusion that the more I tuned a product to my specific needs, the less likely the product would actually work as intended—and the less likely I could find someone to help me when a problem did arise. Product manufacturers often tout the ability of their products to be configured to a user's idiosyncratic needs, but maybe users can most effectively minimize heartache this way:
The Shared Suffering Hypothesis: You're best off configuring a product so as to maximize the number of other people who can help identify and resolve problems with that configuration.
Here's an example: A number of years ago I set up a media PC, eschewing the small number of commercial media PCs then available to get a tricked-out gamer PC. I maxxed every spec—video card, hard drive, etc.—and for its day, this machine rocked. What didn't occur to me was that, with each component I picked, I was reducing the number of other people who had the same device I had. And upon receiving the box, I wiped it and installed an early beta of an obscure OS version. Fantastic! Now I had a blazingly fast PC, the likes of which were possessed by no one else on the planet!
I was a user community of one. When sorting through the inevitable driver weirdness and other nightmares, I had no one to turn to for help, because no one else shared this configuration or anything like it. The OEM and its component manufacturers, of course, had no experience with that OS, nor had the OS manufacturer ever tested on any of that hardware. The nascent media PC user community couldn't help either. This left me solving every configuration issue on my own. I spent hours on exciting tasks like trying to see if the PC motherboard would cope better with the hard drive configured for RAID 0 or RAID 1, or maybe I should try RAID 5? Damn, and all I wanted to do was watch TV on this thing.
Lesson learned, when I bought a new media PC a couple years later, I abandoned impressive computer specs in favor of amassing the largest number of people who could share my problems. If I ran into a problem, I wanted a hundred other people to have already hit it and collectively solved it. I purchased a basic media PC from a huge OEM—not because they made great media PCs, but because they sold a lot of them. I purchased the most vanilla configuration possible, more or less blindly accepting the OEM's self-serving default hardware recommendations. The more defaults I could accept, the more likely it was someone else would have something like the same box I did. When the box arrived, I tried hard to avoid changing anything from the default config, and in generally avoided installing funky apps on the box. In the end, the new PC wasn't a perfect media experience—but it worked, and I spent very little time keeping it that way.
(And now the impending forced cutover to digital cable in the U.S. is going to kill me. It's forcing me to rebuild a perfectly good media PC setup, all so that our seldom-watched analog cable TV can now be a seldom-watched digital cable TV. Once again I'll be searching for the solution that involves the least weird configuration.)
The problem here are the economics of configuration. You'd think you'd benefit by tailing a product to your needs, but I believe in most cases that benefit is overwhelmed by the benefits of not customizing. And the issue has implications for software designers: each time you add an option to your product, you might be making things worse for your users, not better. I'll take a cut at that question in the next post.
Next time: The economics of configuration
This is one of the reasons I use a Mac.
The smaller Mac ecosystem has long been counterintuitive in providing (in my opinion) a better experience. I think this is a due to a confluence of factors including Apple's obsessive minimalism and an extremely enthused userbase, but the fact was that if you had a problem it was typically not too difficult to find someone else who had it too.
Posted by: NickM | October 05, 2008 at 10:10 PM
Couldn't agree more.
In addition to the reasons you gave there is another argument against customization which applies more to software. *You get used to it*. This:
1) Forces you to repeat customization process every time you re-install the software or the machine. If you spent 1 hour on customizing per piece of software on your box this might not seem much if spread over the span of a year or two. But then your box invariably dies, you buy/build another and now you are suddenly facing the prospect of repeating customizations for everything at once. (Yes backups and "transfer my settings" thingies help but not nearly enough).
2) Makes it hard for you to use a machine that doesn't and/or cannot have the customizations for whatever reason. You can usually see this with people who have to fix/maintain/troubleshoot/help with something on other people boxes. Those that customize usually have a very hard time.
I used to laugh at people who used vi as their primary editor since I always installed something much more convenient and powerful on my machines. This was until I had to do lots of work on customer's Unix boxes and discovered that often times vi is the only thing available there.
These days I always buy stock machines, only install software that I absolutely need (and usually make sure I can run it from USB key if needed) and only ever tweak anything if I absolutely cannot live with the default. Saves lots of effort in the long run.
Posted by: Marvin | October 05, 2008 at 11:21 PM
I strongly disagree with you. You plumbed one extreme and made a handful of newbie mistakes, and then, burned from that experience, you ran screaming to the safety of true mediocrity :)
On custom hardware: do not, I repeat, do not, use a non-mainstream OS.
Furthermore, think long and hard before using RAID (the boot-up driver issues / repair & reinstall are problematic) and if you do go with RAID, do not choose anything that splits one logical volume over more than one disk; i.e. choose mirroring of some kind.
On pain of random data loss, never choose RAID 0 or JBOD.
If you stick to these two things, pretty much all other problems can be dealt with in isolation. If you have problem X with hardware A, you can search on those parameters. Confounding factors of other pieces of hardware are, frankly, very rare. As long as you don't bring oddball OSes into the mix, you're in good shape.
PS: I was a computer technician for three years, during my last years of secondary school for a year out. I built and upgraded computer systems on a daily basis. I must have installed Windows 95 well over 100 times. PC hardware is very much a commodity, and it is extremely rare that you get two different pieces of hardware from the *same* generation that don't just "plug and play".
Posted by: Barry Kelly | October 06, 2008 at 02:23 AM
@Marvin - Re customization issue, I have my own special tree filled with dual-OS custom scripts and executables, so that I have the same environment whether in Linux or in Windows (Cygwin bash in rxvt).
However, in general, there is at most two days or so of pain for the initialization of a new system, and most of it is unavoidable things like installing the latest software packages, like IDEs etc. Actually customizing individual bits of software is generally done in a just-in-time basis, and generally doesn't take more than 10 minutes at most. Amortized, it doesn't add up to much.
Posted by: Barry Kelly | October 06, 2008 at 02:26 AM
And then there's Emacs, configurable to the point of being programmable. However, I still swear by it.
Posted by: Christopher | October 06, 2008 at 03:39 AM
The impending digital transition shouldn't affect you at all. The switchover is for analog transmissions through the airwaves. Analog cable will continue to work fine for as long as your cable provider chooses to support it.
Posted by: Paul | October 06, 2008 at 09:54 AM
Of course when you and I worked at a certain software company on the other side of the lake, the decision on what hardware was easy, if you understood the prevailing logic. Buy exactly what the OS developers were using for their production machines, regardless of your particular usage (developer environment, home pc, media pc, etc) you were pretty much guaranteed that it would work perfectly out of the box and that all of the drivers would exist and work perfectly :-)
That was my standard operating procedure for years and it seemed to let me have hardware that would be stable and last as long as practical.
Posted by: Evan | October 06, 2008 at 10:24 AM
Tangentially related to your post - As I understand it the digital cutover only affects broadcast TV. If you have cable, what comes over the cable line is up to your cable provider, and is not not at all affected by the government's Feb 17 transition deadline. I have Comcast and so far they have stated they will continue to send analog signals over their cable just like they are doing today.
Posted by: Peter H | October 06, 2008 at 10:48 PM
Is this where 30 years of personal computers has brought us? Driver weirdness is "inevitable"? Getting new computers to simply work is a "nightmare"? We buy big-name computers, not because they’ve less bugs, but because they have _widely known_ bugs? We live with not-quite-right defaults because anything else could ruin our chances of fixing OEM defects? You’ve identified a new way that users have to adapt to the machine.
A large user community engaged in handling computer failures is not a solution. It’s a sign of a dreadful problem.
Posted by: Michael Zuschlag | October 07, 2008 at 10:32 AM
good thing companies are finally starting to release mac backup programs.
-jack
Posted by: online survey software | November 05, 2008 at 02:00 PM