Cognitive dimensions or cognitive dimensions of notations are design principles for notations, user interfaces and programming languages, described by researcher Thomas R.G. Green and further researched with Marian Petre. 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. 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. 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 world? Consistency After part of the notation has been learned, how much of the rest can be successfully guessed? 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: 'Knock-on viscosity' : a change in the code violates internal constraints in the program, whose resolution may violate further internal constraints.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.