In days of old, when knights were bold, and they kept their data on large reels of magnetic tape, the tapes were stored in a central tape library, and were mounted by request on mainframe computers. Each tape in the library was given a volume serial. One requested a tape by its volume serial, which was six characters — letters and numbers.

Once in a while, one might need a fresh tape to write information to, which one would then read back in the same program, and the tape would not need to be kept in the library afterward. These were called scratch tapes, and the volume serial “SCRTCH” was reserved for such requests.

Now, if you needed a scratch tape and made the mistake of requesting it as “SCRATCH”, the program that handled the mount requests would see that you used seven characters, and volume serials could not be more than six. But more than that, it actually recognized the specific name “SCRATCH” and gave an error message similar to this:

Error: Scratch tapes should be requested as "SCRTCH".

And you had to re-submit the request with the “correct” volume serial.

This was just stupid. The computer knew what you meant. There was no question about it. So why complain and make you re-submit? Just do it!

There was a lot of that sort of thing back then. But, hey, those were the old days, and we’d never do that any more, right?

Well, not right. We still do it plenty.

We’ve all gotten automated email that said, somewhere in it, “Please do not reply to this automatically generated email. Instead, direct any questions to frobozz@example.com.” Now, there’s a header field called “Reply-To” that can be put into any email message, and that every email program understands, which controls what address the reply goes to. All they had to do to make replies work the way they and you want them to was to put this into the headers of the message:

Reply-To: frobozz@example.com

But they didn’t. Lazy programming, poor human factors.

On the other hand, it might be intentional: they might actually not want you to reply, and by making you take the extra step of manually entering the reply address (or even using copy/paste) instead of just clicking “Reply”, they may be discouraging it.

But, then, the other day I got the online proxy materials for the 2010 IBM Stockholder Meeting. It includes a control number that allows me to vote my shares online, and it looks like this:

Proxy Login Details:
Control Number:1234 5566 7788 999

Note: When voting your shares, please DO NOT cut and paste the 15-digit Control Number. You will need to enter the 15-digit Control Number without the spaces.

Yeah, that’s just stupidity, unmitigated. It’s pretty likely that a good number of folks will transcribe a 15-digit number incorrectly, and it’s an avoidable situation. They could include the number without the spaces, so it can be copied and pasted. Even better, the web server could simply strip out spaces, dashes, or whatever, before passing it on to the proxy-vote handler. And in this case, they want you to do it and get it right, so the issue with the Reply-To doesn’t apply here.

More lazy programming, more poor human factors.

[I copied-and-pasted the number into a text editor, deleted the spaces, then copied-and-pasted that into the web page. It worked fine. But I suspect most people would just type it in, and then utter discouraging words if they typed it wrong.]

We need to think about this stuff when we provide user interfaces. Stop making every user do the work. Take an extra few minutes to help them out.