Presentation is loading. Please wait.

Presentation is loading. Please wait.

6/20/20151 CS 160: Lecture 22 Professor John Canny Fall 2004.

Similar presentations


Presentation on theme: "6/20/20151 CS 160: Lecture 22 Professor John Canny Fall 2004."— Presentation transcript:

1 6/20/20151 CS 160: Lecture 22 Professor John Canny Fall 2004

2 6/20/20152 Help models 4 What kind of help works best for you? 4 Do you ever “read the manual”? 4 Is help usually “where you need it?” 4 What are some differences between help you get from people and from systems?

3 6/20/20153 Types of Help 4 Quick Reference: *Reminders of common command names or options. *Good to place on a card, or for small devices, on the device itself. *Use a few main categories to avoid long search.. *E.g. for an editor, categories like “basic”, “search/replace”, “load/save”, etc.

4 6/20/20154 Types of Help 4 Task-specific help *User needs help on how to apply a command, or to complete a task. *Can be part of a “how-to” system for common tasks. *Should be easily accessible from the command line (if text). *Make “options” windows obvious and easy to find! *E.g. add “advanced” button in the dialogue to apply any command.

5 6/20/20155 Types of Help 4 Full explanation *User wants complete understanding, to get best value out of the application. *This part explains the “why” more than the “how”. *E.g. How do compiler options affect performance? *What are various installation components used for? What are the uncommon commands? *Probably need a chapter in the help system for this. More system-centric than task-centric.

6 6/20/20156 Types of Help 4 Tutorial *The tutorial leads the user through a task, scaffolding their actions. *Should allow users to act as well as watch (sandboxing). *The “best” way to teach! *More work to build into the system, but you should leverage your company’s other effort: +E.g. most software houses conduct regular training sessions for customers – these are ideal tutorial content.

7 6/20/20157 More advanced ideas 4 Help is a kind of ongoing learning environment. 4 Minimalist instruction (Carroll ‘92) is a learning approach *It shows users what to do, *then gives them realistic tasks to solve. *It eliminates conventional exercises, tedium and repetition, and encourages users to explore. *It also has extensive coverage of error recovery. +- users feel confident exploring.

8 6/20/20158 More advanced ideas 4 Help could be enjoyable? - at least it’s a special case of computer-supported learning.. 4 “Training wheels” (Carroll) *Advanced commands are removed until user gains some experience with the system. *Also some “dangerous” commands. *Users explore freely in this sandbox. *Users gained better understanding (IBM trial).

9 6/20/20159 More advanced ideas 4 The “scenario machine” uses this idea and adds more help: *Explanations of why certain commands are missing. *Alternative command sequences for missing commands.

10 6/20/201510 Desiderata for help 4 Availability *Should be accessible anywhere (always include a help key on each major window). 4 Accuracy and Completeness (hard!) *Make sure it matches program version, and that it covers all the commands. *As well as commands, common tasks should be described.

11 6/20/201511 Desiderata for help 4 Consistency *Content, terminology, style. *These days, online and printed manuals are often the same. 4 Robustness *Help shouldn’t crash if the program does (need another thread). *Program exceptions can bring up the help system.

12 6/20/201512 Desiderata for help 4 Flexibility *Includes adaptation to context or user skill. Multi-level help is a good idea. 4 Unobtrustiveness *Shouldn’t disrupt users work (like the annoying help characters in MS Office). A separate help screen is often good - supports rapid switching.

13 6/20/201513 Help in the days of yore.. 4 Text command languages (Unix, DOS), had explicit “help” commands (“man”, “help”). *Many design problems: +Shell kernel commands in one (90-page!) file. +Multiple OS and shell versions didn’t match help! *Some commands self-document with command -? Command --help command -h unfortunately, this doesn’t always happen. *No state: to see the options again, start over. *Emacs info was a better system(early hypertext).

14 6/20/201514 Context-sensitive help 4 Help depends on where it is used: 4 Tool tips  or the windows ? symbol: 4 Save the user the burden of synchronizing program state with help system state. 4 Almost always a good idea to do this. 4 Just make sure the user can easily find the main help contents and index.

