CMPUT 301: Lecture 27 Help and Documentation Martin Jagersand Department of Computing Science University of Alberta
CMPUT 301: Lecture 27Help and Documentation
Martin Jagersand
Department of Computing ScienceUniversity of Alberta
2
User SupportCommon Fallacies
• “It’s so easy to use, you don’t need help.”– But GUI systems can also be complex
• Read the manual, it’s all in the manual– used by gurus to brush off questions they
consider trivial
• Read the source!– used when the manual doesn’t help
3
User SupportOther fallacies and problems
• Dumb warnings:– air conditioner
– Avoid dropping air conditioners out of windows.
– blow dryer– Do not use while sleeping.
– iron– Never iron clothes on the body.
– vacuum cleaner– Do not pick up anything that is burning.
4
User Support
• Dumb warnings:– Batman costume
– Cape does not enable user to fly.
5
User Support
• Main types of assistance:– quick reference
– mostly used as a reminder
– task-specific help– for achieving a task
– full explanation– for better understanding of the system
– tutorial– step-by-step example for new users
6
User Support
• Help– problem-oriented and specific– e.g., task-based instructions
• Documentation– system-oriented and generic– e.g., user interface snapshot
7
User Support
• Online support:– get help from the computer, assuming it is
running …– Command line text based: unix man, info,
matlab help.– Interrupt current command line interaction, (unless
starts in separate window)
– GUI based – Displayed concurrently with task.
8
Online Support
• Requirements:– availability
– access help at any time, at the same time
– accuracy and completeness– help should correctly cover the whole system
– consistency– different parts and types of help should be consistent with
each other on content, terminology, and style
9
Online Support
• Requirements:– robustness
– the help system should itself be reliable
– flexibility– present multiple levels of help
– unobtrusiveness– avoid intruding on the user
– MS paperclip?!?
10
Online Support
• Command assistance:– provide help at the command level– sometimes terse and obscure– assumes user knows what to look for– e.g., Unix man
11
Online Support
• Command prompts:– provide guidance on correct usage
12
Online Support
• Context-sensitive help:– present help that depends on the context instead
of only one entry point(e.g., specific user, system state, step in a task, object being pointed at, etc.)
13
Online Support
• Online tutorials:– allow the user to learn the basics of a system
within a special environment– e.g., system with some blocked functionality to
ease risk-free exploration
14
Online Support
• Online documentation:– put existing paper
documentation available on the computer
– could use hypertext techniques
15
Online Support
• Movies:
QuickTime™ and aVideo decompressor
are needed to see this picture.
16
Online Support
• Office assistants:
17
Adaptive Help Systems
• What:– adapt the help system to the user
– similar to general adaptive user interfaces
– monitor user activity– e.g., preferences, mistakes, etc.
– build model of user
18
Adaptive Help Systems
• Issues:– easier said than done– should the system actively initiate help?– will adaptivity confuse the user?– what are the knowledge requirements?
19
Adaptive Help Systems
• User modeling:– every interactive system incorporates some
model of the intended user implicitly within its design
20
Adaptive Help Systems
• User modeling:– in some systems, the user can provide a model
around which the system will be configured– requires experience to customize the system
appropriately– e.g., Unix .profile and .cshrc
21
Adaptive Help Systems
• User modeling:– or automatically update a model of the user,
starting from a default model– Typically: Prompt for choices once (e.g. which
printer) then remember it.– Advanced: Associative content retrieval (MIT
project, EMACS demo available)
22
Adaptive Help Systems
• Quantification:– define a number of levels of user expertise– place user on a level and continuously measure
expertise– expertise is scored based on the weights of
various actions– move user between levels at a certain threshold– adapt the help system accordingly
23
Adaptive Help Systems
• Issues:– initiative
– mix of user and system control
– system suggests hints about unused functionality
– user requests help as usual
24
Adaptive Help Systems
• Issues:– effect
– how will the user model be used?
– to offer different help for novices and experts, may not need to record detailed sequences of user interaction
25
Adaptive Help Systems
• Issues:– scope
– application wide or system wide
26
User Support Systems
• Guidelines:– help should be designed as an integral part of the
system, not “bolted on”– usability principles also apply to help systems– help systems also need to be evaluated
27
User Support Systems
• Presentation issues:– how is help requested?
– e.g., command, button, toggle, separate program
– how is help displayed?– e.g., new window, integrated frame, balloons
28
User Support Systems
• Effective presentation:– clear, instructional language– consistent terminology– describe how to use the system
29
End
• What did I learn today?
• What questions do I still have?