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

More Related Content

PPT
HCI 3e - Ch 14: Communication and collaboration models
PPT
HCI 3e - Ch 7: Design rules
PPT
HCI 3e - Ch 10: Universal design
PPT
HCI 3e - Ch 12: Cognitive models
PPT
HCI 3e - Ch 9: Evaluation techniques
PPT
HCI 3e - Ch 15: Task analysis
PPT
HCI 3e - Ch 3: The interaction
PPT
HCI 3e - Ch 8: Implementation support
HCI 3e - Ch 14: Communication and collaboration models
HCI 3e - Ch 7: Design rules
HCI 3e - Ch 10: Universal design
HCI 3e - Ch 12: Cognitive models
HCI 3e - Ch 9: Evaluation techniques
HCI 3e - Ch 15: Task analysis
HCI 3e - Ch 3: The interaction
HCI 3e - Ch 8: Implementation support

What's hot (20)

PPT
HCI 3e - Ch 17: Models of the system
PPT
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirements
PPT
HCI 3e - Ch 5: Interaction design basics
PPTX
Hci in software process
PPTX
Socio organizational issues ppt
PPT
HCI 3e - Ch 6: HCI in the software process
PPT
HCI 3e - Ch 4: Paradigms
PPT
Human computer interaction
PPTX
Multimodal Interaction
PPTX
hci in software development process
PPTX
Usability Engineering Presentation Slides
PPT
Design rules Human computer interaction.ppt
PPT
HCI 3e - Ch 11: User support
PPT
HCI - Chapter 2
PPT
HCI - Chapter 4
PPTX
WEB INTERFACE DESIGN
PPTX
Human computer interaction -Input output channel
PPTX
Human Computer Interaction Chapter 3 HCI in the Software Process and Design ...
PPT
User centered Design
PDF
User Interface Design - Module 1 Introduction
HCI 3e - Ch 17: Models of the system
HCI 3e - Ch 13: Socio-organizational issues and stakeholder requirements
HCI 3e - Ch 5: Interaction design basics
Hci in software process
Socio organizational issues ppt
HCI 3e - Ch 6: HCI in the software process
HCI 3e - Ch 4: Paradigms
Human computer interaction
Multimodal Interaction
hci in software development process
Usability Engineering Presentation Slides
Design rules Human computer interaction.ppt
HCI 3e - Ch 11: User support
HCI - Chapter 2
HCI - Chapter 4
WEB INTERFACE DESIGN
Human computer interaction -Input output channel
Human Computer Interaction Chapter 3 HCI in the Software Process and Design ...
User centered Design
User Interface Design - Module 1 Introduction
Ad

Viewers also liked (14)

PPT
HCI - Chapter 3
PPT
HCI 3e - Ch 20: Ubiquitous computing and augmented realities
PPT
HCI - Chapter 1
PPT
bad ideas: for creativity and design
PPTX
Interaction Beyond the Individual: A Lecture on HCI-Oriented Collaborative an...
PDF
02 Part-2 Communication and Collaboration Tools-Rev.102013
PPT
HCI 3e - Ch 18: Modelling rich interaction
PPTX
SICSA : Open Data Islands and Communities
PPTX
Human-Like Computing and Human-Computer Interaction
PPT
Aggrement protocols
PPT
HCI 3e - Ch 4 (extra):
PPTX
Buttons on forms and surveys: a look at some research 2012
PPT
HCI 3e - Ch 19: Groupware
HCI - Chapter 3
HCI 3e - Ch 20: Ubiquitous computing and augmented realities
HCI - Chapter 1
bad ideas: for creativity and design
Interaction Beyond the Individual: A Lecture on HCI-Oriented Collaborative an...
02 Part-2 Communication and Collaboration Tools-Rev.102013
HCI 3e - Ch 18: Modelling rich interaction
SICSA : Open Data Islands and Communities
Human-Like Computing and Human-Computer Interaction
Aggrement protocols
HCI 3e - Ch 4 (extra):
Buttons on forms and surveys: a look at some research 2012
HCI 3e - Ch 19: Groupware
Ad

Similar to HCI 3e - Ch 16: Dialogue notations and design (20)

