Sat, 28 Apr 2007

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