chapter 16 dialogue notations and design
Dialogue Notations and Design <ul><li>Dialogue Notations </li></ul><ul><ul><li>Diagrammatic </li></ul></ul><ul><ul><ul><li...
what is dialogue? <ul><li>conversation between two or more parties </li></ul><ul><ul><li>usually cooperative </li></ul></u...
structured human dialogue <ul><li>human-computer dialogue very constrained </li></ul><ul><li>some human-human dialogue for...
lessons about dialogue <ul><li>wedding service </li></ul><ul><ul><li>sort of script for three parties </li></ul></ul><ul><...
… and more <ul><li>what if woman says “I don’t”? </li></ul><ul><li>real dialogues often have alternatives: </li></ul><ul><...
dialogue design notations <ul><li>dialogue gets buried in the program </li></ul><ul><li>in a big system can we: </li></ul>...
graphical notations state-transition nets (STN) Petri nets, state charts flow charts, JSD diagrams
State transition networks (STN) <ul><li>circles - states </li></ul><ul><li>arcs - actions/events </li></ul>
State transition networks - events <ul><li>arc labels a bit cramped because: </li></ul><ul><ul><li>notation is `state heav...
State transition networks - states <ul><li>labels in circles a bit uninformative: </li></ul><ul><ul><li>states are hard  t...
Hierarchical STNs <ul><li>managing complex dialogues </li></ul><ul><li>named sub-dialogues </li></ul>Graphics Submenu Text...
Concurrent dialogues - I simple dialogue box Text Style bold italic underline example
Concurrent dialogues - II   three toggles - individual STNs bold italic underline NO bold bold click on ‘bold’ NO italic i...
Concurrent dialogues - III bold and italic combined NO style bold only click on ‘bold’ click on ‘ italic’ click on ‘ itali...
Concurrent dialogues - IV all together - combinatorial explosion ‘ italic’ NO style bold only ‘ bold’ italic only bold ita...
escapes <ul><li>‘ back’ in web, escape/cancel keys </li></ul><ul><ul><li>similar behaviour everywhere </li></ul></ul><ul><...
help menus <ul><li>similar problems </li></ul><ul><ul><li>nearly the same everywhere </li></ul></ul><ul><ul><li>but return...
Petri nets <ul><li>one of the oldest notations in computing! </li></ul><ul><li>flow graph: </li></ul><ul><ul><li>places – ...
Petri net example Bold On Italic On Bold Off Italic Off user presses ‘Italic’ user presses ‘Bold’ T1 T2 T3 T4 user actions...
State charts <ul><li>used in UML </li></ul><ul><li>extension to STN </li></ul><ul><ul><li>hierarchy </li></ul></ul><ul><ul...
Flowcharts <ul><li>familiar to programmers </li></ul><ul><li>boxes - process/event - not state </li></ul><ul><li>use for d...
it works! <ul><li>formal notations – too much work? </li></ul><ul><li>COBOL transaction processing </li></ul><ul><ul><li>e...
JSD diagrams <ul><li>for tree structured dialogues </li></ul><ul><ul><li>less expressive </li></ul></ul><ul><ul><li>greate...
textual notations grammars production rules CSP and event algebras
Textual - Grammars <ul><li>Regular expressions </li></ul><ul><ul><ul><li>sel-line click click* dble-click </li></ul></ul><...
Production rules <ul><li>Unordered list of rules: </li></ul><ul><li>if  condition  then  action </li></ul><ul><ul><li>cond...
Event based production rules <ul><ul><ul><li>Sel-line    first </li></ul></ul></ul><ul><ul><ul><li>C-point first    rest...
Prepositional Production System <ul><li>State based </li></ul><ul><li>Attributes: </li></ul><ul><ul><ul><li>Mouse: { mouse...
CSP and process algebras <ul><li>used in Alexander's SPI, and Agent notation </li></ul><ul><li>good for sequential dialogu...
Dialogue Notations - Summary <ul><li>Diagrammatic </li></ul><ul><ul><ul><li>STN,  JSD,  Flow charts </li></ul></ul></ul><u...
Semantics Alexander SPI (i) <ul><li>Two part specication: </li></ul><ul><ul><ul><li>EventCSP - pure dialogue order </li></...
Semantics Alexander SPI (ii) <ul><li>EventCSP </li></ul><ul><ul><li>Login  = login-mess -> get-name -> Passwd </li></ul></...
Semantics - raw code <ul><li>event loop for word processor </li></ul><ul><li>dialogue description  - very distributed </li...
Action properties <ul><li>completeness </li></ul><ul><ul><ul><li>missed arcs </li></ul></ul></ul><ul><ul><ul><li>unforesee...
Checking properties (i) <ul><li>completeness </li></ul><ul><ul><li>double-click in circle states? </li></ul></ul>double cl...
Checking properties (ii) <ul><li>Reversibility: </li></ul><ul><ul><li>to reverse select `line' </li></ul></ul>
Checking properties (ii) <ul><li>Reversibility: </li></ul><ul><ul><li>to reverse select `line' </li></ul></ul><ul><ul><li>...
Checking properties (ii) <ul><li>Reversibility: </li></ul><ul><ul><li>to reverse select `line' </li></ul></ul><ul><ul><li>...
Checking properties (ii) <ul><li>Reversibility: </li></ul><ul><ul><li>to reverse select `line' </li></ul></ul><ul><ul><li>...
State properties <ul><li>reachability </li></ul><ul><ul><ul><li>can you get anywhere from anywhere? </li></ul></ul></ul><u...
Dangerous States <ul><li>word processor: two modes and exit </li></ul><ul><ul><ul><li>F1 -  changes mode </li></ul></ul></...
Dangerous States (ii) <ul><li>exit with/without save    dangerous states </li></ul><ul><li>duplicate states - semantic di...
Lexical Issues <ul><li>visibility </li></ul><ul><ul><ul><li>differentiate modes and states </li></ul></ul></ul><ul><ul><ul...
layout matters <ul><li>word processor - dangerous states </li></ul><ul><li>old keyboard - OK </li></ul>Esc F1 F2 F3 ... F4...
layout matters <ul><li>new keyboard layout </li></ul><ul><li>intend F1-F2 (save) </li></ul><ul><li>finger catches Esc </li...
layout matters <ul><li>new keyboard layout </li></ul><ul><li>intend F1-F2 (save) </li></ul><ul><li>finger catches Esc </li...
Dialogue Analysis - Summary <ul><li>Semantics and dialogue </li></ul><ul><ul><ul><li>attaching semantics </li></ul></ul></...
Dialogue Analysis - Summary <ul><li>Semantics and dialogue </li></ul><ul><ul><ul><li>attaching semantics </li></ul></ul></...
Digital watch – User Instructions <ul><li>two main modes </li></ul><ul><li>limited interface   - 3 buttons </li></ul><ul><...
Digital watch – User Instructions <ul><li>dangerous states </li></ul><ul><ul><li>guarded   … by two second hold </li></ul>...
Digital watch – Designers instructions <ul><li>and ... </li></ul><ul><li>that’s just one button </li></ul>
Upcoming SlideShare
Loading in...5
×

HCI 3e - Ch 16: Dialogue notations and design

4,036

Published on

Chapter 16: Dialogue notations and design

from
Dix, Finlay, Abowd and Beale (2004).
Human-Computer Interaction, third edition.
Prentice Hall. ISBN 0-13-239864-8.
http://www.hcibook.com/e3/

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,036
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
257
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

HCI 3e - Ch 16: Dialogue notations and design

  1. 1. chapter 16 dialogue notations and design
  2. 2. Dialogue Notations and Design <ul><li>Dialogue Notations </li></ul><ul><ul><li>Diagrammatic </li></ul></ul><ul><ul><ul><li>state transition networks, JSD diagrams, flow charts </li></ul></ul></ul><ul><ul><li>Textual </li></ul></ul><ul><ul><ul><li>formal grammars, production rules, CS P </li></ul></ul></ul><ul><li>Dialogue linked to </li></ul><ul><ul><li>the semantics of the system – what it does </li></ul></ul><ul><ul><li>the presentation of the system – how it looks </li></ul></ul><ul><li>Formal descriptions can be analysed </li></ul><ul><ul><li>for inconsistent actions </li></ul></ul><ul><ul><li>for difficult to reverse actions </li></ul></ul><ul><ul><li>for missing actions </li></ul></ul><ul><ul><li>for potential miskeying errors </li></ul></ul>
  3. 3. what is dialogue? <ul><li>conversation between two or more parties </li></ul><ul><ul><li>usually cooperative </li></ul></ul><ul><li>in user interfaces </li></ul><ul><ul><li>refers to the structure of the interaction </li></ul></ul><ul><ul><li>syntactic level of human–computer ‘conversation’ </li></ul></ul><ul><li>levels </li></ul><ul><ul><li>lexical – shape of icons, actual keys pressed </li></ul></ul><ul><ul><li>syntactic – order of inputs and outputs </li></ul></ul><ul><ul><li>semantic – effect on internal application/data </li></ul></ul>
  4. 4. structured human dialogue <ul><li>human-computer dialogue very constrained </li></ul><ul><li>some human-human dialogue formal too … </li></ul>Minister: do you man’s name take this woman … Man: I do Minister: do you woman’s name take this man … Woman: I do Man: With this ring I thee wed (places ring on womans finger) Woman: With this ring I thee wed (places ring ..) Minister: I now pronounce you man and wife
  5. 5. lessons about dialogue <ul><li>wedding service </li></ul><ul><ul><li>sort of script for three parties </li></ul></ul><ul><ul><li>specifies order </li></ul></ul><ul><ul><li>some contributions fixed – “I do” </li></ul></ul><ul><ul><li>others variable – “do you man’s name …” </li></ul></ul><ul><ul><li>instructions for ring concurrent with saying words “with this ring …” </li></ul></ul><ul><li>if you say these words are you married? </li></ul><ul><ul><li>only if in the right place, with marriage licence </li></ul></ul><ul><ul><li>syntax not semantics </li></ul></ul>
  6. 6. … and more <ul><li>what if woman says “I don’t”? </li></ul><ul><li>real dialogues often have alternatives: </li></ul><ul><ul><li>the process of the trial depends on the defendants response </li></ul></ul><ul><li>focus on normative responses </li></ul><ul><ul><li>doesn’t cope with judge saying “off with her head” </li></ul></ul><ul><ul><li>or in computer dialogue user standing on keyboard! </li></ul></ul>Judge: How do you plead guilty or not guilty? Defendant: either Guilty or Not guilty
  7. 7. dialogue design notations <ul><li>dialogue gets buried in the program </li></ul><ul><li>in a big system can we: </li></ul><ul><ul><li>analyse the dialogue: </li></ul></ul><ul><ul><ul><li>can the user always get to see current shopping basket </li></ul></ul></ul><ul><ul><li>change platforms (e.g. Windows/Mac) </li></ul></ul><ul><ul><li>dialogue notations helps us to </li></ul></ul><ul><ul><ul><li>analyse systems </li></ul></ul></ul><ul><ul><ul><li>separate lexical from semantoc </li></ul></ul></ul><ul><li>… and before the system is built </li></ul><ul><ul><li>notations help us understand proposed designs </li></ul></ul>
  8. 8. graphical notations state-transition nets (STN) Petri nets, state charts flow charts, JSD diagrams
  9. 9. State transition networks (STN) <ul><li>circles - states </li></ul><ul><li>arcs - actions/events </li></ul>
  10. 10. State transition networks - events <ul><li>arc labels a bit cramped because: </li></ul><ul><ul><li>notation is `state heavy‘ </li></ul></ul><ul><ul><li>the events require most detail </li></ul></ul>
  11. 11. State transition networks - states <ul><li>labels in circles a bit uninformative: </li></ul><ul><ul><li>states are hard to name </li></ul></ul><ul><ul><li>but easier to visualise </li></ul></ul>
  12. 12. Hierarchical STNs <ul><li>managing complex dialogues </li></ul><ul><li>named sub-dialogues </li></ul>Graphics Submenu Text Submenu Paint Submenu Main Menu select ‘graphics’ select ‘paint’ select ‘text’
  13. 13. Concurrent dialogues - I simple dialogue box Text Style bold italic underline example
  14. 14. Concurrent dialogues - II three toggles - individual STNs bold italic underline NO bold bold click on ‘bold’ NO italic italic click on ‘italic’ NO u’line u’line click on ‘underline’
  15. 15. Concurrent dialogues - III bold and italic combined NO style bold only click on ‘bold’ click on ‘ italic’ click on ‘ italic’ Text Style bold italic underline example italic only bold italic click on ‘bold’
  16. 16. Concurrent dialogues - IV all together - combinatorial explosion ‘ italic’ NO style bold only ‘ bold’ italic only bold italic ‘ bold’ ‘ italic’ u’line only bold u’line ‘ bold’ italic u’line bold italic u’line ‘ bold’ ‘ italic’ ‘ italic’ ‘ underline’ ‘ underline’ ‘ underline’ ‘ underline’ Text Style bold italic underline example
  17. 17. escapes <ul><li>‘ back’ in web, escape/cancel keys </li></ul><ul><ul><li>similar behaviour everywhere </li></ul></ul><ul><ul><li>end up with spaghetti of identical behaviours </li></ul></ul><ul><li>try to avoid this </li></ul><ul><li>e.g. on high level diagram </li></ul><ul><li>‘ normal’ exit for each submenu </li></ul><ul><li>plus separate escape arc active ‘everywhere’ in submenu </li></ul>Graphics Submenu Text Submenu Paint Submenu Main Menu select ‘graphics’ select ‘paint’ select ‘text’ normal finish ESC normal finish ESC normal finish ESC
  18. 18. help menus <ul><li>similar problems </li></ul><ul><ul><li>nearly the same everywhere </li></ul></ul><ul><ul><li>but return to same point in dialogue </li></ul></ul><ul><ul><li>could specify on STN … but very messy </li></ul></ul><ul><ul><li>usually best added at a ‘meta’ level </li></ul></ul>Finish Help Subsystem Circle 1 click on circumference Circle 2 from Menu press HELP button draw circle rubber band click on centre Help Subsystem press HELP button
  19. 19. Petri nets <ul><li>one of the oldest notations in computing! </li></ul><ul><li>flow graph: </li></ul><ul><ul><li>places – a bit like STN states </li></ul></ul><ul><ul><li>transitions – a bit like STN arcs </li></ul></ul><ul><ul><li>counters – sit on places (current state) </li></ul></ul><ul><li>several counters allowed </li></ul><ul><ul><li>concurrent dialogue states </li></ul></ul><ul><li>used for UI specification (ICO at Toulouse) </li></ul><ul><ul><li>tool support – Petshop </li></ul></ul>
  20. 20. Petri net example Bold On Italic On Bold Off Italic Off user presses ‘Italic’ user presses ‘Bold’ T1 T2 T3 T4 user actions represented as a new counter transition ‘fires’ when all input places have counters
  21. 21. State charts <ul><li>used in UML </li></ul><ul><li>extension to STN </li></ul><ul><ul><li>hierarchy </li></ul></ul><ul><ul><li>concurrent sub-nets </li></ul></ul><ul><ul><li>escapes </li></ul></ul><ul><ul><ul><li>OFF always active </li></ul></ul></ul><ul><ul><li>history </li></ul></ul><ul><ul><ul><li>link marked H goes back to last state on re-entering subdialogue </li></ul></ul></ul>On Off 1 2 3 4 Sound Channel H SEL SEL SEL SEL MUTE Standby OFF ON RESET
  22. 22. Flowcharts <ul><li>familiar to programmers </li></ul><ul><li>boxes - process/event - not state </li></ul><ul><li>use for dialogue (not internal algorithm) </li></ul>Delete D1 Please enter employee no.: ____ Delete D3 Name: Alan Dix Dept: Computing delete? (Y/N): _ Please enter Y or N Delete D2 Name: Alan Dix Dept: Computing delete? (Y/N): _ answer? C2 Finish Finish read record C1 delete record C3 other N Y
  23. 23. it works! <ul><li>formal notations – too much work? </li></ul><ul><li>COBOL transaction processing </li></ul><ul><ul><li>event-driven – like web interfaces </li></ul></ul><ul><ul><li>programs structure ≠ dialogue structure </li></ul></ul><ul><li>used dialogue flow charts </li></ul><ul><ul><li>discuss with clients </li></ul></ul><ul><ul><li>transform to code </li></ul></ul><ul><ul><li>systematic testing </li></ul></ul><ul><ul><li>1000% productivity gain </li></ul></ul><ul><li>formalism saves time!! </li></ul>Delete D1 Please enter employee no.: ____ Delete D3 delete? (Y/N): _ Please enter Y or N Delete D2 Name: Alan Dix Dept: Computing delete? (Y/N): _ answer? C2 Finish Finish read record C1 other N Y delete record C3
  24. 24. JSD diagrams <ul><li>for tree structured dialogues </li></ul><ul><ul><li>less expressive </li></ul></ul><ul><ul><li>greater clarity </li></ul></ul>transaction login add employee record change employee record display employee record logout Personnel Record System delete employee record *
  25. 25. textual notations grammars production rules CSP and event algebras
  26. 26. Textual - Grammars <ul><li>Regular expressions </li></ul><ul><ul><ul><li>sel-line click click* dble-click </li></ul></ul></ul><ul><li>compare with JSD </li></ul><ul><ul><ul><li>same computational model </li></ul></ul></ul><ul><ul><ul><li>different notation </li></ul></ul></ul><ul><li>BNF </li></ul><ul><ul><ul><li>expr ::= empty </li></ul></ul></ul><ul><ul><ul><li>| atom expr </li></ul></ul></ul><ul><ul><ul><li>| '(' expr ')' expr </li></ul></ul></ul><ul><li>more powerful than regular exp. or STNs </li></ul><ul><li>Still NO concurrent dialogue </li></ul>
  27. 27. Production rules <ul><li>Unordered list of rules: </li></ul><ul><li>if condition then action </li></ul><ul><ul><li>condition based on state or pending events </li></ul></ul><ul><ul><li>every rule always potentially active </li></ul></ul><ul><li>Good for concurrency </li></ul><ul><li>Bad for sequence </li></ul>
  28. 28. Event based production rules <ul><ul><ul><li>Sel-line  first </li></ul></ul></ul><ul><ul><ul><li>C-point first  rest </li></ul></ul></ul><ul><ul><ul><li>C-point rest  rest </li></ul></ul></ul><ul><ul><ul><li>D-point rest  < draw line > </li></ul></ul></ul><ul><li>Note: </li></ul><ul><ul><li>events added to list of pending events </li></ul></ul><ul><ul><li>‘ first ’ and ‘ rest ’ are internally generated events </li></ul></ul><ul><li>Bad at state! </li></ul>
  29. 29. Prepositional Production System <ul><li>State based </li></ul><ul><li>Attributes: </li></ul><ul><ul><ul><li>Mouse: { mouse-off, select-line, click-point, double-click } </li></ul></ul></ul><ul><ul><ul><li>Line-state: { menu, first, rest } </li></ul></ul></ul><ul><li>Rules (feedback not shown): </li></ul><ul><ul><ul><li>select-line  mouse-off first </li></ul></ul></ul><ul><ul><ul><li>click-point first  mouse-off rest </li></ul></ul></ul><ul><ul><ul><li>click-point rest  mouse-off </li></ul></ul></ul><ul><ul><ul><li>double-click rest  mouse-off menu </li></ul></ul></ul><ul><li>Bad at events! </li></ul>
  30. 30. CSP and process algebras <ul><li>used in Alexander's SPI, and Agent notation </li></ul><ul><li>good for sequential dialogues </li></ul><ul><ul><li>Bold-tog = select-bold?  bold-on  select-bold?  bold-off  Bold-tog </li></ul></ul><ul><ul><li>Italic-tog = . . . </li></ul></ul><ul><ul><li>Under-tog = . . . </li></ul></ul><ul><li>and concurrent dialogue </li></ul><ul><ul><li>Dialogue-box = Bold-tog || Italic-tog || Under-tog </li></ul></ul><ul><li>but causality unclear </li></ul>
  31. 31. Dialogue Notations - Summary <ul><li>Diagrammatic </li></ul><ul><ul><ul><li>STN, JSD, Flow charts </li></ul></ul></ul><ul><li>Textual </li></ul><ul><ul><ul><li>grammars, production rules, CSP </li></ul></ul></ul><ul><li>Issues </li></ul><ul><ul><ul><li>event base vs. state based </li></ul></ul></ul><ul><ul><ul><li>power vs. clarity </li></ul></ul></ul><ul><ul><ul><li>model vs. notation </li></ul></ul></ul><ul><ul><ul><li>sequential vs. concurrent </li></ul></ul></ul>
  32. 32. Semantics Alexander SPI (i) <ul><li>Two part specication: </li></ul><ul><ul><ul><li>EventCSP - pure dialogue order </li></ul></ul></ul><ul><ul><ul><li>EventISL - target dependent semantics </li></ul></ul></ul><ul><li>dialogue description - centralised </li></ul><ul><li>syntactic/semantic trade-off - tollerable </li></ul>
  33. 33. Semantics Alexander SPI (ii) <ul><li>EventCSP </li></ul><ul><ul><li>Login = login-mess -> get-name -> Passwd </li></ul></ul><ul><ul><li>Passwd = passwd-mess -> (invalid -> Login [] valid -> Session) </li></ul></ul><ul><li>EventISL </li></ul><ul><ul><li>event: login-mess </li></ul></ul><ul><ul><li>prompt: true </li></ul></ul><ul><ul><li>out: “Login:” </li></ul></ul><ul><ul><li>event: get-name </li></ul></ul><ul><ul><li>uses: input </li></ul></ul><ul><ul><li>set: user-id = input </li></ul></ul><ul><ul><li>event: valid </li></ul></ul><ul><ul><li>uses: input, user-id, passwd-db </li></ul></ul><ul><ul><li>wgen: passwd-id = passwd-db(user-id) </li></ul></ul>
  34. 34. Semantics - raw code <ul><li>event loop for word processor </li></ul><ul><li>dialogue description - very distributed </li></ul><ul><li>syntactic/semantic trade-off - terrible! </li></ul>switch ( ev.type ) { case button_down: if ( in_text ( ev.pos ) ) { mode = selecting; mark_selection_start(ev.pos); } ... case button_up: if ( in_text ( ev.pos ) && mode == selecting ) { mode = normal; mark_selection_end(ev.pos); } ... case mouse_move: if (mode == selecting ) { extend_selection(ev.pos); } ... } /* end of switch */
  35. 35. Action properties <ul><li>completeness </li></ul><ul><ul><ul><li>missed arcs </li></ul></ul></ul><ul><ul><ul><li>unforeseen circumstances </li></ul></ul></ul><ul><li>determinism </li></ul><ul><ul><ul><li>several arcs for one action </li></ul></ul></ul><ul><ul><ul><li>deliberate: application decision </li></ul></ul></ul><ul><ul><ul><li>accident: production rules </li></ul></ul></ul><ul><li>nested escapes </li></ul><ul><li>consistency </li></ul><ul><ul><ul><li>same action, same effect? </li></ul></ul></ul><ul><ul><ul><li>modes and visibility </li></ul></ul></ul>
  36. 36. Checking properties (i) <ul><li>completeness </li></ul><ul><ul><li>double-click in circle states? </li></ul></ul>double click ?
  37. 37. Checking properties (ii) <ul><li>Reversibility: </li></ul><ul><ul><li>to reverse select `line' </li></ul></ul>
  38. 38. Checking properties (ii) <ul><li>Reversibility: </li></ul><ul><ul><li>to reverse select `line' </li></ul></ul><ul><ul><li>click </li></ul></ul>
  39. 39. Checking properties (ii) <ul><li>Reversibility: </li></ul><ul><ul><li>to reverse select `line' </li></ul></ul><ul><ul><li>click - double click </li></ul></ul>
  40. 40. Checking properties (ii) <ul><li>Reversibility: </li></ul><ul><ul><li>to reverse select `line' </li></ul></ul><ul><ul><li>click - double click - select `graphics' </li></ul></ul><ul><ul><li>(3 actions) </li></ul></ul><ul><li>N.B. not undo </li></ul>
  41. 41. State properties <ul><li>reachability </li></ul><ul><ul><ul><li>can you get anywhere from anywhere? </li></ul></ul></ul><ul><ul><ul><li>and how easily </li></ul></ul></ul><ul><li>reversibility </li></ul><ul><ul><ul><li>can you get to the previous state? </li></ul></ul></ul><ul><ul><ul><li>but NOT undo </li></ul></ul></ul><ul><li>dangerous states </li></ul><ul><ul><ul><li>some states you don't want to get to </li></ul></ul></ul>
  42. 42. Dangerous States <ul><li>word processor: two modes and exit </li></ul><ul><ul><ul><li>F1 - changes mode </li></ul></ul></ul><ul><ul><ul><li>F2 - exit (and save) </li></ul></ul></ul><ul><ul><ul><li>Esc - no mode change </li></ul></ul></ul><ul><ul><li>but ... Esc resets autosave </li></ul></ul>edit exit menu F1 F2 Esc
  43. 43. Dangerous States (ii) <ul><li>exit with/without save  dangerous states </li></ul><ul><li>duplicate states - semantic distinction </li></ul><ul><li>F1-F2 - exit with save </li></ul><ul><li>F1-Esc-F2 - exit with no save </li></ul>edit exit menu F1 F2 Esc edit exit menu F1 F2 Esc any update
  44. 44. Lexical Issues <ul><li>visibility </li></ul><ul><ul><ul><li>differentiate modes and states </li></ul></ul></ul><ul><ul><ul><li>annotations to dialogue </li></ul></ul></ul><ul><li>style </li></ul><ul><ul><ul><li>command - verb noun </li></ul></ul></ul><ul><ul><ul><li>mouse based - noun verb </li></ul></ul></ul><ul><li>layout </li></ul><ul><ul><ul><li>not just appearance ... </li></ul></ul></ul>
  45. 45. layout matters <ul><li>word processor - dangerous states </li></ul><ul><li>old keyboard - OK </li></ul>Esc F1 F2 F3 ... F4 ... 1 tab ... ... edit exit menu F1 F2 Esc edit exit menu F1 F2 Esc any update
  46. 46. layout matters <ul><li>new keyboard layout </li></ul><ul><li>intend F1-F2 (save) </li></ul><ul><li>finger catches Esc </li></ul>Esc F1 F2 F3 ... edit exit menu F1 F2 Esc edit exit menu F1 F2 Esc any update
  47. 47. layout matters <ul><li>new keyboard layout </li></ul><ul><li>intend F1-F2 (save) </li></ul><ul><li>finger catches Esc </li></ul><ul><li>F1-Esc-F2 - disaster! </li></ul>Esc F1 F2 F3 ... edit exit menu F1 F2 Esc edit exit menu F1 F2 Esc any update
  48. 48. Dialogue Analysis - Summary <ul><li>Semantics and dialogue </li></ul><ul><ul><ul><li>attaching semantics </li></ul></ul></ul><ul><ul><ul><li>distributed/centralised dialogue description </li></ul></ul></ul><ul><ul><ul><li>maximising syntactic description </li></ul></ul></ul><ul><li>Properties of dialogue </li></ul><ul><ul><ul><li>action properties: completeness, determinism, consistency </li></ul></ul></ul><ul><ul><ul><li>state properties: reachability, reversibility, dangerous states </li></ul></ul></ul><ul><li>Presentation and lexical issues </li></ul><ul><ul><ul><li>visibility , style , layout </li></ul></ul></ul><ul><ul><ul><li>N.B. not independent of dialogue </li></ul></ul></ul>
  49. 49. Dialogue Analysis - Summary <ul><li>Semantics and dialogue </li></ul><ul><ul><ul><li>attaching semantics </li></ul></ul></ul><ul><ul><ul><li>distributed/centralised dialogue description </li></ul></ul></ul><ul><ul><ul><li>maximising syntactic description </li></ul></ul></ul><ul><li>Properties of dialogue </li></ul><ul><ul><ul><li>action properties: completeness, determinism, consistency </li></ul></ul></ul><ul><ul><ul><li>state properties: reachability, reversibility, dangerous states </li></ul></ul></ul><ul><li>Presentation and lexical issues </li></ul><ul><ul><ul><li>visibility , style , layout </li></ul></ul></ul><ul><ul><ul><li>N.B. not independent of dialogue </li></ul></ul></ul>
  50. 50. Digital watch – User Instructions <ul><li>two main modes </li></ul><ul><li>limited interface - 3 buttons </li></ul><ul><li>button A changes mode </li></ul>
  51. 51. Digital watch – User Instructions <ul><li>dangerous states </li></ul><ul><ul><li>guarded … by two second hold </li></ul></ul><ul><li>completeness </li></ul><ul><ul><li>distinguish depress A and release A </li></ul></ul><ul><ul><li>what do they do in all modes? </li></ul></ul>
  52. 52. Digital watch – Designers instructions <ul><li>and ... </li></ul><ul><li>that’s just one button </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×