This lecture is an introduction to Human-Computer Interaction and Usability. The lecture was given as a part of the “Accessible Web Design” summer course in Łódź in 2007 organized by BEST (Board of European Students of Technology).
2. Jakub Andrzejewski | www.janmedia.com
Plan for today’s lecture
• What is HCI and Usability?
• User Interface
• User-Centered Design
• Why is usability important?
• Usability Guidelines
• Designing and...
• ...evaluating the Design
3. Jakub Andrzejewski | www.janmedia.com
HCI – Human Computer Interaction
A discipline concerned with
– design
– evaluation
– implementation
of interactive computing systems for human use
The study of major phenomena surrounding the interaction
of humans with computers
4. Jakub Andrzejewski | www.janmedia.com
HCI – Human Computer Interaction
HCI is an interdisciplinary field, combining aspects of several major fields
including
• Computer science - for ideas concerning how to design algorithms
• Psychology and related fields - for knowledge concerning the capabilities of
human memory, motor skills, and perception; how people communicate with
each other and work in groups; and social dynamics
• Artificial intelligence and related fields - for ideas concerning how to
automate more work, or make computers that behave more like intelligent
assistants
• Computer graphics - for ideas concerning how to output visual information
• Design - for example, graphic design of visual output, industrial design of
mice and keyboards, etc.
5. Jakub Andrzejewski | www.janmedia.com
Usability
Design methodologies in HCI aim to create user interfaces
that are ‘usable’…
So what is Usability then?
The definition (ISO 9241-11)
The extent to which a product can be used by specified users to
achieve specified goals with effectiveness, efficiency and satisfaction
in a specified context of use.
6. Jakub Andrzejewski | www.janmedia.com
Usability
Usability is a quality attribute that assesses how easy user interfaces are
to use.
Usability is defined by five quality components:
– Learnability: How easy is it for users to accomplish basic tasks the
first time they encounter the design?
– Efficiency: Once users have learned the design, how quickly can
they perform tasks?
– Memorability: When users return to the design after a period of
not using it, how easily can they reestablish proficiency?
– Errors: How many errors do users make, how severe are these
errors, and how easily can they recover from the errors?
– Satisfaction: How pleasant is it to use the design?
7. Jakub Andrzejewski | www.janmedia.com
Usability
Remember:
The technology undernearth MUST work !
8. Jakub Andrzejewski | www.janmedia.com
User Interface
The window through which the human interacts with some
application on the computer.
But it can be also…
a particular machine, device, or other complex tool (the
system).
9. Jakub Andrzejewski | www.janmedia.com
User-Centered Design
An iterative process
Design
Evaluate
Prototype
10. Jakub Andrzejewski | www.janmedia.com
User-Centered Design
Find out
• who users are
• what their goals are
• what tasks they need to perform
Task Analysis
• Characterize what steps users need to take to achieve their goal
• Create scenarios of actual use
• Decide which users and tasks to support
Design based on this
Evaluate the design
•Test interface (with users, usability experts)
•Do this before implementation
11. Jakub Andrzejewski | www.janmedia.com
Why User-Centered Design
System will fail if it:
• does not do what the user needs
• is not appropriate for the user
Why don’t we just define a “good interface”?
• There is a huge variety of users and tasks
• Guidelines are usually too vague
e.g. “Provide feedback”, “Be intuitive”
That’s why we need users’ involvment !
12. Jakub Andrzejewski | www.janmedia.com
Who Builds UI’s ?
A team of specialists (ideally)
• graphic designers
• interaction / interface designers
• technical writers
• marketers
• test engineers
• software engineers
13. Jakub Andrzejewski | www.janmedia.com
Why Usability is Important
Good design promotes
• Effectiveness and efficiency
• Feelings of satisfaction, enjoyment
Bad design threatens
• Safety
• Accuracy
In the world of WWW users will LEAVE the website if it:
• is difficult to use
• fails to state what it offers and what users can do
• makes people feel lost
• is hard to read and doesn’t answer users’ key questions
http://www.tanzschulebuck.de/index2.htm
14. Jakub Andrzejewski | www.janmedia.com
Why Usability is Important
Which one is the speedometer?
Volume control
15. Jakub Andrzejewski | www.janmedia.com
Why Usability is Important
What is this website about?
16. Jakub Andrzejewski | www.janmedia.com
Why Usability is Important
How do you navigate? http://www.sjb.com.au/
17. Jakub Andrzejewski | www.janmedia.com
Why Usability is Important
What do I click? http://www.crumplerbags.com/
18. Jakub Andrzejewski | www.janmedia.com
Why Usability is Important
What do I click? http://laptop.org/
19. Jakub Andrzejewski | www.janmedia.com
Why Usability is Important
How do I find things? http://www.brown.edu/
20. Jakub Andrzejewski | www.janmedia.com
Why Usability is Important
Vertical menu – is it easy to read? http://www.tampax.com/home.php
21. Jakub Andrzejewski | www.janmedia.com
Why Usability is Important
I’m outta here ! http://www.neiu.edu/~flanglab/
22. Jakub Andrzejewski | www.janmedia.com
UI Design
UI design is humbling
• Your attempt may work right, look great
• But … users may not be able to use it
• Don’t take it personally! That’s why we iterate!
23. Jakub Andrzejewski | www.janmedia.com
UI Design Guidelines
• There are lots of them
• Based on experience and common sense
• Often don’t say HOW to implement them
24. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
1. Visibility of system status
The system should always keep users informed about what is
going on, through appropriate feedback within reasonable time.
25. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
1. Visibility of system status - Examples
• Hourglass
• Completion bar
• quot;Your order has been receivedquot; page
• quot;Breadcrumbsquot;
• Rollover buttons
• Current selection
26. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
2. Match between system and the real world
The system should speak the users' language, with words, phrases
and concepts familiar to the user, rather than system-oriented
terms. Follow real-world conventions, making information appear
in a natural and logical order
• File-folder tabs for navigation
• Buttons which act pushed when you click on them
27. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
3. User control and freedom
Users often choose system functions by mistake and will need a
clearly marked quot;emergency exitquot; to leave the unwanted state
without having to go through an extended dialogue. Support
undo and redo.
• quot;Undoquot; button
• Stop button on browser
• quot;Remove from cartquot;
• Close window
• Unplug the machine
28. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
4. Consistency and standards
Users should not have to wonder whether different words,
situations, or actions mean the same thing. Follow platform
conventions.
• Cart icon for shopping
• underline links and make them blue
29. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
5. Error prevention
Even better than good error messages is a careful design which
prevents a problem from occurring in the first place. Either
eliminate error-prone conditions or check for them and present
users with a confirmation option before they commit to the
action.
• quot;Are you sure?quot; message
• Validation - check for @ sign in e-mail addresses
• Clear labels - quot;Check Out NOW.quot;
• Large enough buttons
30. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
6. Recognition rather than recall
Minimize the user's memory load by making objects, actions, and
options visible. The user should not have to remember
information from one part of the dialogue to another. Instructions
for use of the system should be visible or easily retrievable
whenever appropriate.
• Choose from list of options
• Mouse-over tool tips
• Help system always available
31. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
7. Flexibility and efficiency of use
Accelerators -- unseen by the novice user -- may often speed up
the interaction for the expert user such that the system can cater
to both inexperienced and experienced users. Allow users to tailor
frequent actions.
• Different methods for novice and expert - mouse vs keyboard
• Frequently-used actions become first choice - on Mapquest, the
addresses you've looked up show up as quot;Recent Searchesquot; the
next time.
• First menu item in ‘Messages’ is “Write new message” – your
cellphone
32. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
8. Aesthetic and minimalist design
Dialogues should not contain information which is irrelevant or
rarely needed. Every extra unit of information in a dialogue
competes with the relevant units of information and diminishes
their relative visibility..
• Omit unnecessary words
• Leave clutter off the pages, and that adorable animated gif you
think is so cool. Cute once, annoying forever.
33. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
9. Help users recognize, diagnose, and recover from
errors
Error messages should be expressed in plain language (no codes),
precisely indicate the problem, and constructively suggest a
solution.
• Useful error messages - quot;Incorrect Password. Check to see if
your caps lock key is on.quot;
• On Google - quot;Did you mean web site?quot; when you typed web site
34. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
9. Help users recognize, diagnose, and recover from
errors
35. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
9. Help users recognize, diagnose, and recover from
errors
36. Jakub Andrzejewski | www.janmedia.com
10 Design Guidelines
10. Help and documentation
Even though it is better if the system can be used without
documentation, it may be necessary to provide help and
documentation. Any such information should be easy to search,
focused on the user's task, list concrete steps to be carried out,
and not be too large.
• Your site should be designed so well that documentation is not
necessary.
• If not, documentation and help should be readily available, clear,
and correct.
• Popup help
• Clear link to customer service
37. Jakub Andrzejewski | www.janmedia.com
Designing a UI prototype
Many methods and tools
• paper prototyping (low-fidelity)
• computer prototyping (low and high fidelity,
interactive)
• PowerPoint (low-fidelity)
• Adobe Acrobat (low-fidelity)
• Visio (low-fidelity)
• Denim (low-fidelity)
• Dreamweaver (HTML) (high-fidelity)
• Visual Basic (high-fidelity)
38. Jakub Andrzejewski | www.janmedia.com
Designing a UI prototype
Which one is the best?
It depends:
• for early stage design, low fidelity: paper, PowerPoint,
Visio
• more refined prototypes: Adobe Acrobat,
Dreamweaver
• for high-fidelity: Visual Basic
39. Jakub Andrzejewski | www.janmedia.com
Designing a UI prototype
Why is it good to prototype? Why not just implement?
• Takes only a few hours
• Can test multiple alternatives
• Can change easily
• Allows designers to work together
40. Jakub Andrzejewski | www.janmedia.com
Designing a UI prototype
Example of a paper prototype
41. Jakub Andrzejewski | www.janmedia.com
Designing a UI storyboard
Example of a PowerPoint storyboard
What is a storyboard?
Low fidelity prototype - a series of screen sketches.
Used to illustrate and organize their ideas and obtain feedback.
Benefits
• Provides an overview of the system
• Demonstrates the functionality of the storyboard elements
• Demonstrates the navigation scheme
• Can check whether the presentation is accurate and complete
• Can be evaluated by users.
42. Jakub Andrzejewski | www.janmedia.com
Evaluating UI designs
How can we ensure that what we’ve designed works?
... TEST IT !
43. Jakub Andrzejewski | www.janmedia.com
Usability Testing
Testing the design on real end-users !
But how many users do we need?
It’s better to test frequently with fewer users !
44. Jakub Andrzejewski | www.janmedia.com
Usability Testing
We can get:
• Qualitative data (from notes: easy to use, problematic, ...)
• Quantitative data
• Time to complete a task
• Accuracy – how many errors
46. Jakub Andrzejewski | www.janmedia.com
Preparation for the Test
Select your participants
• understand background of intended users
• use a questionnaire to get the people you need
Prepare scenarios that are
• typical of the product during actual use
• make prototype support these (small, yet broad)
Run pilot test
• check the time
• check if the prototype works as intended
47. Jakub Andrzejewski | www.janmedia.com
Conducting the Test
Three or Four testers (preferable)
• facilitator - only team member who speaks
gives instructions & encourages thoughts, opinions
•computer - knows application logic & controls it
always simulates the response, w/o explanation
•observer(s) - take notes & recommendations
Typical session is approximately 1.5-2hours
preparation, the test, debriefing
48. Jakub Andrzejewski | www.janmedia.com
Conducting the Test
1. Greet
2. Get forms filled, assure confidentiality, etc.
3. Hand pre-questionnaire
4. Test
5. Facilitator hands written tasks to the user (must be
unambiguous and not too ‘helpful’)
6. facilitator keeps getting “output” from participant
What are you thinking right now?”, “Think aloud”
49. Jakub Andrzejewski | www.janmedia.com
Conducting the Test
Concluding the test...
• Fill out post-evaluation questionnaire
• Ask questions about parts you saw problems on
• Gather impressions (likes, dislikes)
• Give thanks
50. Jakub Andrzejewski | www.janmedia.com
Analyzing Data
Sort & prioritize observations
• what was important?
• lots of problems in the same area?
Create a written report on findings (optional)
• can be short or concise
Do not wait! Refine the prototype ASAP
Test again if needed
51. Jakub Andrzejewski | www.janmedia.com
Heuristic Analysis
Helps find usability problems in a UI design
• Small set (3-5) of evaluators examine UI
• independently check for compliance with usability
principles (“heuristics”)
• different evaluators will find different problems
• evaluators only communicate afterwards
• findings are then aggregated
Can perform on working UI or on sketches
... is cost effective
52. Jakub Andrzejewski | www.janmedia.com
Heuristic Analysis - Steps
1. Pre-evaluation training
• give evaluators needed domain knowledge and
information on the scenarios
2. Evaluation
• individuals evaluate and then aggregate results
3. Result Analysis
• determine how severe each problem is (priority)
• suggest a solution
4. Debriefing
• discuss the outcome with design team
53. Jakub Andrzejewski | www.janmedia.com
Heuristic Analysis - Steps
At least two passes for each evaluator
• first to get feel for flow and scope of system
• second to focus on specific elements
Assistance from domain experts
• If system is walk-up-and-use or evaluators are domain experts,
then no assistance needed
• Otherwise might supply evaluators with scenarios and have
domain experts standing by
55. Jakub Andrzejewski | www.janmedia.com
Summary
1. Usability is important (not a key to success though)
2. UCD is a key component of the development initiative
3. Early testing is essential
4. Usability doesn’t have to be expensive… and
5. … is may save/win big money later!