Put on your nostalgia hats. After the spectacular letdown that is the Oregon Trail iPhone game, I decided to figure out how to play the real version I did as a kid. Long story short (too late!), I got a nifty Apple ][ emulator and got it going. I also found a verion of Jeopardy! from 1987 that has one truly great feature: forgiving text entry. As you can see in these examples, it takes into account that a correct answer might take a different format than the database has. My response is on top, the database’s version below in parenthesis:

Does it use a heuristic algorithm? I sort of doubt it. I have a feeling there are just hard-coded variations associated with each response. This flexibility surprised me. I’ve learned from painful experience that these sorts of things— even these days— often take the shortcut of comparing the string entered literally, throwing errors for all manner of “mistakes.” I think the classic modern example is a phone number entry field in a web form. Sometimes it wants (XXX) XXX-XXXX, sometimes XXX-XXX-XXXX, and so on.
The right choice in the phone example is to accept any format and convert it into whatever the data storage system on the backend needs, placing the burden on the computer, not the user. After all, this is what machines do best. Humans, not so much.
The Jeopardy illustration provides great fodder for any developer who balks at building smart input processing mechanisms: If they could do it twenty years ago, on a primitive (by modern standards) system, why can’t it be done now?
Forgiving text input: Epic Win.
