User Support Contents Types of user support Requirements of user support systems Types of help systems Authoring issues 2 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 3 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 4 Quick Reference A Java Tool Tip A Code Assistant 5 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 contextsensitive 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 6 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 7 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 8 Contents Types of user support Requirements of user support systems Types of help systems Authoring issues 9 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 10 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 11 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 12 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 13 Robustness Help systems are often used by people who are confused This makes it important that The help system The help system The help system The help system behaviour is easy to use should not crash should have good error handling should have predictable 14 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 15 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 16 Contents Types of user support Requirements of user support systems Types of help systems Authoring issues 17 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 18 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 19 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 20 Command Prompts IBM’s Time Sharing Option (TSO) is a command line system which uses a menu (ISPF) to help the users issue commands 21 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 22 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 23 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 24 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 25 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 26 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 27 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 28 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 29 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 30 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 31 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 32 Assistants 33 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 34 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 35 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 36 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 37 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 38 Aero Sidebar 39 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 40 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 41 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 42 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 43 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 44 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 45 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 46 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 47 Rule-based Techniques IF command is EDIT file AND lastCommand is COMPILE file THEN task is DEBUG action is “describe debugger” 48 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 49 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 50 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 51 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 52 Contents Types of user support Requirements of user support systems Types of help systems Authoring issues 53 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 54 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 55 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 56 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 57 Presentation Issues How much to display? The amount displayed should not be too large as it is harder to read Hypertext allows text to be broken into smaller units Writing style Clear, concise, to the point Avoid use of unfamiliar terminology 58