15 6/20/201515 Online tutorials 4 Can be useful, BUT: *Users are not the same, some need minimal help. *Forcing the user to execute a particular command is boring and annoying, and doesn’t help learning. 4 So.. *Make sure users can skip steps. *Show users multiple ways of doing things. *Give partial information on what to do, with more information available if the user requests it.

16 6/20/201516 On-line docs 4 Online docs differ from paper manuals in the same way web sites differ from books. 4 Information organization is the key - *Some pages contain content, others are primarily for navigation. *Use best practices for web site design: *Intuitive names, careful clustering of information, intuitive link names, consistency… *Need a good search feature and an index.

17 6/20/201517 Adaptive Help Systems 4 Adaptation is a good idea because: *It avoids information that is too detailed or not detailed enough for a particular user. *It avoids repetition of info the user has already seen. *Can make suggestions of new ways to do tasks that the user may not know. 4 Weaknesses: *Information can disappear (bad if the user forgot it too!). *System needs to know user identity and user must use the system for some time.

18 6/20/201518 Break

19 6/20/201519 User Models 4 Beware: *Linear scales (Novice - competent - expert), people don’t advance on the same path. *Stereotypes - same as above, plus users may have different kinds of problems in using the system.

20 6/20/201520 User Models 4 Problematic: *Overlay model - ideal behavior that the user should follow (e.g. in tutorials). But doesn’t allow the user to do things their own way or explore. *Task modeling: automatic task modeling is hard, and doesn’t model bottom-up user behavior or “distributed cognition” (e.g. desk as a blackboard)

21 6/20/201521 Knowledge representation 4 Rule-based techniques *Limited success in AI, but scales well. 4 Frame-based techniques *better organized version of RBT. 4 Semantic nets… 4 Decision trees… 4 Other AI stuff...

22 6/20/201522 Knowledge representation 4 Generally, the most successful KR techniques today use probabilistic models. 4 Particularly in HCI, the system can’t “observe” the user’s expertise and can only guess what it is.

23 6/20/201523 Knowledge representation 4 Probabilistic models provide a way to: *Allow several alternative interpretations at once. *Incorporate new evidence. *Model and explain the system’s certainty in its own decisions. 4 Used in MS’ help system.

24 6/20/201524 Knowledge representation 4 The trick is to figure out the appropriate “traits” of the user: 4 i.e. clusters of knowledge that users typically have. 4 You can mine help logs from user studies to identify these clusters, or do it by inspection.

25 6/20/201525 Initiative 4 A Help system works with the user, and ideally should allow a spectrum of control: 4 “Help me”, “tell me what to do”, “show me what to do”, “OK, I’ll take over now…” 4 This is called “mixed initiative”.

26 6/20/201526 Initiative 4 A good mixed-initiative help system requires links between all parts of the system including a tutorial. 4 User should be able to “take over” at any time, then give back control.

27 6/20/201527 Effect 4 Don’t overdo user modeling: *The idea is to figure out just enough to adapt the help system. *Figure out the effects you need (novice/expert pages, or specific task support), and then the user data need to do adaption.

28 6/20/201528 Scope 4 How much should help cover: *Common questions. *Functional model description. *Structural model info?

29 6/20/201529 Design issues 4 Help system design is like other parts of the interface. *Start with task analysis. *Do paper prototypes. *Do user tests at informal and formal stages - look for errors. *Use errors as the “objects” to guide the design of the help system.

30 6/20/201530 Design issues 4 User modeling. *The error list can be used to derive user models. *Run pattern recognition on the error list to find the dimensions of the user profile.

31 6/20/201531 Help presentation 4 Make sure that help presentation is appropriate: *Help shouldn’t obscure the working areas of the screen. *Make sure its easy to jump to the help index/contents page. *Use animation for tutorial or “show me” tasks. *Keep help system context - i.e. for each help section, show where it fits in the help contents.

32 6/20/201532 Summary 4 Types of help. 4 Help as a learning system or sandbox. 4 Adaptive help - user modeling - knowledge representation. 4 Initiative/Effect/Scope. 4 Design/implementation issues.


Download ppt "6/20/20151 CS 160: Lecture 22 Professor John Canny Fall 2004."

Similar presentations


Ads by Google