Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Cognitive dimensions of notations

From Wikipedia, the free encyclopedia
(Redirected from Hidden dependency)

Cognitive dimensions or cognitive dimensions of notations[1][2] are design principles for notations, user interfaces and programming languages, described by researcher Thomas R.G. Green[3] and further researched with Marian Petre.[1] The dimensions can be used to evaluate the usability of an existing information artifact, or as heuristics to guide the design of a new one, and are useful in Human-Computer Interaction design.[4]

Cognitive dimensions are designed to provide a lightweight approach to analyse the quality of a design, 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, changes intended to improve the design along one dimension.

List of the cognitive dimensions

[edit]

Thomas Green originally defined 14 cognitive dimensions:

Abstraction gradient
What are the minimum and maximum levels of abstraction exposed by the notation? Can details be encapsulated?
Closeness of mapping
How closely does the notation correspond to the problem domain world?
Consistency
After part of the notation has been learned, how much of the rest can be successfully guessed, either by combining the known elements in new ways or by trying to use new elements with related meanings? For example: if there exist a 'max(list)' operation to find the largest item in a list, the user may guess that 'min(list)' will find the smallest.
Diffuseness / terseness
How many symbols or how much space does the notation require to produce a certain result or express a meaning?
Error-proneness
To what extent does the notation influence the likelihood of the user making a mistake?
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 consequences?
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 in which the user must complete the tasks to use the system?
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 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, such as layout, color, or other cues?
Viscosity
Are there any inherent barriers to change in the notation? 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:[5]
  • '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

[edit]

In addition to the above, new dimensions are sometimes proposed in the HCI research field,[6] with different levels of adoption and refinement.

Such 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).

User activities

[edit]

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

[edit]

A design maneuver is a change made by the designer 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.[citation needed]

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. This can be done by incorporating style sheets, an abstraction that represent the common styling attributes of items in a document, to a notation where each item in a document has defined its own individual style.[citation needed] After this design maneuver is made, an editor that changes 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.[citation needed]

In addition to their application in programming language and notation design, design manoeuvres employing cognitive dimensions have been used more generally in human-computer interaction and user experience (UX) design. In these contexts, designers take the framework for use in evaluating interfaces, facilitating design decisions, and predicting possible user problems by analysing the impact of different system structural properties on user interaction. [7][8]

For example, the dimension of viscosity (resistance to change) can help design form-based interfaces to encourage features such as auto-completion, reusable templates, or bulk editing tools, which make it easier to make repeated modifications. Similarly, the role of expressiveness can be enhanced in dashboards by ensuring that interface elements clearly communicate their purpose in terms of labelling, grouping and visual hierarchy. The dimensions of hidden dependencies are of particular relevance in workflow and collaborative systems where the changes in one part of a system may have a non-obvious effect elsewhere; for designers, this may be addressed by bettering feedback mechanisms or visualising relationships between components. [7][9].

Such applications have shown the value of cognitive dimensions in the context of design manoeuvres, especially in identifying and handling trade-offs. Improvements along one dimension may have a negative impact on another dimension: for example, improvements to abstraction can result in negative impacts on the viscosity and efficiency but might also negatively impact the visibility by hiding important details. As a result, such trade-offs are often explored in iterative design processes, which include making prototypes and testing them with users, such that alternative interface designs are tested and refined depending on how well they perform along a variety of dimensions. [8] Cognitive dimensions are also often used in conjunction with other generally accepted usability evaluation methods such as heuristic evaluation, cognitive walkthroughs, and empirical user testing. While these methods involve a primary focus on identifying usability issues based on observation or predefined principles, the cognitive dimensions framework lends a complementary analytical view by thinking mainly about the underlying structural characteristics of systems, which influence the way that people understand, learn and interact with them. [10] By generalising the concept of design manoeuvres to programming notations, the framework gives a general vocabulary for reasoning about usability and design trade-offs across a vast range of interactive systems in order to support designers in creating systems with interfaces that are more learnable, efficient, and robust in practice. [7][8]

See also

[edit]

References

[edit]
  1. 1 2 Green, T. R. G.; Petre, M. (1996). "Usability analysis of visual programming environments: A 'cognitive dimensions' framework". Journal of Visual Languages & Computing. 7 (2): 131–174. CiteSeerX 10.1.1.22.1477. doi:10.1006/jvlc.1996.0009. S2CID 11750514.
  2. Green, T. R. G. (2000). "Instructions and Descriptions: some cognitive aspects of programming and similar activities". CiteSeerX 10.1.1.32.8003.
  3. Green, Thomas RG (1989). "Cognitive Dimensions of Notations". People and Computers. V: 443–460. CiteSeerX 10.1.1.128.270.
  4. A. F. Blackwell, C. Britton, A. Cox, T. R. G. Green, C. Gurr, G. Kadoda, M. S. Kutar, M. Loomes, C. L. Nehaniv, M. Petre, C. Roast, C. Roe, A. Wong, R. M. Young, "Cognitive Dimensions of Notations: Design Tools for Cognitive Technology", Springer Lecture Notes in Computer Science, vol. 2117, 325-341, 2001. doi:10.1007/3-540-44617-6_31
  5. "Using Cognitive Dimensions in the Classroom as a Discussion Tool for Visual Language Design". Archived from the original on 2004-07-03. Retrieved 2007-07-12.
  6. Blackwell, Alan F. (2000). "Dealing with New Cognitive Dimensions". CiteSeerX 10.1.1.18.7947. {{cite web}}: Missing or empty |url= (help)
  7. 1 2 3 Green, T. R. G.; Petre, M. (1996-06-01). "Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework". Journal of Visual Languages & Computing. 7 (2): 131–174. doi:10.1006/jvlc.1996.0009. ISSN 1045-926X.
  8. 1 2 3 Blackwell, Alan F. (2008-09-19). "Cognitive Dimensions of Notations: Understanding the Ergonomics of Diagram Use". Proceedings of the 5th international conference on Diagrammatic Representation and Inference. Diagrams '08. Berlin, Heidelberg: Springer-Verlag: 5–8. doi:10.1007/978-3-540-87730-1_4. ISBN 978-3-540-87729-5.
  9. Green, Thomas R. G.; Blackwell, Alan F. (October 1998). "Cognitive Dimensions of Information Artefacts: A Tutorial". www.semanticscholar.org. Retrieved 2026-07-28.
  10. Designing the User Interface.
[edit]