UX Definition‎ > ‎

Interaction Design Principles

a) Conceptual Design
  • Design and communicate a good conceptual model
  • A well-designed interface is transparent
  • Design an interface that visually communicates its conceptual model
  • Use progressive disclosure – structure the interface semantically
  • Provide meaningful paths and exits
  • Well-designed conceptual model helps
    • Learnability to advanced beginners and competent performers
    • Ease of use, error-free use, retention over time and subjective satisfaction for competent
    • and expert performers

b) Use Metaphors
  • Metaphors help users to build a conceptual model
  • Design icons and visual relative to each other to enhance the metaphor
  • Not all widgets are metaphors
  • Don’t need to take metaphors to logical extremes if it does not suit the design
  • Metaphors helps in
    • Learnability, ease of use and subjective satisfaction for novices and advanced beginners
    • Retention over time for all users


c) Use Constrains
  • The software encourages the user to do the right things at the right time
  • Prevents or discourages from doing wrong things and warns about the consequences
  • Constraints
  • Are good for novices and advanced beginners to minimize errors, help them learn the interface
    • make it easier and faster to use
    • May hamper competent and expert performers

d) Affordances and Mappings
  • It should be possible to determine the relationships
    • Between actions and results
    • Between controls and their effects
    • Between the system state and what is visible
  • Make controls look and feel different
  • Affordances and mappings
    • Help novices and advanced beginners learn the interface, make it easier and faster to use
    • and help in minimizing errors
    • Help competent performers to retain the interface over time
    • Help in mission-critical applications

e) Direct Manipulation
  • Allow users to directly manipulate objects
  • Use the object-action paradigm wherever possible
  • Extend metaphors only as long as it does not directly contradict the mental model
    • Helps novices and advanced beginners to learnability, ease of use and subjective satisfaction


f) Visual Design
  • Use visuals for effective communication
  • Design all visual elements relative to each other to enhance the conceptual model
  • Promote visual clarity – avoid clutter
  • Use visual work together with text
  • Graphics – icons, windows, dialog boxes, buttons – need to be designed as a communicative environment
  • Clear and consistent visual design
    • Improves learnability for novices and advanced beginners
    • Aids recall and subjective satisfaction for novices, advanced beginners and competent performers


g) Consistency
  •  Effective applications are consistent within themselves as well as with one another
  • WYSIWYG(what you see is what you get)
  • Sustain the context of user tasks and data. Be consistent with
    • Data across views
    • Results of actions
    • Functionality across tasks
    • Sequence of tasks
  • Be consistent between applications
  • Allow interoperability with other applications
  • Be consistent across versions
  • Be consistent in visual design
  • Consistency
    • Improves error free use for all users
    • Helps advanced beginners learn from other applications



h) Feedback
  • People expect physical actions to give physical results
  • Feedback makes users a feel that they are in charge
  • Give users full and continuous feedback about the results of actions
  •  Be brief and direct, use user’s vocabulary
  • Establish proper ‘tone of voice’
  • User time is precious – make good use of it
  • Give feedback to help users to detect and correct errors
  • Use sound for feedback selectively
  • Be useful rather than cute
  • Sounds are intrusive – benefit as well as a drawback
  • Good feedback
    • Helps novices, advanced beginners and competent performers learn quickly
    • Allows error recovery and improves ease of use and subjective satisfaction for all users



i) Visibility
  • By looking, the user can tell the state of the device and the alternatives for action
  • Dim out actions not available currently, but don’t make them invisible
  • Provide visual clues to allow users to understand where they are, what they are doing and what they can do next
    • Helps novices, advanced beginners and competent performers to learn the interface, makes it easy and error free to use and enhances subjective satisfaction
    • Improves the retention over time for all users


j) Standards
  • If all else fails, standardize
  • Following GUI standards helps in
    • Learnability of the interface for novices and advanced beginners
    • Reducing errors in operation for novices, advanced beginners and competent performers


k) Forgiving
  • If error is possible, someone will make it
  • Design to minimize the occurrence of errors
  • Make errors cost free
  • Make actions reversible
  • Warn about irreversible actions before doing them
  • If you allow users to customize, provide a way to restore defaults
  • Forgiving interface
    • Makes it more learnable and easy to use for novices and advanced beginners
    • Allows error recovery and enhances experience and subjective satisfaction of all users


l) Minimize User Memory and Task Load
  • Minimize use of user short term memory
  • Put knowledge in the world
  • Users are better at recognition than recall
  • Provide visual clues
  • Use the power of constraints and forcing functions
  • Allow for more efficient operation when the user has learnt the operations, (knowledge in the head)
  • Let the computer do what the computer can
    • Ensures learnability and ease of use for novices and advanced beginners
    • Minimizes errors and improves speed



m) Modality
  • Use modes judiciously – avoid unnecessary modes
  •  If using modes, give constant feedback about current mode
  • People are often disturbed while they are working, or they often change their mind
  • Modes may even be necessary
  • Modes can be used for helping novices and advanced beginners
  • Careful use of modes can make an interface learnable, error-free use, easy to use and fast to use for novices and advanced beginners
    • A modeless interface will allow competent performers and experts the ease of use as well as speed of use


n) Multiple Input Paths
  • Allow users to specify inputs through multiple paths
  • Users have different habits at different times
  • Users in different stages prefer different methods of input
  • Users familiar with a different software will find it quicker to learn your product
  •  Multiple input paths affects
  • Learnability for novices and advanced beginners
    • Ease of use and speed of use for competent and expert users


o) Customization
  • Modify look and feel
    • Colors, mouse buttons, tool bars, layouts etc.???
  • Enhance functionality
    • Develop custom style sheets, color pallets, add words to dictionary, add names to address books etc
  • Empower the experienced user to improve productivity through customization
    • Help users customize user tasks (rather than computer tasks)
  • Provide multiple inputs paths
    • Allow for keyboard shortcuts and type-ahead systems
  • Customization
    • Helps competent performers and experts to improve speed and ease of use and minimize errors
    • Threatens novices and advanced beginners with complexity of mental models