SlideShare a Scribd company logo
1 of 52
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, 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
for
for
for

inconsistent actions
difficult to reverse actions
missing actions
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:
Judge: How do you plead guilty or not guilty?
Defendant: either Guilty or Not guilty
– 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!
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

select 'circle'
Start

click on
click on centre
circumference
Circle 1
Circle 2
Finish
rubber band
draw circle

Menu
select 'line'
Line 1

click on
first point
rubber band

Line 2

double click
draw last
line

click on point
draw a line

Finish
State transition networks events
• arc labels a bit cramped because:
– notation is `state heavy‘
– the events require most detail

select 'circle'
Start

click on
click on centre
circumference
Circle 1
Circle 2
Finish
rubber band
draw circle

Menu
select 'line'
Line 1

click on
first point
rubber band

Line 2

double click
draw last
line

click on point
draw a line

Finish
State transition networks states
• labels in circles a bit uninformative:
– states are hard to name
– but easier to visualise

click on
circumference

click on centre
Circle 1
select 'circle'
Start

Circle 2
rubber band

Menu

select 'line'

... ... ...

Finish
draw circle
Hierarchical STNs
• managing complex dialogues
• named sub-dialogues
select ‘graphics’

Main
Menu

select ‘text’

Graphics Submenu

Text Submenu

Paint Submenu
select ‘paint’
Concurrent dialogues - I
simple dialogue box

Text Style
bold
example

italic
underline
Concurrent dialogues - II
three toggles - individual STNs
NO

click on ‘bold’

bold

NO

click on ‘italic’

italic

NO
u’line

click on ‘underline’

bold

bold

italic

italic

u’line

underline
Concurrent dialogues - III
bold and italic combined

Text Style
NO

click on ‘bold’

style

only

click
on
‘italic’

click
on
‘italic’

italic
only

bold

click on ‘bold’

bold
italic

example

bold
italic
underline
Concurrent dialogues - IV

all together - combinatorial explosion
Text Style
NO

‘bold’

bold

style

only

example

‘underline’

‘underline’

‘italic’

‘italic’
u’line

‘bold’

only

bold
u’line

‘italic’
italic

‘bold’

only

‘underline’

‘underline’
italic
u’line

‘italic’

bold
italic

‘bold’

bold
italic
u’line

bold
italic
underline
escapes
• ‘back’ in web, escape/cancel keys
– similar behaviour everywhere
– end up with spaghetti of identical behaviours

• try to avoid this

select ‘graphics’

Graphics Submenu

ESC
normal

e.g. on high level diagram
‘normal’ exit for
each submenu

finish

Main
Menu

select ‘text’

Text Submenu

ESC
normal

plus separate
escape arc active
‘everywhere’ in submenu

finish
Paint Submenu
select ‘paint’

ESC
normal
finish
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
from
Menu

Circle 1

click on centre
rubber band
press HELP
button

Help Subsystem

Circle 2

click on circumference
draw circle
press HELP
button

Help Subsystem

Finish
Petri nets
• one of the oldest notations in computing!
• flow graph:
– places
– transitions
– counters

– a bit like STN states
– a bit like STN arcs
– sit on places (current state)

• several counters allowed
– concurrent dialogue states

• used for UI specification
– tool support – Petshop

(ICO at Toulouse)
Petri net example
Bold On

user presses
‘Bold’

T1

T2

Bold Off
user actions
represented
as a new counter

transition ‘fires’
when all input
places have counters

Italic On

T3

user presses
‘Italic’

T4

Italic Off
State charts
• used in UML
• extension to STN
– hierarchy
– concurrent sub-nets
– escapes
• OFF always active

Standby

ON

OFF
RESET

Channel

Sound

– history
• link marked H
goes back to last
state on re-entering
subdialogue

1
SEL

On
2

MUTE

SEL

SEL

Off

3
SEL

4

H
Flowcharts
• familiar to
programmers
• boxes
- process/event
- not state

Delete

D1

Please enter
employee no.: ____

C1
read record

Delete

D2

Delete

Name: Alan Dix
Dept: Computing
delete? (Y/N): _

• use for dialogue

C2

(not internal algorithm)

Name: Alan Dix
Dept: Computing
delete? (Y/N): _
Please enter Y or N

other

answer?

Y

N

C3
delete record

Finish

D3

Finish
it works!
• formal notations – too much work?
• COBOL transaction processing
– event-driven – like web interfaces
– programs structure
≠ dialogue structure

Delete

• used dialogue flow charts
–
–
–
–

discuss with clients
transform to code
systematic testing
1000% productivity gain

• formalism saves time!!

D1

Please enter
employee no.: ____

C1
read record

Delete

D2

Delete

Name: Alan Dix
Dept: Computing
delete? (Y/N): _

C2
answer?

Y

other

N

Finish

C3
delete record

Finish

D3

delete? (Y/N): _
Please enter Y or N
JSD diagrams
• for tree structured dialogues
– less expressive

Personnel
Record
System

– greater clarity

login

add
employee
record

transaction

change
employee
record

*

logout

display
employee
record

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

select 'circle'
Start

?

click on
click on centre
circumference
Circle 1
Circle 2
Finish
rubber band
draw circle

Menu
select 'line'
Line 1

click on
first point
rubber band

Line 2

double click
draw last
line

click on point
draw a line

Finish
Checking properties (ii)
select 'circle'
Start

• Reversibility:

... ... ...

Menu

select 'line'
Line 1

click on
first point
rubber band

– to reverse select `line'

