24 Apr 2000
I've been reading Joel on Software. Motsly, I find Joel's writing to be dead on and well written. In some notes on UI design, he makes some arguments for why configurability isn't always good. I agree with him on most of it, but he made a couple sloppy points that I couldn't let pass.
This reminds me of when I tried to switch to a Dvorak keyboard. The trouble was, I don't use one computer. I use all kinds of computers. I use other people's computers. I use three computers fairly regularly at home and three at work. I use computers in the test lab at work. The trouble with customizing your environment is that it just doesn't propagate, so it's not even worth the trouble.
Whether it's worth the trouble depends on how much trouble it is (changing a machine to Dvorak can be trivial), and how much you move around. For me it's definitely worth the trouble. Nearly all my computer time is spent on my own machine or my own account on the school machines. Once a month or so, I type something on someone else's computer, and am reminded that most people don't use Dvorak, don't have emacs set up the way I do, don't have their window manager set up the way I do, etc. But it's only a couple minutes a month, and it's an insignificant inconvenience compared to the benefit of having my system set up the way I like. If I'm going to use their machine for more than 30 seconds, I just switch it to Dvorak and switch it back when I'm done.
It's like using any good tool. You get used to it, and you don't want to go back to mediocrity. It's more addictive than that because it's your habits acclimating, not just your tastes, but it still can be worth it.
It's not always that easy to change someone else's system around, and there's more to my environmental tweaks than the keyboard layout. (That's one of the reasons I bought a laptop; I always have a properly configured machine with me.) Sure, I would be more flexible if I could use everyone's machine as well as I could my own. But since I can't make someone else's setup match mine, all I can do is make mine match theirs, and the benefits of uniformity don't always win over improving my environment.
But here's the real killer:
"But wait!" you say. "It's important to have options for advanced users who want to tweak their environments!" In reality, it's not as important as you think.
And then he goes on to support that statement with:
Most advanced users use several computers regularly; they upgrade their computer every couple of years, they reinstall their operating system every three weeks. It's true that the first time they realized you could completely remap the keyboard in Word, they changed everything around to be more to their liking, but as soon as they upgraded to Windows 95 those settings got lost, and they weren't the same at work, and eventually they just stopped reconfiguring things. I've asked a lot of my "power user" friends about this; hardly any of them do any customization other than the bare minimum necessary to make their system behave reasonably.
But this argument doesn't support his point. He's saying here that advanced users do want to customize their systems, but that they eventually give up because it's too much trouble. For just about any desire, there will be some amount of punishment that will make people give up on pursuing it. That doesn't mean it's not important to them, only that it wasn't important enough to keep bearing the punishment.
Joel talks about how small interface disruptions build up to cause depression, but doesn't seem disturbed by the fact that people who wanted the system to work a certain way were ground down until they changed their own behavior. I don't disagree with his larger point, that giving people options they don't need may just slow them down. I don't even disagree that small tweaks to Windows apps might not be worth the trouble. But he makes it clear to me that there's already a market for configurability, if only it were less trouble.
Apparently, Windows users are constantly uninstalling and reinstalling applications and even the entire OS (!) in order to flush out bit rot. Each time their settings go away, and each time they redo fewer and fewer of their changes, slowly losing themselves in the mire of enforced conformity. Wow, that must suck! But guess what, folks: That's a Windows problem.
Having to wipe out applications because they've become senile, losing your personal configuration because it's entwined in the application or the system registry, and not having simple ways of copying your settings from one machine to another -- these are all Windows problems. Knowing that probably doesn't help you any, but I wanted to point it folks who thought it was just the way things had to be.
I've been accumulating customizations for ten years. They're exactly the same on four computers (running different operating systems), simply because I copied my personal files over, and I keep them in sync fairly automatically. Sometimes when I upgrade my software, I have to make a small adjustment to my settings, but that's about it.