Principles: #
The following guiding principles are based on various established Laws of UX outlined here.
-
Aesthetics - Not a replacement for good design, but helps compensate for minor flaws. Poor aesthetics can ruin an otherwise well designed functional flow.
(Aesthetic-Usability Effect) -
Avoid providing multiple ways to achieve the same goal within a singular workbench. Providing alternative methods seems like a benefit to the user but requires the user to process/understand why two methods exist and how they may differ.
“There should be one– and preferably only one –obvious way to do it.”
(The Zen of Python) -
When implementing functionality which is common within other workbenches, a developer should make every effort to ensure behavior of those functions remains consistent with pre-existing implementations.
-
Attempt to make user interactions and software responses as fluid and quick as possible. Ideally below 400ms.
(Doherty threshold) -
Avoid making interactive elements too small. The size of elements should be large enough to prevent a majority of ‘miss-clicks’.
(Fitts’s Law) -
Travel distance between functions and related interactive elements should be minimized to reduce incidence of errors.
(Fitts’s Law) -
Only expose the most common/likely settings or options a user may need by default. Advanced, or infrequently used controls should be hidden but readily accessible. This minimizes time required to make choices and increases efficiency.
(Hick-Hyman Law) -
Minimize superfluous options in exchange for broadly effective defaults. Advanced preferences shall be accessible via the parameter editor instead of the preferences dialog.
(Hick-Hyman Law) -
When implementing features or functions which are commonly found in other software, one should consider the method by which they function. Deviations from ‘reasonably expected behavior’ shall be clearly justified.
(Jakob’s Law) -
Behavior and element use across an application must remain consistent. Deviations shall be clearly justified.
(Jakob’s Law) -
Ensure functions and options are grouped logically and not dispersed randomly.
(Law of Common Region) -
Proper organization of like functionality in close proximity together help users understand and organize information better.
Related elements/functions should share similar visual symbology
(Law of Proximity / Law of Uniform Connectedness)