Dialogue Notations and Design
Dialogue Notations and Design
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
• in user interfaces
• refers to the structure of the interaction
• syntactic level of human–computer ‘conversation’
• levels
• lexical – shape of icons, actual keys pressed(Sound & Spell)
• syntactic – order of inputs and outputs(Grammar)
• semantic – effect on internal application/data (Meaning)
structured human 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 …”
• circles - states
• arcs - actions/events click on
click on centre circumference
Circle 1 Circle 2 Finish
rubber band draw circle
select 'circle'
Start Menu
click on point
draw a line
State transition networks -
events
Start Menu
click on point
draw a line
State transition networks -
states
click on
click on centre circumference
Circle 1 Circle 2 Finish
rubber band draw circle
select 'circle'
Start Menu
select 'line'
... ... ...
Hierarchical STNs
Text Submenu
select ‘text’
Main
Menu
Paint Submenu
select ‘paint’
Concurrent dialogues - I
simple dialogue box
Text Style
bold
example italic
underline
Concurrent dialogues - II
three toggles - individual STNs
click on ‘bold’
NO
bold
bold bold
click on ‘italic’
NO
italic
italic italic
click on ‘underline’
NO
u’line
u’line underline
Concurrent dialogues - III
bold and italic combined
Text Style
bold
NO click on ‘bold’ bold example italic
style only underline
click click
on on
‘italic’ ‘italic’
‘italic’ ‘italic’
italic ‘bold’ bold
only italic
‘underline’ ‘underline’
bold
italic ‘bold’ italic
u’line u’line
escapes
• 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
click on centre click on circumference
from
Circle 1 Circle 2 Finish
Menu rubber band draw circle
T1 T2 T3 T4
• used in UML
• extension to STN Standby
• hierarchy
ON OFF
• concurrent sub-nets RESET
• history
• link marked H Sound Channel
goes back to last 1
state on re-entering H
On SEL
subdialogue 2
MUTE
SEL SEL
Off 3
SEL
4
Delete D1
C1
read record
• familiar to
programmers
Delete D2 Delete D3
- not state
• use for dialogue answer?
C2 other
Finish
it works!
• formal notations – too much work?
• COBOL transaction processing
• event-driven – like web interfaces
• programs structure Delete
Please enter
D1
• systematic testing C2
N
other
Finish
Finish
JSD diagrams( Jackson structure
design)
login transaction
* logout
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
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
• 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)
• 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
• 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
click on
click on centre circumference
Circle 1 Circle 2 Finish
rubber band draw circle
select 'circle'
Start Menu
click on point
draw a line
Checking properties (ii)
select 'circle'
... ... ...
Start Menu
click on point
• to reverse select `line' draw a line
Graphics Sub-menu
select 'graphics'
Main
Menu
select 'text' ... ... ...
... ... ...
select 'paint'
Checking properties (ii)
select 'circle'
... ... ...
Start Menu
click on point
• to reverse select `line' draw a line
• click
Graphics Sub-menu
select 'graphics'
Main
Menu
select 'text' ... ... ...
... ... ...
select 'paint'
Checking properties (ii)
select 'circle'
... ... ...
Start Menu
click on point
• to reverse select `line' draw a line
Graphics Sub-menu
select 'graphics'
Main
Menu
select 'text' ... ... ...
... ... ...
select 'paint'
Checking properties (ii)
select 'circle'
... ... ...
Start Menu
click on point
• to reverse select `line' draw a line
Main
Menu
select 'text' ... ... ...
... ... ...
select 'paint'
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
Esc
F1 F2
edit menu exit
but ... Esc resets autosave
Dangerous States (ii)
any Esc
update
F1 F2
edit menu exit
F1-F2 - exit with save
Esc
F1-Esc-F2 - exit with no save
Lexical Issues
• visibility
• differentiate modes and states
• annotations to dialogue
• style
• command - verb noun
• mouse based - noun verb
• layout
• not just appearance ...
layout matters
any Esc
update
Esc
Esc 1
tab ...
F1 F2
...
F3 F4
... ...
layout matters
F1 F2
edit menu exit
Esc
layout matters
Esc
Dialogue Analysis - Summary
• Properties of dialogue
• action properties: completeness, determinism,
consistency
• state properties: reachability, reversibility, dangerous
states
• Properties of dialogue
• action properties: completeness, determinism,
consistency
• state properties: reachability, reversibility, dangerous
states
S MTWTF S S MTW TF S
A STP
Depress
• limited interface A A
button A
for 2 seconds
- 3 buttons
S MTWTF S S MTW TF S
SET A ALM
• button A AM
changes mode
Time setting Alarm setting
Digital watch – User Instructions
Time display Stop watch
S MTWTF S S MTWTF S
A STP
• dangerous states
• guarded
… by two second hold Depress
button A
A A for 2 seconds
• completeness S MTWTF S
SET A
S MTWTF S
ALM
• distinguish depress A AM
and release A
• what do they do Time setting Alarm setting
in all modes?
Digital watch – Designers
instructions Time display Stop watch
S MTWTFS S MTWTFS
STP
and ...
Depress A
Release A Release A
S MTWTFS S MTWTFS
one button
2 seconds 2 seconds
Depress A
S MTWTFS S MTWTFS
Release A Release A
SET Depress A ALM
AM