Anerror-tolerant design (orhuman-error-tolerant design[1]) is one that does not unduly penalize user orhuman errors. It is the human equivalent offault tolerant design that allows equipment to continue functioning in the presence of hardware faults, such as a "limp-in" mode for anautomobile electronics unit that would be employed if something like theoxygen sensor failed.
Use of forcing functions orbehavior-shaping constraints is one technique in error-tolerant design. An example is theinterlock or lockout of reverse in thetransmission of a moving car. This prevents errors, and prevention of errors is the most effective technique in error-tolerant design. The practice is known aspoka-yoke in Japan where it was introduced byShigeo Shingo as part of theToyota Production System.
The next most effective technique in error-tolerant design is the mitigation or limitation of the effects of errors after they have been made. An example is a checking or confirmation function such as an"Are you sure" dialog box with the harmless option preselected in computersoftware for an action that could have severe consequences if made in error, such as deleting or overwriting files (although the consequence of inadvertent file deletion has been reduced via features such as thetrash can inMac OS, which has been introduced in mostGUI interfaces). Adding too great a mitigating factor in some circumstances can become a hindrance, where the confirmation becomes mechanical this may become detrimental - for example, if a prompt is asked for every file in a batch delete, one may be tempted to simply agree to each prompt, even if a file is deleted accidentally.
Another example isGoogle's use ofspell checking on searches performed through their search engine. The spell checking minimises the problems caused by incorrect spelling by not only highlighting the error to the user, but by also providing a link to search using the correct spelling instead. Searches like this are commonly performed using a combination ofedit distance,soundex, andmetaphone calculations.