Design/Principles

From The Document Foundation Wiki
Jump to: navigation, search


I principles.png
All designs for LibreOffice should be checked against these principles. They are, however, subject to change. If you're unclear on their meanings, this presentation might help.

These principles are currently mostly copies of those set out by Mozilla. To see their relevant bugs, use this page to navigate their bug tracker.


Speedy

ux-visual-hierarchy
Controls that are more important or more commonly used should leverage visual variables such as size and contrast so that they have more dominance and weight relative to other controls.

ux-minimalism
Interfaces should be as simple as possible, both visually and interactively. Interfaces should avoid redundancy. [Source: Nielsen]

ux-efficiency
Interfaces should be as efficient as possible, minimizing the complexity of actions and the overall time to complete a task. [Source: Nielsen]

ux-interruption
Interfaces should not interrupt the user. Interfaces should never ask the user a question that they are not prepared to answer simply for a false sense of control. In general, software should only speak when spoken to.

ux-consistency
Software should be internally consistent with itself and externally consistent with similar interfaces to leverage the user's existing knowledge, unless this would be detrimental to usability. [Source: Nielsen]

Self-Explanatory

ux-affordance
Controls should visually express how the user should interact with them. [Source: Norman]

ux-natural-mapping
Controls should be placed in the correct location relative to the effect that they will have. [Source: Norman]

ux-feedback
Interfaces should provide feedback about their current status. Users should never wonder what state the system is in. [Source: Nielsen]

ux-discovery
Users should be able to discover functionality and information by visually exploring the interface, they should not be forced to recall information from memory. [Source: Nielsen]

ux-jargon
Users should not be required to understand any form of implementation-level terminology. (This principle is a special case of ux-implementation-level). [Source: Nielsen]

Errorproof

ux-undo
Actions should support undo so that users remain in control.

ux-error-recovery
Interfaces should proactively help users recover from both user errors and technology errors. (A preferable case is to address through ux-error-prevention so that the error does not occur). [Source: Nielsen]

ux-error-prevention
Interfaces should proactively try to prevent errors from happening. [Source: Nielsen]

ux-mode-error
Users should not encounter errors because the interface is in a different state than they expected it to be. (This principle is a special case of ux-error-prevention).

ux-implementation-level
Interfaces should not be organized around the underlying implementation and technology in ways that are illogical, or require the user to have access to additional information that is not found in the interface itself. [Source: Nielsen, Cooper]

ux-control
Users should always feel like they are in control of their software. [Source: Nielsen]

Polite

ux-tone
Interfaces should not blame the user, or communicate in a way that is overly negative or dramatic.