User Support
Dec 28, 2015
2
Contents
Types of user support Requirements of user support
systems Types of help systems Authoring issues
3
User Support Some claim that a well designed
interactive system will require no additional user support
This is untrue of even the best systems Systems require four types of support
Quick reference Task-specific help Full explanation tutorial
4
Quick Reference This is a short form of help to
remind the user of the syntax of a command
Often, it is automatic if the user pauses for a certain period
It can take the form of Tooltips file name completion Code assistants
6
Task-Specific Help This is used when the user encounters a
problem while performing a task and needs help to complete the task
This is often implemented as context-sensitive help A help button is provided on a dialog When the button is clicked, help is provided
on the dialog being used Often, this is implemented as simply links
into the existing online documentation
7
Full Explanation This is the full explanation of how the
system or a specific feature works This information is usually consulted
by experts It is often not immediately available
to novices to avoid overwhelming them
It can be provided online or in paper form or both
8
Tutorial A tutorial serves to introduce the new
user to how to use a system It demonstrates how to use the system
to accomplish practical goals Often organized as
System concepts Overview of the interface Your first use of the system A list of how-to do specific tasks
9
Contents
Types of user support Requirements of user support
systems Types of help systems Authoring issues
10
Requirements of User Support Systems What would the ideal help system be
like? This is a difficult question to answer
since it depends upon The nature of the application The anticipated users of the system
We will list desirable features of an idealized help system
Real systems might differ from this, often for good reasons
11
Availability The user should be able to
Access the help system while running the program
Access help while the program is not running Access help while running another program
These goals can be achieved if the help system Runs concurrently with the system Is run in a windowed environment where it is not
dependent on the parent application for rendering
12
Accuracy & Completeness Applications are updated regularly Often, the documentation is forgotten
and allowed to become outdated This can result in help actually being
wrong Obviously, this must be avoided It is also important to ensure that all
features have been documented since a few can be easily overlooked
13
Consistency A program might have
On-line help Paper manuals Context-sensitive help
It is important that it be consistent in terms of Content – they all state the same things Terminology – they all use the same terms Style – they all look similar
14
Robustness Help systems are often used by people
who are confused This makes it important that
The help system is easy to use The help system should not crash The help system should have good error
handling The help system should have predictable
behaviour
15
Flexibility The help system should be able to adapt
to the needs of the user It should offer simple help to novices Advanced help to experts
These goals can be achieved in various ways Modularized help systems Context-sensitive help Adaptive help systems which infer the user’s
expertise and the task being performed Hypertext systems which allow exploration to
various levels of depth
16
Unobtrusive
The help system should not interfere with the user’s normal work
The help system should not interfere with the operation of other programs Do not grab focus from the user Do not lock the system while help is
active Do not use system or global modality for
help systems
17
Contents
Types of user support Requirements of user support
systems Types of help systems Authoring issues
18
Types of Help Systems
There are different types of help systems
They differ because of The technology on which they are
implemented The sophistication of the user The needs and nature of the
application
19
Command Assistance This provides help when the user
requests it Examples include
UNIX man DOS help Windows help
These systems work well if the user knows what they are looking for
They do not work well if the user wants to explore new capabilities of the system
20
Command Prompts
These are used in command line interfaces
When the user enters an incorrect command, they display the correct syntax of the command
They can also use menus to help the user issue the command they want
21
Command Prompts IBM’s Time
Sharing Option (TSO) is a command line system which uses a menu (ISPF) to help the users issue commands
22
Context-sensitive Help These are systems which provide
help on the context in which the user is working
They often take the form of a help button on a dialog
They save the user from having to locate the relevant parts of the help system
23
Online Tutorials
These are systems which guide the user through the system through examples and might let the user perform operations
under the systems guidance Often have limited intelligence and
can recognize incorrect input as correct
24
Online Tutorials Training Wheels is an interface proposed
by researchers at IBM The user is presented with a full version of
the interface but with limited functionality This lets them explore the system without
being able to do any real damage If they access an area which has been
disabled, they are told it is unavailable
25
Online Documentation At its simplest this is just the paper
documentation stored on the computer Advantages
Don’t have to find manuals Searchable
Disadvantages more difficult to read text off a computer
screen Provides more information than the user
wants Can still be difficult to find what you are
looking for
26
Online Documentation
One approach to placing manuals online is to use hypertext Allows interrelated items to be linked Allows tables of contents to be linked Can make finding things easier Suffers from the problem where the
user’s path is so complicated they get lost in the document
27
Online Documentation An alternative approach is minimal
documentation This is a cut-down version of the full
manual with just the essentials retained This makes it
Easy to read Easy to navigate
Users can learn a task with minimal documentation 40% faster than with the full documentation
28
Wizards A wizard is a program which helps a user
perform a complex task It leads the user step by step It asks the user a series of questions to determine
what should be done It hides the complexity of the underlying interface They often let the user back up to change previous
decisions Some provide progress indicators, especially for
long, involved tasks They allow novices to perform complex tasks Are great for infrequently performed tasks
29
Wizards
The drawbacks of wizards include They can be overly rigid and constrain
the user Many options are omitted Since the user does not see the
output or commands issued, he or she does not learn how to use the underlying commands themselves
30
Assistants Assistants are software tools which
monitor user behaviour and try to offer hints or suggestions when they recognize particular sequences
Eager was one of the early systems When it sees the user repeating actions,
a cat appears suggesting the next step The cat is unobtrusive and can be
controlled by the user
31
Assistants Clippy is the Microsoft Office Assistant
Clippy was despised as irritating and unhelpful Clippy failed to be unobtrusive
The user was presented with long lists to read Distracting animations were performed for no reason The user was unable to continue to work effectively Many of the suggestions were wrong or inappropriate Many found an animated paper clip to be more
annoying than cute
32
Assistants Clippy has been retired to the big bit
bucket in the sky… He can be reincarnated in the latest office
by turning him on or off, under user control His main functions have been taken over by
smart tags Small icons which appear near where the user is
working Clicking on them produces help Ignore them or go on to another task and they
disappear
34
Agents Microsoft agent is a generalization
of the assistant that supports 3-D animated characters Text-to-speech Speech recognition
This evolved from the earlier attempt to produce an agent to aid the user, called Microsoft Bob
35
Agents
Clippy was the first use of the Microsoft Agent software
Clippy’s behaviour was controlled by a sophisticated Bayesian probability program
To date, all of the agents produced by Microsoft have been deemed failures
36
Agents The user’s displeasure was not limited to
Clippy There were a variety of other characters
which could be substituted Users found these to be equally annoying
PeedyMerlinGenieRobby
37
Agents The failure of agents is because they ignored
two main factors in human psychology Human are immediately distracted by motion in
their peripheral vision. Thus, the animation distracted the user
Faces or caricatures of faces are highly distracting And finally, the interruptions were often at
comically inappropriate and annoying times The result was that the agents were almost
universally despised
38
Aero Sidebar
Windows Vista is introducing the sidebar
This can hold a variety of information, including help
It will replace the use of agents It looks to be far less intrusive and
can provide help across applications
40
Adaptive Help Systems
Every user has a different level of skill Familiar with a subset of the functionality Expertise in some systems but none in
others Different levels of understanding
Adaptive help systems adapt to the skill level of the user and offer help and suggestions appropriate to the user
41
User Modeling Adaptive systems build a model of
the user and his or her skill level This model takes time to be built Most systems start with a generic
user model and refine this as it observes how the user behaves
There are different ways to represent the user model
42
Quantification Categories are created based on the
user’s level of expertise Real users are then placed into one of
these categories based on behaviour Each category has pre-defined help that
will be provided to members of that category
Users will be moved between categories if the expertise they demonstrate changes
43
Stereotypes This creates categories of stereotypical
users rather than just categories based on expertise
Once again, users are assigned to stereotypes by comparing user behaviour with that for the stereotype
Stereotypes perform well is the stereotypes are well chosen and represent actual user types
44
Overlay Models A model of an expert user is
constructed Each user is then represented by what
they have in common with the expert model and by the differences
The advantage of this technique is that the system knows what the ideal user is and can measure progress in attaining it
45
Task Modeling The system must be able to recognize
the task the user is performing before it can offer help
Many systems do this by storing a series of steps and then comparing user actions to these steps
This fails when the user approaches the problem in an unconventional manner
Task recognition is a problem for both adaptive help systems and agents
46
Knowledge Representation Adaptive systems must be able to store
information on The user User models Tasks
Representation techniques are drawn from artificial intelligence Rule-based techniques Frame-based techniques Network-based techniques Example-based techniques
47
Rule-based Techniques
This represents knowledge as a series of rules and facts
This information is interpreted by a an inference mechanism
These are the techniques used by expert systems
48
Rule-based Techniques
IF
command is EDIT file
AND
lastCommand is COMPILE file
THEN
task is DEBUG
action is “describe debugger”
49
Frame-based Techniques A frame is a data structure containing
labeled slots or attributes Each attribute describes some aspect of
the userUser
expertise: novice
command: EDIT file
lastCommand: Compile file
sessionErrors: 6
action: describe debugger
50
Network-based Techniques These represent knowledge as
relationships between facts This is commonly implemented as
a semantic networkCC is an instance of COMPILECOMPILE is a COMMANDCOMPILE is related to DEBUGCOMPILE is related to EDITDebugger facilitates DEBUG
51
Example-based Techniques These represent command patters as
linked structures They could be stored in a decision tree For example
EDIT file COMPILE file
This would be recognized as a task and indicate that information on debugging is appropriate
52
Problems with Knowledge Representation It takes a lot of time to gather the
information It takes an expert to provide the
information Gathering information on
individual users takes time Interpreting user actions is difficult
and prone to error
53
Contents
Types of user support Requirements of user support
systems Types of help systems Authoring issues
54
Help Design Issues Initiative
Should help intrude on the user or should the user request help?
If it intrudes, it can disrupt the user If it is invoked only when the user wants it,
it will not be able to bring new techniques to the attention of the user
The solution is to allow the user to query help at any time and for help to intrude on the user in the least disruptive manner
55
Effect Agents and adaptive help often store
large amounts of information on users and tasks
This information is expensive to create and maintain
Often, it can be pruned to reduce it to the essential information for the task
This minimizes the information to only that required for the necessary effect
56
Scope Should help be offered at the
application or system level? Modeling users at the system level
is far more complex than at the application level
Dealing with concurrent execution and interleaved activities with many applications makes it even more difficult
57
Presentation Issues How is help requested?
Help button on screen Help button on keyboard
How is help displayed? Full-screen or windowed Pop-up dialogs The choice depends on the type of
help and the amount to be displayed