{"id":39,"date":"2003-05-13T16:11:00","date_gmt":"2003-05-13T21:11:00","guid":{"rendered":"\/?p=39"},"modified":"2003-05-13T16:11:00","modified_gmt":"2003-05-13T21:11:00","slug":"a-taxonomy-of-cognitive-stress","status":"publish","type":"post","link":"http:\/\/esr.ibiblio.org\/?p=39","title":{"rendered":"A Taxonomy of Cognitive Stress"},"content":{"rendered":"<p>I have been thinking about UI design lately.  With some help from my<br \/>\nfriend Rob Landley, I&#8217;ve come up with a classification schema for the<br \/>\nlevels at which users are willing to invest effort to build<br \/>\ncompetence.<\/p>\n<p>The base assumption is that for any given user there is a maximum<br \/>\ncognitive load any given user is willing to accept to use an<br \/>\ninterface. I think that there are levels, analogous to Piagetian<br \/>\ndevelopmental thresholds and possibly related to them, in the<br \/>\ntrajectory of learning to use software interfaces.<\/p>\n<p>Level 0: I&#8217;ll only push one button.<\/p>\n<p>Level 1: I&#8217;ll push a sequence of buttons, as long as they&#8217;re all visible<br \/>\n         and I don&#8217;t have to remember anything between presses. These people<br \/>\n         can do checklists.<\/p>\n<p>Level 2: I&#8217;m willing to push as sequence of buttons in which later ones may<br \/>\n         not be visible until earlier ones have been pressed.  These people<br \/>\n         will follow pull-down menus; it&#8217;s OK for the display to change as long<br \/>\n         as they can memorize the steps.<\/p>\n<p>Level 3: I&#8217;m willing to use folders if they never change while I&#8217;m not looking.<br \/>\n         There can be hidden unchanging state, but nothing must ever<br \/>\n         happen out of sight.  These people can handle an incremental replace<br \/>\n         with confirmation.  They can use macros, but have no capability to<br \/>\n         cope with surprises other than by yelling for help.<\/p>\n<p>Level 4: I&#8217;m willing to use metaphors to describe magic actions.  A folder<br \/>\n         can be described by &#8220;These are all my local machines&#8221; or &#8220;these<br \/>\n         are all my print jobs&#8221; and is allowed to change out of sight in an<br \/>\n         unsurprising way.  These people can handle global replace, but must<br \/>\n         examine the result to maintain confidence.  These people will begin<br \/>\n         customizing their environment.<\/p>\n<p>Level 5: I&#8217;m willing to use categories (generalize about nouns).  I&#8217;m<br \/>\n         willing<br \/>\n         to recognize that all .doc files are alike, or all .jpg files are<br \/>\n         alike, and I have confidence there are sets of actions I can apply<br \/>\n         to a file I have never seen that will work because I know its type.<br \/>\n         (Late in this level knowledge begins to become articulate; these<br \/>\n         people are willing to give simple instructions over the phone or<br \/>\n         by email.)<\/p>\n<p>Level 6: I&#8217;m willing to unpack metaphors into procedural steps.  People at<br \/>\n         this level begin to be able to cope with surprises when the<br \/>\n         metaphor breaks, because they have a representation of process.<br \/>\n         People at this level are ready to cope with the fact that HTML<br \/>\n         documents are made up of tags, and more generally with<br \/>\n         simple document markup.<\/p>\n<p>Level 7: I&#8217;m willing to move between different representations of<br \/>\n         a document or piece of data.  People at this level know that<br \/>\n         any one view of the data is not the same as the data, and lossless<br \/>\n         transformations no longer scare them.  Multiple representations<br \/>\n         become more useful than confusing.  At this level the idea of<br \/>\n         structural rather than presentation markup begins to make sense.<\/p>\n<p>Level 8: I&#8217;m willing to package simple procedures I already understand.<br \/>\n         These people are willing to record a sequence of actions which<br \/>\n         they understand into a macro, as long as no decisions (conditionals)<br \/>\n         are involved.  They begin to get comfortable with report generators.<br \/>\n         At advanced level 8 they may start to be willing to deal with<br \/>\n         simple SQL.<\/p>\n<p>Level 9: I am willing to package procedures that make decisions, as long<br \/>\n         as I already understand them.  At his level, people begin to cope<br \/>\n         with conditionals and loops, and also to deal with the idea of<br \/>\n         programming languages.<\/p>\n<p>Level 10: I am willing to problem-solve at the procedural level, writing<br \/>\n          programs for tasks I don&#8217;t completely understand before<br \/>\n          developing them.<\/p>\n<p>I&#8217;m thinking this scale might be useful in classifying interfaces and<br \/>\ndeveloping guidelines for not exceeding the pain threshold of an<br \/>\naudience if we have some model of what their notion of acceptable<br \/>\ncognitive load is.<\/p>\n<p>(This is a spinoff from my book-in-progress, &#8220;The Art of Unix<br \/>\nProgramming&#8221;, but I don&#8217;t plan to put it in the book.)<\/p>\n<p>Comments, reactions, and refinements welcome.<\/p>\n<p><a href=\"http:\/\/enetation.co.uk\/comments.php?user=esr&amp;commentid=94293671\">Blogspot comments<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been thinking about UI design lately. With some help from my friend Rob Landley, I&#8217;ve come up with a classification schema for the levels at which users are willing to invest effort to build competence. The base assumption is that for any given user there is a maximum cognitive load any given user&hellip; <a class=\"more-link\" href=\"http:\/\/esr.ibiblio.org\/?p=39\">Continue reading <span class=\"screen-reader-text\">A Taxonomy of Cognitive Stress<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-39","post","type-post","status-publish","format-standard","hentry","category-technology","entry"],"_links":{"self":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts\/39","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=39"}],"version-history":[{"count":0,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=\/wp\/v2\/posts\/39\/revisions"}],"wp:attachment":[{"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=39"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=39"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/esr.ibiblio.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=39"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}