logging in or signing up e3 chap 16 Bertrando Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 112 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: February 04, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript chapter 16: chapter 16 dialogue notations and designDialogue Notations and Design: Dialogue Notations and Design Dialogue Notations Diagrammatic state transition networks, JSD diagrams, flow charts Textual formal grammars, production rules, CSP 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?: 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/datastructured human dialogue: 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 wifelessons about dialogue: 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: … 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 guiltydialogue design notations: 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 designsgraphical notations: graphical notations state-transition nets (STN) Petri nets, state charts flow charts, JSD diagramsState transition networks (STN): State transition networks (STN) circles - states arcs - actions/eventsState transition networks - events: State transition networks - events arc labels a bit cramped because: notation is `state heavy‘ the events require most detail State transition networks - states: State transition networks - states labels in circles a bit uninformative: states are hard to name but easier to visualise Hierarchical STNs: Hierarchical STNs managing complex dialogues named sub-dialoguesConcurrent dialogues - Isimple dialogue box: Concurrent dialogues - I simple dialogue box Concurrent dialogues - II three toggles - individual STNs: Concurrent dialogues - II three toggles - individual STNs Concurrent dialogues - IIIbold and italic combined: Concurrent dialogues - III bold and italic combined NO style bold only click on ‘bold’ click on ‘italic’ click on ‘italic’ Concurrent dialogues - IVall together - combinatorial explosion: Concurrent dialogues - IV all together - combinatorial explosion escapes: 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 help menus: 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 Petri nets: 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 – PetshopPetri net example: 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: 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 subdialogueFlowcharts: Flowcharts familiar to programmers boxes - process/event - not state use for dialogue (not internal algorithm)it works!: 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!! JSD diagrams: JSD diagrams for tree structured dialogues less expressive greater claritytextual notations: textual notations grammars production rules CSP and event algebrasTextual - Grammars: 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 dialogueProduction rules: 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: 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: 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: 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: 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. concurrentSemantics Alexander SPI (i): 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): 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: 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: 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): Checking properties (i) completeness double-click in circle states? double click ?Checking properties (ii): Checking properties (ii) Reversibility: to reverse select `line' Checking properties (ii): Checking properties (ii) Reversibility: to reverse select `line' click Checking properties (ii): Checking properties (ii) Reversibility: to reverse select `line' click - double click Checking properties (ii): Checking properties (ii) Reversibility: to reverse select `line' click - double click - select `graphics' (3 actions) N.B. not undo State properties: 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: Dangerous States word processor: two modes and exit F1 - changes mode F2 - exit (and save) Esc - no mode change but ... Esc resets autosaveDangerous States (ii): Dangerous States (ii) exit with/without save dangerous states duplicate states - semantic distinction F1-F2 - exit with save F1-Esc-F2 - exit with no saveLexical Issues: Lexical Issues visibility differentiate modes and states annotations to dialogue style command - verb noun mouse based - noun verb layout not just appearance ... layout matters: layout matters word processor - dangerous states old keyboard - OK layout matters: layout matters new keyboard layout intend F1-F2 (save) finger catches Esc layout matters: layout matters new keyboard layout intend F1-F2 (save) finger catches Esc F1-Esc-F2 - disaster!Dialogue Analysis - Summary: 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 dialogueDialogue Analysis - Summary: 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 dialogueDigital watch – User Instructions: Digital watch – User Instructions two main modes limited interface - 3 buttons button A changes modeDigital watch – User Instructions: 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: Digital watch – Designers instructions and ... that’s just one button You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
e3 chap 16 Bertrando Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 112 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: February 04, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript chapter 16: chapter 16 dialogue notations and designDialogue Notations and Design: Dialogue Notations and Design Dialogue Notations Diagrammatic state transition networks, JSD diagrams, flow charts Textual formal grammars, production rules, CSP 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?: 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/datastructured human dialogue: 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 wifelessons about dialogue: 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: … 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 guiltydialogue design notations: 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 designsgraphical notations: graphical notations state-transition nets (STN) Petri nets, state charts flow charts, JSD diagramsState transition networks (STN): State transition networks (STN) circles - states arcs - actions/eventsState transition networks - events: State transition networks - events arc labels a bit cramped because: notation is `state heavy‘ the events require most detail State transition networks - states: State transition networks - states labels in circles a bit uninformative: states are hard to name but easier to visualise Hierarchical STNs: Hierarchical STNs managing complex dialogues named sub-dialoguesConcurrent dialogues - Isimple dialogue box: Concurrent dialogues - I simple dialogue box Concurrent dialogues - II three toggles - individual STNs: Concurrent dialogues - II three toggles - individual STNs Concurrent dialogues - IIIbold and italic combined: Concurrent dialogues - III bold and italic combined NO style bold only click on ‘bold’ click on ‘italic’ click on ‘italic’ Concurrent dialogues - IVall together - combinatorial explosion: Concurrent dialogues - IV all together - combinatorial explosion escapes: 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 help menus: 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 Petri nets: 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 – PetshopPetri net example: 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: 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 subdialogueFlowcharts: Flowcharts familiar to programmers boxes - process/event - not state use for dialogue (not internal algorithm)it works!: 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!! JSD diagrams: JSD diagrams for tree structured dialogues less expressive greater claritytextual notations: textual notations grammars production rules CSP and event algebrasTextual - Grammars: 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 dialogueProduction rules: 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: 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: 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: 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: 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. concurrentSemantics Alexander SPI (i): 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): 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: 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: 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): Checking properties (i) completeness double-click in circle states? double click ?Checking properties (ii): Checking properties (ii) Reversibility: to reverse select `line' Checking properties (ii): Checking properties (ii) Reversibility: to reverse select `line' click Checking properties (ii): Checking properties (ii) Reversibility: to reverse select `line' click - double click Checking properties (ii): Checking properties (ii) Reversibility: to reverse select `line' click - double click - select `graphics' (3 actions) N.B. not undo State properties: 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: Dangerous States word processor: two modes and exit F1 - changes mode F2 - exit (and save) Esc - no mode change but ... Esc resets autosaveDangerous States (ii): Dangerous States (ii) exit with/without save dangerous states duplicate states - semantic distinction F1-F2 - exit with save F1-Esc-F2 - exit with no saveLexical Issues: Lexical Issues visibility differentiate modes and states annotations to dialogue style command - verb noun mouse based - noun verb layout not just appearance ... layout matters: layout matters word processor - dangerous states old keyboard - OK layout matters: layout matters new keyboard layout intend F1-F2 (save) finger catches Esc layout matters: layout matters new keyboard layout intend F1-F2 (save) finger catches Esc F1-Esc-F2 - disaster!Dialogue Analysis - Summary: 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 dialogueDialogue Analysis - Summary: 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 dialogueDigital watch – User Instructions: Digital watch – User Instructions two main modes limited interface - 3 buttons button A changes modeDigital watch – User Instructions: 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: Digital watch – Designers instructions and ... that’s just one button