double click
Line 2

draw last
line

click on point
draw a line

Graphics Sub-menu

select 'graphics'

Main
Menu

select 'text'

select 'paint'

... ... ...
... ... ...

Finish
Checking properties (ii)
select 'circle'
Start

• Reversibility:

... ... ...

Menu

select 'line'
Line 1

click on
first point
rubber band

– to reverse select `line'

double click
Line 2

draw last
line

click on point
draw a line

– click

Graphics Sub-menu

select 'graphics'

Main
Menu

select 'text'

select 'paint'

... ... ...
... ... ...

Finish
Checking properties (ii)
select 'circle'
Start

• Reversibility:

... ... ...

Menu

select 'line'
Line 1

click on
first point
rubber band

– to reverse select `line'

double click
Line 2

draw last
line

click on point
draw a line

– click - double click

Graphics Sub-menu

select 'graphics'

Main
Menu

select 'text'

select 'paint'

... ... ...
... ... ...

Finish
Checking properties (ii)
select 'circle'
Start

• Reversibility:

... ... ...

Menu

select 'line'
Line 1

click on
first point
rubber band

– to reverse select `line'

double click
Line 2

draw last
line

click on point

– click - double click - select `graphics'

draw a line

– (3 actions)
Graphics Sub-menu

• N.B. not undo

select 'graphics'

Main
Menu

select 'text'

select 'paint'

... ... ...
... ... ...

Finish
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
F2
Esc

- changes mode
- exit (and save)
- no mode change
Esc

edit

F1

menu

F2

but ... Esc resets autosave

exit
Dangerous States (ii)
• exit with/without save ⇒ dangerous states
• duplicate states - semantic distinction
edit

F1

any
update

edit
F1-F2 - exit with save
F1-Esc-F2 - exit with no save

menu

F2

exit

Esc
F1

menu
Esc

F2

exit
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
edit

F1

any
update

• old keyboard - OK
Esc
tab
F1

F2

F3

F4

...

...

...

edit

menu

...

exit

Esc
F1

menu

Esc

1

F2

F2

exit
layout matters
• new keyboard layout
Esc

F1

intend F1-F2 (save)
finger catches Esc

F2

F3

...
edit

F1

any
update
edit

menu

F2

exit

Esc
F1

menu

Esc

F2

exit
layout matters
• new keyboard layout
Esc

F1

F2

intend F1-F2 (save)
finger catches Esc
F1-Esc-F2 - disaster!

F3

...
edit

F1

any
update
edit

menu

F2

exit

Esc
F1

menu

Esc

F2

exit
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
Time display

• two main modes

Stop watch

SMTWTFS

SMTWTFS

A

STP

• limited interface
- 3 buttons
A

• button A
changes mode

A

SMTWTFS

Depress
button A
for 2 seconds

SMTWTFS

SET

A

ALM
AM

Time setting

Alarm setting
Digital watch – User
Instructions
Time display

Stop watch

SMTWTFS

SMTWTFS

• dangerous states

A

STP

• guarded
… by two second hold
A

• completeness
• distinguish depress A
and release A
• what do they do
in all modes?

A

SMTWTFS

Depress
button A
for 2 seconds

SMTWTFS

SET

A

ALM
AM

Time setting

Alarm setting
Digital watch – Designers
instructions
Time display
SMTWTFS

Stop watch
SMTWTFS

STP

and ...

Depress A
Release A

that’s just
one button

Release A

SMTWTFS

SMTWTFS

STP

