Principles of user interface design

The principles of user interface design are intended to improve the quality of user interface design. According to Lucy Lockwood's approach of usage-centered design, these principles are:


 * The structure principle: Design should organize the user interface purposefully, in meaningful and useful ways based on clear, consistent models that are apparent and recognizable to users, putting related things together and separating unrelated things, differentiating dissimilar things and making similar things resemble one another. The structure principle is concerned with overall user interface architecture.
 * The simplicity principle: The design should make simple, common tasks easy, communicating clearly and simply in the user's own language, and providing good shortcuts that are meaningfully related to longer procedures.
 * The visibility principle: The design should make all needed options and materials for a given task visible without distracting the user with extraneous or redundant information. Good designs don't overwhelm users with alternatives or confuse with unneeded information.
 * The feedback principle: The design should keep users informed of actions or interpretations, changes of state or condition, and errors or exceptions that are relevant and of interest to the user through clear, concise, and unambiguous language familiar to users.
 * The tolerance principle: The design should be flexible and tolerant, reducing the cost of mistakes and misuse by allowing undoing and redoing, while also preventing errors wherever possible by tolerating varied inputs and sequences and by interpreting all reasonable actions reasonable.
 * The reuse principle: The design should reuse internal and external components and behaviors, maintaining consistency with purpose rather than merely arbitrary consistency, thus reducing the need for users to rethink and remember.

According to Jef Raskin there are two laws of user interface design:


 * First Law: A computer shall not harm your work or, through inactivity, allow your work to come to harm.
 * Second Law: A computer shall not waste your time or require you to do more work than is strictly necessary.

Additionally he mentions that "users should set the pace of an interaction", meaning that a user should not be kept waiting unnecessarily and that an interface should be monotonous with no surprises "the principle of monotony".