When good interfaces go crufty

When good interfaces go crufty

In Vernor Vinge’s sci-fi novel A fire upon the deep, he presents the idea of “software archeology”. Vinge’s future has software engineers spending large amounts of time digging through layers of decades-old code in a computer system — like layers of dirt and rubbish in real-world archeology — to find out how, or why, something works.

So far, in 2002, this problem isn’t so bad. We call such electronic garbage “cruft”, and promise to get rid of it someday. But it’s not really important right now, we tell ourselves, because computers keep getting faster, and we haven’t quite got to the point where single programs are too large for highly coordinated teams to understand.

But what if cruft makes its way into the human-computer interface? Then you have problems, because human brains aren’t getting noticably faster. (At least, not in the time period we’re concerned with here.) So the more cruft there is in an interface, the more difficult it will be to use.