Please note: In order to fully understand the cognitive mechanisms behind the use of forcing functions you should firstly see the entry on automatic versus controlled processes and also the entry on Human error (slips and mistakes).
A forcing function is an aspect of a design that prevents the user from taking an action without consciously considering information relevant to that action. It forces conscious attention upon something ("bringing to conciousness") and thus deliberately disrupts the efficient or automatised performance of a task.
Using a forcing function is selfevidently useful in safety-critical work
processes. It is however also useful in situations where the behaviour of the user is skilled, as in performing
routine or well-known tasks. Execution of this type of tasks is often partly or wholly automatized, requiring few or no attentional resources (controlled processes), and it can thus be necessary to "wake the user up" by deliberately disrupting the performance of the task. For example, if a user decides to delete five of his files one by one, there is a probability of the user commiting a so-called perseveration error (see "human error") and proceding to delete the sixth
file in that directory. The operation of selecting, pressing delete, and
confirming the deletion is simply so automatic that the user forgets to stop at the fifth file. If this file were an important system file, a mechanism for
'waking up' the user is needed as it would not be enough to
simply display the same warning dialog that was displayed before deletion of the
five normal files. The point is well illustrated by Norman (1988)
User: Remove file "My-most-important-work."
Computer: Are you certain you wish to remove the file "My-most-important-work"?
Computer: Are you certain?
User Yes, of course.
Computer The file "My-most-important-work" has been removed.
User: Oops, damn.
As the user is confirming the action and not the file name he/she will not not notice the error before it is too late (or maybe even not notice that the wrong file is deleted at all, unlike the scenario above). In a normal operating system accidental file deletion (if noticed by the user) is usually not catastrophical as file deletion is a reversible action.