PPT
IMK9-NOTASI_DIALOG IMK9-NOTASI_DIALOG AA
PPT
E3 chap-16
PPTX
Formal 5 – Dialogue models – what to do when
PDF
Tour of language landscape (BuildStuff)
PDF
Tour of language landscape (code.talks)
PPTX
Programming in C by SONU KUMAR.pptx
PDF
Blazes: coordination analysis for distributed programs
PPTX
lecture-3-1523011494 Lecture #3).pptx
PDF
Tour of language landscape (katsconf)
PPTX
Formal 6 – A success story!
PPTX
It's Not You. It's Your Data Model.
PDF
2013 - Andrei Zmievski: Machine learning para datos
PPT
A Theory of Service Behavior
PPTX
Functional programming in TypeScript
PDF
The Dynamic Language is not Enough
PPTX
Unit iii ppt
PPTX
Flow Chajhbhvhhhhhhhhhhhhhrts FOR BPE.pptx
PDF
Successfully Implement Responsive Design Behavior with Adobe Experience Manager
PDF
Why you should document your code
KEY
Session1
IMK9-NOTASI_DIALOG IMK9-NOTASI_DIALOG AA
E3 chap-16
Formal 5 – Dialogue models – what to do when
Tour of language landscape (BuildStuff)
Tour of language landscape (code.talks)
Programming in C by SONU KUMAR.pptx
Blazes: coordination analysis for distributed programs
lecture-3-1523011494 Lecture #3).pptx
Tour of language landscape (katsconf)
Formal 6 – A success story!
It's Not You. It's Your Data Model.
2013 - Andrei Zmievski: Machine learning para datos
A Theory of Service Behavior
Functional programming in TypeScript
The Dynamic Language is not Enough
Unit iii ppt
Flow Chajhbhvhhhhhhhhhhhhhrts FOR BPE.pptx
Successfully Implement Responsive Design Behavior with Adobe Experience Manager
Why you should document your code
Session1

More from Alan Dix (20)

PPTX
Artificial Intelligence for Agriculture: Being smart and Being small
PPTX
Enabling the Digital Artisan – keynote at ICOCI 2025
PPTX
Whose choice? Making decisions with and about Artificial Intelligence, Keele ...
PPTX
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
PPTX
Citations and Sub-Area Bias in the UK Research Assessment Process
PPTX
Technical Creativity – 901 Time Managing Creativity Introduction
PPTX
Technical Creativity – 906 Doing Nothing
PPTX
Technical Creativity – 905 Impasse: getting unstuck
PPTX
Technical Creativity – 904 To Do and Done
PPTX
Technical Creativity – 902 Plans: staying open to creative moments
PPTX
Technical Creativity – 903 Busy Work: being productive in the gaps
PPTX
Technical Creativity – 907 The Creativity Plan
PPTX
Technical Creativity – 801 Nurture Introduction
PPTX
Technical Creativity – 802 Habits that foster creativity
PPTX
Technical Creativity – 803 Create and Capture
PPTX
Technical Creativity – 701 Personality Prostheses: working with you
PPTX
Technical Creativity – 702 One Morning: a short creativity story
PPTX
Technical Creativity – 603 Fixation and Insight
PPTX
Technical Creativity – 605 What is the Problem
PPTX
Technical Creativity – 601 Theory Introduction
Artificial Intelligence for Agriculture: Being smart and Being small
Enabling the Digital Artisan – keynote at ICOCI 2025
Whose choice? Making decisions with and about Artificial Intelligence, Keele ...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Citations and Sub-Area Bias in the UK Research Assessment Process
Technical Creativity – 901 Time Managing Creativity Introduction
Technical Creativity – 906 Doing Nothing
Technical Creativity – 905 Impasse: getting unstuck
Technical Creativity – 904 To Do and Done
Technical Creativity – 902 Plans: staying open to creative moments
Technical Creativity – 903 Busy Work: being productive in the gaps
Technical Creativity – 907 The Creativity Plan
Technical Creativity – 801 Nurture Introduction
Technical Creativity – 802 Habits that foster creativity
Technical Creativity – 803 Create and Capture
Technical Creativity – 701 Personality Prostheses: working with you
Technical Creativity – 702 One Morning: a short creativity story
Technical Creativity – 603 Fixation and Insight
Technical Creativity – 605 What is the Problem
Technical Creativity – 601 Theory Introduction

Recently uploaded (20)

PDF
Yogi Goddess Pres Conference Studio Updates
PDF
Classroom Observation Tools for Teachers
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
GDM (1) (1).pptx small presentation for students
PDF
Complications of Minimal Access Surgery at WLH
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Trump Administration's workforce development strategy
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Computing-Curriculum for Schools in Ghana
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
Yogi Goddess Pres Conference Studio Updates
Classroom Observation Tools for Teachers
Weekly quiz Compilation Jan -July 25.pdf
01-Introduction-to-Information-Management.pdf
Anesthesia in Laparoscopic Surgery in India
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
GDM (1) (1).pptx small presentation for students
Complications of Minimal Access Surgery at WLH
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Trump Administration's workforce development strategy
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Computing-Curriculum for Schools in Ghana
STATICS OF THE RIGID BODIES Hibbelers.pdf
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Chinmaya Tiranga quiz Grand Finale.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra

HCI 3e - Ch 16: Dialogue notations and design

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