On Thu, 2007-04-26 at 03:37 -0400, Kragen Javier Sitaker wrote: > I've said several times that I prefer low-tech stuff, much to the > shock of some of my co-workers; I'm not sure how to explain this > adequately. > > The more I work with computers, the more I realize that complexity has > hidden costs --- complex things are less reliable, fail in more > unpredictable ways, are harder to diagnose problems in, are often > harder to fix, are usually more trouble to keep running, are harder to > change (especially to change without breaking), and are harder to get > to work with other things. These alone are significant reasons to > prefer a simpler solution to a more complex one unless the complex > solution has significant advantages. I think you might be overstating your case here. Or maybe you mean some of these things in a more narrow sense than I realize. I often find myself frustrated with the volume controls on various kinds of phones. They don't go low enough, or they don't go high enough, or I want a volume level in between two of the settings available, or the interface for changing it sucks and is hard to use while you're actually on the phone, which is the only time you're going to use it. But I have no idea what I can do about any of this. By contrast, even though the Gecko codebase is big and a little intimidating, I have done at least a bit of hacking on that to disable a feature I didn't like. So while I won't claim that Gecko is easy to change, I think the phone is harder to change -- because I have no idea how to fix any of these volume problems. It's all made of hardware that I don't understand and may be very difficult or impossible to change. In a similar vein, the way a lot of low-tech things are designed these days, it seems like they're designed to be something cheap that you don't think about replacing, instead of being something that's easy to fix. A lot of modern keyboards are built this way; unless you've got a Model M or one of its descendants, if you spill something on the keyboard, you're probably buying a new one. My cell phone recently broke; I didn't have the necessary skills to replace it, and Sprint didn't seem too interested in doing it either. I don't think this contradicts your later points about the dangers of complex design, though -- I'm sure Sprint was more than happy to have me instead spend a lot of time reading their marketing materials, picking a new plan, buying a new phone, and signing a new contract. I realize these aren't particularly good low-tech examples. I guess that's partly because everything's getting more high-tech. Probably the lowest-tech electronic thing on my desk is an alarm clock, and even it's pretty complicated. Two alarm settings, plus a nap timer, with the ability to have either buzzer or radio alarms for all of them. Maybe I just think software's easier to change because I know how to do it, whereas I know next to nothing about hardware. I've never done any soldering or anything like that. But I think this, in turn, is partly because it's easier to learn how to program. The only prerequisite is a computer, time, willingness, and dedication. Whereas learning to mess with hardware takes time, willingness, dedication, and a wide array of much more specialized tools, plus space to do the work in, plus probably some things I don't even know about. I don't disagree with any of the ultimate points you made in your e-mail. I'm just not sure some of these specific points you make in preference to low-tech are as broadly applicable as they sounded to me. -- Brett Smith