Depress A

Release A

2 seconds

SMTWTFS

2 seconds

SMTWTFS

SET

Depress A

Release A
ALM
AM

Time setting

Alarm setting

More Related Content

Viewers also liked (9)

Ch13
Ch13Ch13
Ch13
 
E3 chap-01
E3 chap-01E3 chap-01
E3 chap-01
 
Ch10 file system interface
Ch10   file system interfaceCh10   file system interface
Ch10 file system interface
 
E3 chap-08
E3 chap-08E3 chap-08
E3 chap-08
 
Ch7
Ch7Ch7
Ch7
 
Ch5 process synchronization
Ch5   process synchronizationCh5   process synchronization
Ch5 process synchronization
 
Presentasi Pemrograman Berbasis Objek
Presentasi Pemrograman Berbasis ObjekPresentasi Pemrograman Berbasis Objek
Presentasi Pemrograman Berbasis Objek
 
E3 chap-02
E3 chap-02E3 chap-02
E3 chap-02
 
E3 chap-13
E3 chap-13E3 chap-13
E3 chap-13
 

Similar to E3 chap-16

HCI 3e - Ch 16: Dialogue notations and design
HCI 3e - Ch 16:  Dialogue notations and designHCI 3e - Ch 16:  Dialogue notations and design
HCI 3e - Ch 16: Dialogue notations and designAlan Dix
 
Formal 5 – Dialogue models – what to do when
Formal 5 – Dialogue models – what to do whenFormal 5 – Dialogue models – what to do when
Formal 5 – Dialogue models – what to do whenAlan Dix
 
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Fwdays
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++Mike Acton
 
Functional solid
Functional solidFunctional solid
Functional solidMatt Stine
 
e3-chap-03 (1).ppt
e3-chap-03 (1).ppte3-chap-03 (1).ppt
e3-chap-03 (1).pptreb20
 
C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#Hawkman Academy
 
Reinventing the Transaction Script (NDC London 2020)
Reinventing the Transaction Script (NDC London 2020)Reinventing the Transaction Script (NDC London 2020)
Reinventing the Transaction Script (NDC London 2020)Scott Wlaschin
 
e3-chap-03.power point presentaion on interst rate
e3-chap-03.power point presentaion on interst ratee3-chap-03.power point presentaion on interst rate
e3-chap-03.power point presentaion on interst rateseidmohammed44
 
e3-chap-03.ppt
e3-chap-03.ppte3-chap-03.ppt
e3-chap-03.pptKingSh2
 
Distributed processing of large graphs in python
Distributed processing of large graphs in pythonDistributed processing of large graphs in python
Distributed processing of large graphs in pythonJose Quesada (hiring)
 
Agile Engineering for Managers Workshop
Agile Engineering for Managers WorkshopAgile Engineering for Managers Workshop
Agile Engineering for Managers WorkshopPaul Boos
 

Similar to E3 chap-16 (20)

HCI 3e - Ch 16: Dialogue notations and design
HCI 3e - Ch 16:  Dialogue notations and designHCI 3e - Ch 16:  Dialogue notations and design
HCI 3e - Ch 16: Dialogue notations and design
 
Formal 5 – Dialogue models – what to do when
Formal 5 – Dialogue models – what to do whenFormal 5 – Dialogue models – what to do when
Formal 5 – Dialogue models – what to do when
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
 
Data oriented design and c++
Data oriented design and c++Data oriented design and c++
Data oriented design and c++
 
Functional solid
Functional solidFunctional solid
Functional solid
 
e3-chap-03 (1).ppt
e3-chap-03 (1).ppte3-chap-03 (1).ppt
e3-chap-03 (1).ppt
 
C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#
 
Unit ii design process
Unit ii design processUnit ii design process
Unit ii design process
 
Quality code 2019
Quality code 2019Quality code 2019
Quality code 2019
 
E3 chap-03
E3 chap-03E3 chap-03
E3 chap-03
 
ch3-interaction.pdf
ch3-interaction.pdfch3-interaction.pdf
ch3-interaction.pdf
 
ch3-interaction.pdf
ch3-interaction.pdfch3-interaction.pdf
ch3-interaction.pdf
 
E3 chap-03
E3 chap-03E3 chap-03
E3 chap-03
 
Reinventing the Transaction Script (NDC London 2020)
Reinventing the Transaction Script (NDC London 2020)Reinventing the Transaction Script (NDC London 2020)
Reinventing the Transaction Script (NDC London 2020)
 
