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 Metaphores

> 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

  • Share/Bookmark
blog comments powered by Disqus