590 likes | 637 Views
User Support. Contents. Types of user support Requirements of user support systems Types of help systems Authoring issues. User Support. Some claim that a well designed interactive system will require no additional user support This is untrue of even the best systems
E N D
Contents • Types of user support • Requirements of user support systems • Types of help systems • Authoring issues
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
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
Quick Reference A Java Tool Tip A Code Assistant
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
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
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
Contents • Types of user support • Requirements of user support systems • Types of help systems • Authoring issues
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
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
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
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
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
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
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
Contents • Types of user support • Requirements of user support systems • Types of help systems • Authoring issues
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
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
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
Command Prompts • IBM’s Time Sharing Option (TSO) is a command line system which uses a menu (ISPF) to help the users issue commands
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
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
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
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
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
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
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
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
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
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
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
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
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
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 Peedy Merlin Genie Robby
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
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
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
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
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
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
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
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
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
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
Rule-based Techniques IF command is EDIT file AND lastCommand is COMPILE file THEN task is DEBUG action is “describe debugger”
Frame-based Techniques • A frame is a data structure containing labeled slots or attributes • Each attribute describes some aspect of the user User expertise: novice command: EDIT file lastCommand: Compile file sessionErrors: 6 action: describe debugger
Network-based Techniques • These represent knowledge as relationships between facts • This is commonly implemented as a semantic network CC is an instance of COMPILE COMPILE is a COMMAND COMPILE is related to DEBUG COMPILE is related to EDIT Debugger facilitates DEBUG