Cognitive dimensions
Encyclopedia
Cognitive dimensions or Cognitive dimensions of notations are design principles for notations, user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

s and programming language design
Programming language theory
Programming language theory is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features. It falls within the discipline of computer science, both depending on and affecting...

, described by researchers Thomas R.G. Green and Marian Petre. The dimensions can be used to evaluate the usability
Usability
Usability is the ease of use and learnability of a human-made object. The object of use can be a software application, website, book, tool, machine, process, or anything a human interacts with. A usability study may be conducted as a primary job function by a usability analyst or as a secondary job...

 of an existing information artifact, or as heuristics to guide the design of a new one.

Cognitive dimensions are designed to provide a lightweight approach to analysis of a design quality, rather than an in-depth, detailed description. They provide a common vocabulary for discussing many factors in notation, UI or programming language design. Also, cognitive dimensions help in exploring the space of possible designs through design maneuvers.

The authors identify four main user activities with interactive artifacts: incrementation [creation], transcription, modification and exploratory design. Each activity is best served by a different trade-off in the usability on each dimension. For example, a high viscosity (resistance to change) is harmful for modification and exploration activities, but less severe for the one-off tasks performed in transcription and incrementation.

Design maneuvers

A design maneuver is a change in the notation design to alter its position within a particular dimension. Dimensions are created to be pairwise independent, so that the design can be altered in one dimension while keeping a second one constant.

But this usually results in a trade-off between dimensions. A modification increasing the usability of the notation in one dimension (while keeping a second one constant) will typically reduce its usability in a third dimension. This reflects an assumption in the framework that there is no perfect interface and that trade-offs are a fundamental part of usability design.

An example of a design maneuver is reducing the viscosity of a notation by adding abstraction mechanisms. Stylesheets are an example of a notation where this trade-off is made: a style sheet is an abstraction that represent the common styling attributes of items in a document. Changing the style sheet will modify all items at once, eliminating the repetition viscosity present in the need to change the style of each individual item.

List of the cognitive dimensions

Thomas Green originally defined these cognitive dimensions:

Abstraction gradient : What are the minimum and maximum levels of abstraction
Abstraction (computer science)
In computer science, abstraction is the process by which data and programs are defined with a representation similar to its pictorial meaning as rooted in the more complex realm of human life and language with their higher need of summarization and categorization , while hiding away the...

 exposed by the notation? Can details be encapsulated?

Closeness of mapping : How closely does the notation correspond to the problem
Problem domain
A problem domain is the area of expertise or application that needs to be examined to solve a problem. A problem domain is simply looking at only the topics you are interested in, and excluding everything else. For example, if you were developing a system trying to measure good practice in...

 world?

Consistency : After part of the notation has been learned
Learnability
-Software testing:In software testing learnability, according to ISO/IEC 9126, is the capability of a software product to enable the user to learn how to use it...

, how much of the rest can be successfully guessed?

Diffuseness / terseness : How many symbol
Symbol (formal)
For other uses see Symbol In logic, symbols build literal utility to illustrate ideas. A symbol is an abstraction, tokens of which may be marks or a configuration of marks which form a particular pattern...

s or how much space does the notation require to produce a certain result or express a meaning
Meaning (semiotics)
In semiotics, the meaning of a sign is its place in a sign relation, in other words, the set of roles that it occupies within a given sign relation. This statement holds whether sign is taken to mean a sign type or a sign token...

?

Error-proneness : To what extent does the notation influence the likelihood of the user making a mistake
User Error
A user error is an error made by the human user of a complex system, usually a computer system, in interacting with it. Although the term is sometimes used by Human Computer Interaction practitioners, the more formal human error term is used in the context of human reliability.User Error and...

?

Hard mental operations : How much hard mental processing lies at the notational level, rather than at the semantic level? Are there places where the user needs to resort to fingers or penciled annotation to keep track of what’s happening?

Hidden dependencies : Are dependencies between entities in the notation visible or hidden? Is every dependency indicated in both directions? Does a change in one area of the notation lead to unexpected side-effect
Side effect (computer science)
In computer science, a function or expression is said to have a side effect if, in addition to returning a value, it also modifies some state or has an observable interaction with calling functions or the outside world...

s?

Juxtaposability : Can different parts of the notation be compared side-by-side at the same time?

Premature commitment : Are there strong constraints on the order with which tasks must be accomplished
Temporal isolation
In computer science, temporal isolation is the capability of a set of processes running on the same node to run without interferences concerning their temporal constraints among each other....

?
Are there decisions that must be made before all the necessary information is available? Can those decisions be reversed or corrected later?


Progressive evaluation : How easy is it to evaluate and obtain feedback
Feedback
Feedback describes the situation when output from an event or phenomenon in the past will influence an occurrence or occurrences of the same Feedback describes the situation when output from (or information about the result of) an event or phenomenon in the past will influence an occurrence or...

 on an incomplete solution?

Role-expressiveness : How obvious is the role of each component of the notation in the solution as a whole?

Secondary notation and escape from formalism : Can the notation carry extra information by means not related to syntax
Secondary notation
In design, a secondary notation is defined as "visual cues which are not part of formal notation". Properties like position, indentation, color, symmetry, when used to convey information, are secondary notation....

, such as layout, color, or other cues?

Viscosity
Are there in the notation any inherent barriers to change? How much effort is required to make a change to a program expressed in the notation?
This dimension can be further classified into the following types:
  • 'Knock-On viscosity' : a change in the code violates internal constraints in the program, whose resolution may violate further internal constraints.
  • 'Repetition viscosity' : a single action within the user’s conceptual model requires many, repetitive device actions.
  • 'Scope viscosity' : a change in the size of the input data set requires changes to the program structure itself.


Visibility : How readily can required parts of the notation be identified, accessed and made visible?

Other dimensions

In addition to the above, new dimensions are sometimes proposed in the HCI research field, with different levels of adoption and refinement. These candidate dimensions are based on research outside the Cognitive Dimensions framework, and are adapted to it as a way to summarize that research into the hands-on approach encouraged by it.

Some of these candidate dimensions include Creative ambiguity (does the notation encourage interpreting several meanings of the same element?), Indexing (are there elements to guide finding a specific part?), Synopsis ("gestalt view" of the whole annotated structure) or Unevenness (some creation paths are easier than others, which bias the expressed ideas in a developed artifact).

See also

  • Deutsch Limit
    Deutsch Limit
    The Deutsch limit is an adage about visual programming languages originated by Peter Deutsch that states:The term was made up by Fred Lakin, after Peter Deutsch made the following comment at a talk on visual programming by Scott Kim and Warren Robinett: "Well, this is all fine and well, but the...

    , an adage about the number of elements in a visual language.
  • Software visualization
    Software visualization
    Software visualization is the static or animated 2-D or 3-D visual representation of information about software systems based on their structure, size, history, or behavior....

  • Cognitive Walkthrough
    Cognitive walkthrough
    The cognitive walkthrough method is a usability inspection method used to identify usability issues in a piece of software or web site, focusing on how easy it is for new users to accomplish tasks with the system...

    , another method for evaluating the usability of an interface.
  • Homoiconicity
    Homoiconicity
    In computer programming, homoiconicity is a property of some programming languages, in which the primary representation of programs is also a data structure in a primitive type of the language itself, from the Greek words homo meaning the same and icon meaning representation...

    , a representation feature of some programming languages.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK