Interaction Design
Interaction design, sometimes referred as “IXD” is a subset of human- computer interaction (HCI) field. It is also a part of overall User Experience Design (UX) process. It is the study of man – machine interactions to complete a certain user task or goal. It deals with connect individual screens and guiding a user through a flow of actions. Interaction design involves understanding of user input & computer outputs when applied to software. But Interaction design is also a part of Industrial Design which involves physical products.
MicroInteractions – this is an emerging field of micro interactions which are subtle actions that shows accomplishments or feedback on some user actions. This involves light animations, motion designs, success messages, mouse-over actions, etc.
Successful interactive design uses technology and principles of good communication to create desired user experiences that are pleasurable and exciting. Below are some of the 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