71 lines
4.9 KiB
Plaintext
71 lines
4.9 KiB
Plaintext
A Taxonomy of Cognitive Stress
|
|
<p>I have been thinking about UI design lately. With some help from my<br />
|
|
friend Rob Landley, I’ve come up with a classification schema for the<br />
|
|
levels at which users are willing to invest effort to build<br />
|
|
competence.</p>
|
|
<p>The base assumption is that for any given user there is a maximum<br />
|
|
cognitive load any given user is willing to accept to use an<br />
|
|
interface. I think that there are levels, analogous to Piagetian<br />
|
|
developmental thresholds and possibly related to them, in the<br />
|
|
trajectory of learning to use software interfaces.</p>
|
|
<p>Level 0: I’ll only push one button.</p>
|
|
<p>Level 1: I’ll push a sequence of buttons, as long as they’re all visible<br />
|
|
and I don’t have to remember anything between presses. These people<br />
|
|
can do checklists.</p>
|
|
<p>Level 2: I’m willing to push as sequence of buttons in which later ones may<br />
|
|
not be visible until earlier ones have been pressed. These people<br />
|
|
will follow pull-down menus; it’s OK for the display to change as long<br />
|
|
as they can memorize the steps.</p>
|
|
<p>Level 3: I’m willing to use folders if they never change while I’m not looking.<br />
|
|
There can be hidden unchanging state, but nothing must ever<br />
|
|
happen out of sight. These people can handle an incremental replace<br />
|
|
with confirmation. They can use macros, but have no capability to<br />
|
|
cope with surprises other than by yelling for help.</p>
|
|
<p>Level 4: I’m willing to use metaphors to describe magic actions. A folder<br />
|
|
can be described by “These are all my local machines” or “these<br />
|
|
are all my print jobs” and is allowed to change out of sight in an<br />
|
|
unsurprising way. These people can handle global replace, but must<br />
|
|
examine the result to maintain confidence. These people will begin<br />
|
|
customizing their environment.</p>
|
|
<p>Level 5: I’m willing to use categories (generalize about nouns). I’m<br />
|
|
willing<br />
|
|
to recognize that all .doc files are alike, or all .jpg files are<br />
|
|
alike, and I have confidence there are sets of actions I can apply<br />
|
|
to a file I have never seen that will work because I know its type.<br />
|
|
(Late in this level knowledge begins to become articulate; these<br />
|
|
people are willing to give simple instructions over the phone or<br />
|
|
by email.)</p>
|
|
<p>Level 6: I’m willing to unpack metaphors into procedural steps. People at<br />
|
|
this level begin to be able to cope with surprises when the<br />
|
|
metaphor breaks, because they have a representation of process.<br />
|
|
People at this level are ready to cope with the fact that HTML<br />
|
|
documents are made up of tags, and more generally with<br />
|
|
simple document markup.</p>
|
|
<p>Level 7: I’m willing to move between different representations of<br />
|
|
a document or piece of data. People at this level know that<br />
|
|
any one view of the data is not the same as the data, and lossless<br />
|
|
transformations no longer scare them. Multiple representations<br />
|
|
become more useful than confusing. At this level the idea of<br />
|
|
structural rather than presentation markup begins to make sense.</p>
|
|
<p>Level 8: I’m willing to package simple procedures I already understand.<br />
|
|
These people are willing to record a sequence of actions which<br />
|
|
they understand into a macro, as long as no decisions (conditionals)<br />
|
|
are involved. They begin to get comfortable with report generators.<br />
|
|
At advanced level 8 they may start to be willing to deal with<br />
|
|
simple SQL.</p>
|
|
<p>Level 9: I am willing to package procedures that make decisions, as long<br />
|
|
as I already understand them. At his level, people begin to cope<br />
|
|
with conditionals and loops, and also to deal with the idea of<br />
|
|
programming languages.</p>
|
|
<p>Level 10: I am willing to problem-solve at the procedural level, writing<br />
|
|
programs for tasks I don’t completely understand before<br />
|
|
developing them.</p>
|
|
<p>I’m thinking this scale might be useful in classifying interfaces and<br />
|
|
developing guidelines for not exceeding the pain threshold of an<br />
|
|
audience if we have some model of what their notion of acceptable<br />
|
|
cognitive load is.</p>
|
|
<p>(This is a spinoff from my book-in-progress, “The Art of Unix<br />
|
|
Programming”, but I don’t plan to put it in the book.)</p>
|
|
<p>Comments, reactions, and refinements welcome.</p>
|
|
<p><a href="http://enetation.co.uk/comments.php?user=esr&commentid=94293671">Blogspot comments</a></p>
|