e3-chap-03.power point presentaion on interst rate
e3-chap-03.power point presentaion on interst ratee3-chap-03.power point presentaion on interst rate
e3-chap-03.power point presentaion on interst rate
 
e3-chap-03.ppt
e3-chap-03.ppte3-chap-03.ppt
e3-chap-03.ppt
 
Continuous Platformization
Continuous PlatformizationContinuous Platformization
Continuous Platformization
 
Distributed processing of large graphs in python
Distributed processing of large graphs in pythonDistributed processing of large graphs in python
Distributed processing of large graphs in python
 
Agile Engineering for Managers Workshop
Agile Engineering for Managers WorkshopAgile Engineering for Managers Workshop
Agile Engineering for Managers Workshop
 

Recently uploaded

Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 

Recently uploaded (20)

Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 

E3 chap-16

  • 2. 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 for for for inconsistent actions difficult to reverse actions missing actions 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: Judge: How do you plead guilty or not guilty? Defendant: either Guilty or Not guilty – 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!
  • 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 select 'circle' Start click on click on centre circumference Circle 1 Circle 2 Finish rubber band draw circle Menu select 'line' Line 1 click on first point rubber band Line 2 double click draw last line click on point draw a line Finish
  • 10. State transition networks events • arc labels a bit cramped because: – notation is `state heavy‘ – the events require most detail select 'circle' Start click on click on centre circumference Circle 1 Circle 2 Finish rubber band draw circle Menu select 'line' Line 1 click on first point rubber band Line 2 double click draw last line click on point draw a line Finish
  • 11. State transition networks states • labels in circles a bit uninformative: – states are hard to name – but easier to visualise click on circumference click on centre Circle 1 select 'circle' Start Circle 2 rubber band Menu select 'line' ... ... ... Finish draw circle
  • 12. Hierarchical STNs • managing complex dialogues • named sub-dialogues select ‘graphics’ Main Menu select ‘text’ Graphics Submenu Text Submenu Paint Submenu select ‘paint’
  • 13. Concurrent dialogues - I simple dialogue box Text Style bold example italic underline
  • 14. Concurrent dialogues - II three toggles - individual STNs NO click on ‘bold’ bold NO click on ‘italic’ italic NO u’line click on ‘underline’ bold bold italic italic u’line underline
  • 15. Concurrent dialogues - III bold and italic combined Text Style NO click on ‘bold’ style only click on ‘italic’ click on ‘italic’ italic only bold click on ‘bold’ bold italic example bold italic underline
  • 16. Concurrent dialogues - IV all together - combinatorial explosion Text Style NO ‘bold’ bold style only example ‘underline’ ‘underline’ ‘italic’ ‘italic’ u’line ‘bold’ only bold u’line ‘italic’ italic ‘bold’ only ‘underline’ ‘underline’ italic u’line ‘italic’ bold italic ‘bold’ bold italic u’line bold italic underline
  • 17. escapes • ‘back’ in web, escape/cancel keys – similar behaviour everywhere – end up with spaghetti of identical behaviours • try to avoid this select ‘graphics’ Graphics Submenu ESC normal e.g. on high level diagram ‘normal’ exit for each submenu finish Main Menu select ‘text’ Text Submenu ESC normal plus separate escape arc active ‘everywhere’ in submenu finish Paint Submenu select ‘paint’ ESC normal finish
  • 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 from Menu Circle 1 click on centre rubber band press HELP button Help Subsystem Circle 2 click on circumference draw circle press HELP button Help Subsystem Finish
  • 19. Petri nets • one of the oldest notations in computing! • flow graph: – places – transitions – counters – a bit like STN states – a bit like STN arcs – sit on places (current state) • several counters allowed – concurrent dialogue states • used for UI specification – tool support – Petshop (ICO at Toulouse)
  • 20. Petri net example Bold On user presses ‘Bold’ T1 T2 Bold Off user actions represented as a new counter transition ‘fires’ when all input places have counters Italic On T3 user presses ‘Italic’ T4 Italic Off
  • 21. State charts • used in UML • extension to STN – hierarchy – concurrent sub-nets – escapes • OFF always active Standby ON OFF RESET Channel Sound – history • link marked H goes back to last state on re-entering subdialogue 1 SEL On 2 MUTE SEL SEL Off 3 SEL 4 H
  • 22. Flowcharts • familiar to programmers • boxes - process/event - not state Delete D1 Please enter employee no.: ____ C1 read record Delete D2 Delete Name: Alan Dix Dept: Computing delete? (Y/N): _ • use for dialogue C2 (not internal algorithm) Name: Alan Dix Dept: Computing delete? (Y/N): _ Please enter Y or N other answer? Y N C3 delete record Finish D3 Finish
  • 23. it works! • formal notations – too much work? • COBOL transaction processing – event-driven – like web interfaces – programs structure ≠ dialogue structure Delete • used dialogue flow charts – – – – discuss with clients transform to code systematic testing 1000% productivity gain • formalism saves time!! D1 Please enter employee no.: ____ C1 read record Delete D2 Delete Name: Alan Dix Dept: Computing delete? (Y/N): _ C2 answer? Y other N Finish C3 delete record Finish D3 delete? (Y/N): _ Please enter Y or N
  • 24. JSD diagrams • for tree structured dialogues – less expressive Personnel Record System – greater clarity login add employee record transaction change employee record * logout display employee record delete employee record
  • 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 select 'circle' Start ? click on click on centre circumference Circle 1 Circle 2 Finish rubber band draw circle Menu select 'line' Line 1 click on first point rubber band Line 2 double click draw last line click on point draw a line Finish
  • 37. Checking properties (ii) select 'circle' Start • Reversibility: ... ... ... Menu select 'line' Line 1 click on first point rubber band – to reverse select `line' double click Line 2 draw last line click on point draw a line Graphics Sub-menu select 'graphics' Main Menu select 'text' select 'paint' ... ... ... ... ... ... Finish
  • 38. Checking properties (ii) select 'circle' Start • Reversibility: ... ... ... Menu select 'line' Line 1 click on first point rubber band – to reverse select `line' double click Line 2 draw last line click on point draw a line – click Graphics Sub-menu select 'graphics' Main Menu select 'text' select 'paint' ... ... ... ... ... ... Finish
  • 39. Checking properties (ii) select 'circle' Start • Reversibility: ... ... ... Menu select 'line' Line 1 click on first point rubber band – to reverse select `line' double click Line 2 draw last line click on point draw a line – click - double click Graphics Sub-menu select 'graphics' Main Menu select 'text' select 'paint' ... ... ... ... ... ... Finish
  • 40. Checking properties (ii) select 'circle' Start • Reversibility: ... ... ... Menu select 'line' Line 1 click on first point rubber band – to reverse select `line' double click Line 2 draw last line click on point – click - double click - select `graphics' draw a line – (3 actions) Graphics Sub-menu • N.B. not undo select 'graphics' Main Menu select 'text' select 'paint' ... ... ... ... ... ... Finish
  • 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 F2 Esc - changes mode - exit (and save) - no mode change Esc edit F1 menu F2 but ... Esc resets autosave exit
  • 43. Dangerous States (ii) • exit with/without save ⇒ dangerous states • duplicate states - semantic distinction edit F1 any update edit F1-F2 - exit with save F1-Esc-F2 - exit with no save menu F2 exit Esc F1 menu Esc F2 exit
  • 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 edit F1 any update • old keyboard - OK Esc tab F1 F2 F3 F4 ... ... ... edit menu ... exit Esc F1 menu Esc 1 F2 F2 exit
  • 46. layout matters • new keyboard layout Esc F1 intend F1-F2 (save) finger catches Esc F2 F3 ... edit F1 any update edit menu F2 exit Esc F1 menu Esc F2 exit
  • 47. layout matters • new keyboard layout Esc F1 F2 intend F1-F2 (save) finger catches Esc F1-Esc-F2 - disaster! F3 ... edit F1 any update edit menu F2 exit Esc F1 menu Esc F2 exit
  • 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 Time display • two main modes Stop watch SMTWTFS SMTWTFS A STP • limited interface - 3 buttons A • button A changes mode A SMTWTFS Depress button A for 2 seconds SMTWTFS SET A ALM AM Time setting Alarm setting
  • 51. Digital watch – User Instructions Time display Stop watch SMTWTFS SMTWTFS • dangerous states A STP • guarded … by two second hold A • completeness • distinguish depress A and release A • what do they do in all modes? A SMTWTFS Depress button A for 2 seconds SMTWTFS SET A ALM AM Time setting Alarm setting
  • 52. Digital watch – Designers instructions Time display SMTWTFS Stop watch SMTWTFS STP and ... Depress A Release A that’s just one button Release A SMTWTFS SMTWTFS STP Depress A Release A 2 seconds SMTWTFS 2 seconds SMTWTFS SET Depress A Release A ALM AM Time setting Alarm setting