Material from Authors of Human Computer Interaction Alan Dix, et al User Support Material from Authors of Human Computer Interaction Alan Dix, et al
Overview Users require different types of support at different times. Basic requirements available but unobtrusive accurate and robust consistent and flexible Design of user support must take account of: presentation issues implementation issues
Types of Support Quick reference Task specific help Full explanation Tutorial
Types of support Quick reference Task specific help reminder of details; assumes familiarity eg command syntax, options, etc. Usage: telnet [-8] [-#] [L] [-a] [-d] [-e char] [-l user] [-n tracefile] [-r] [host-name [port]] Task specific help addresses problems with particular tasks focused on what is currently being done
Types of Support Full explanation Tutorial for more experienced and inquisitive users likely to include information not needed now Unix man command Tutorial aimed at new users
Types of support Four types are complementary Together they support range of points in user’s experience with system Each type may be on-line and off-line (documentation) should be consistent in content presentation medium may have impact on design general principles for both
Requirements Availability Accuracy and Completeness Consistency Robustness Flexibility Unobtrusiveness
Requirements Availability Accuracy and completeness Consistency accessible any time during application interaction Accuracy and completeness consider incremental update/feature-adding of releases Consistency different parts of help system and documentation consistent in content, terminology and presentation
Requirements Robustness Flexibility Unobtrusiveness system itself should be robust even more important with support, because users are in trouble when using it Flexibility meets needs of user allows user to get information in an appropriate form context sensitive or adaptive help systems Unobtrusiveness shouldn’t block work in application
Approaches to User Support Command Assistance Command Prompts Context-Sensitive help On-line tutorials On-line documentation Wizards Assistants
Approaches to user support Command assistance good for reference on command, eg man or help user must know what to look for Command prompts provide information when error occurs good for syntactic errors won’t tell you if you need a different command Context sensitive help depends on what user is doing eg. completing a dialog, tool tip
Approaches to User Support On-line tutorials introduces user to components of system structure progress, maybe at user’s own speed includes examples, test environment to simulate interface useful, but inflexible On-line documentation printed material in electronic form eg readme files continually available but can be difficult to browse Hypertext can support browsing
Approaches to User Support Wizards task specific tool that leads user through task step-by-step user answers ‘questions’ along the way constraining - may not offer options should have progress indicator and allow back up
Approaches to User Support Assistants monitor user behavior and offer suggestions unobtrusive and under user control ‘Clippy’ not unobtrusive, suggestions inappropriate MS XP smart tags appear near object of interest
Intelligent Help: Adaptive Help Systems Use knowledge of the user, task, domain and instruction to provide help adapted to user’s needs. Problems: Knowledge requirements considerable must collect data on by monitoring interaction Issue of control - how active? What should be adapted? What is scope of adaptation? :
Knowledge representation: User modeling single, generic user (non-intelligent) user-configured model (adaptable) system-configured model (adaptive) Static help systems can’t address all user differences. Adaptive help systems model users, refining the model by monitoring a user’s activities, and present help tailored to the particular user.
Approaches to User modeling Quantification user moves between levels of expertise based on quantitative measure of what he knows Move from level 1 to level 2 if system has been used more than twice commands x and y used effectively help has not been accessed in this session system has been used in last 5 days
Approaches to User modeling Stereotypes user is classified into a particular category Overlay an idealized model of expert use is constructed actual use compared to it can determine how far user is from optimal use can suggest optimal use strategies
Knowledge representation: Domain and Task Modeling Usually involves analysis of command sequences Assistants and agents Covers common errors and tasks command sequences for current task Problems interleaved tasks user intention
Techniques for Knowledge representation Rule-based Frame-based Network-based Example-based
Techniques for Knowledge Representation Rule-based knowledge represented as rules facts interpreted using inference (logic) used in large domains IF command is EDIT file 1 AND last command is COMPILE file 1 THEN task is DEBUG action is describe automatic debugger
Techniques for Knowledge Representation Frame-based knowledge stored in structure that contains labeled slots slot has default value useful in small domains User Expertise level: novice Command: EDIT file 1 Last command: COMPILE file 1 Errors this session: 6 Action: describe automatic debugger
Techniques for Knowledge Representation Network-based knowledge represented as relationships between facts can link frame-based representations CC is and instance of COMPILE COMPILE is a command COMPILE is related to DEBUG COMPILE is related to EDIT Automatic debugger facilitates DEBUG
Techniques for Knowledge Representation Example-based knowledge represented within decision structure of classification system trained to classify rather than programmed with rules (AI techniques detects recurrent features EDIT file 1 COMPILE file 1 trains for task debug
Problems with knowledge representation and modeling Knowledge difficult to elicit especially if domain expert not available variability of users difficult to ensure completeness and correctness Interpretation of information during interaction all we have are logs do not have user’s intent or goal
Other issues Initiative Effect Scope Does user retain control or can system direct the interaction? Can system interrupt user to offer help? Effect Model only what is needed to satisfy requirements of help system Scope Is modeling at application level only or at system level?
Designing User Support User support is not an ‘add on’ - it should be designed integrally with system. Should concentrate on content and context of help rather than technological issues There are presentation issues and implementation issues
Designing User Support : Presentation issues How is help requested? Command button function (on/off) separate application How is help displayed? New window whole screen or split screen pop-up box hint icons
Designing User Support : Presentation issues Effective presentation requires clear, familiar, consistent language instructional rather than descriptive language avoid of blocks of text summary and example
Designing User Support Systems : Implementation Issues Is help OS command meta command application What resources are available screen space memory capacity speed
Designing User Support Systems: Implementation Issues Structure of help data single file file hierarchy database Consider flexibility and extensibility hard copy browsing
Summary Users require different support at different times User support should be: available but unobtrusive accurate and robust consistent and flexible User support comes in a number of styles: command-based, context sensitive help tutorial, online doc, wizards and assistants adaptive help Design of user support must take account of: presentation and implementation issues