Dialogue Design and Notation
A comprehensive exploration of dialogue structures, notation systems, and formal methods for designing and describing human-computer conversations.
What is Dialogue?
Dialogue is a conversation between two or more parties. Dialogue can also imply cooperation or at least a willingness to resolve conflicts. In user interface design, dialogue has a more specific meaning: the conversational structure between users and computer systems.
Syntactic Level of Dialogue
Dialogue is the syntactic level of human-computer interaction. Dialogue notation can be:
- Diagrammatic: Easy to read.
- Textual: Easy for formal analysis.
Dialogue Scope
Dialogue relates to:
- System semantics: What the system does.
- Presentation: How the system appears.
Formal Description Analysis
Formal descriptions can be analyzed for:
- Inconsistent actions.
- Actions that are difficult to reverse.
- Missing items.
- Button press errors.
Computer Language
Computer language is divided into 3 levels:
- Lexical The lowest level: shape of icons on screen, buttons pressed. (In human language, equivalent to the sound and spelling of a word.)
- Syntactic The sequence and structure of input and output. (In human language, equivalent to the grammar of a sentence.)
- Semantic The meaning of the conversation related to its effect on the computer's internal data structure and/or external world. (In human language, equivalent to the meaning understood by conversation participants.)
Dialogue in User Interfaces
In user interfaces, dialogue is generally considered synonymous/equivalent with the syntactic level. However, the boundary between lexical and syntactic is not so clear, and dialogue descriptions often include lexical properties.
Computer Dialogue Characteristics
- Participants must mention their dialogue in a certain order.
- Some dialogues are predetermined.
- Some parts of dialogue are performed concurrently.
- Subsequent dialogue depends on participant responses.
- Dialogue may not accommodate all possible events.
- Dialogue description focuses on syntactic level, not directly on semantics.
Dialogue Design
Key considerations:
- Dialogue sequences represent task structure.
- Additional dialogue sequences for user support (help systems, tutorials).
- Dialogue order follows task structure.
Dialogue Design Principles
- Separate the system into modules.
- Example: library book ordering system divided into:
- Module 1: Borrower details
- Module 2: Book reservation
Designing a Dialogue
Why is dialogue description separate from the program?
- Facilitates analysis.
- Separates interface elements from logic (semantics).
- If dialogue notation is written before programming, designers can test dialogue prototypes.
- Dialogue notation becomes a medium for team discussion and guidance for programmers.
Diagrammatic Notation
The most common form for dialogue design. Advantages: Dialogue structure visible at a glance. Disadvantages: Difficult to explain extensive/complex dialogues.
Examples of Diagrammatic Notation
- State Transition Network (STN)
- Hierarchical State Transition Networks (HSTN)
- Harel's State Charts
- Flowcharts
- JSD Diagrams
State Transition Network (STN)
- Circles: System states.
- Arrows (transitions): Labels explain user actions and system responses.
STN Features:
- Sequence: Order of actions and responses.
- Choice: User chooses different actions.
- Iteration: Transitions back to the same state.
- Concurrent dialogues: Depicts simultaneous actions (checkboxes, text styles).
Hierarchical State Transition Network (HSTN)
Similar to STN, but with composite states (rectangles) that detail submenus.
Harel's State Charts
Designed for complex reactive systems with hierarchy and concurrency in one diagram.
Flowchart
- Boxes represent processes or decisions.
- More reflective of programmer's perspective.
JSD Diagrams
Common for simple menu-based information systems.
Textual Dialogue Notation
Grammars
Formal formats: BNF, regular expressions.
Production Rules
List of "if condition then action" rules. Good for concurrency, less ideal for sequences.
CSP & ISL
- CSP: Focuses on pure dialogue sequences.
- ISL: Describes semantics independent of implementation target.
Action Properties
Characteristics of user dialogue actions:
- Completeness Anticipates normal actions and special/unexpected conditions.
- Determinism System behavior is predictable; priority rules if multiple transitions exist.
- Consistency Same actions in different situations yield similar results. Inconsistency example: 'Tab' button functions differently in dialog boxes.
Summary
Dialogue design and notation provide essential frameworks for structuring, analyzing, and implementing human-computer conversations. These formal methods enable designers to create predictable, consistent, and effective interaction patterns.
Key Takeaways:
-
Multi-Level Communication: Computer language operates at lexical (visual/physical), syntactic (structural), and semantic (meaningful) levels, with dialogue primarily addressing syntactic concerns.
-
Formal Description Benefits: Separating dialogue description from implementation enables analysis, prototyping, team communication, and systematic identification of inconsistencies or missing elements.
-
Diagrammatic vs. Textual: Two complementary notation approaches serve different purposes:
- Diagrammatic (STN, HSTN, State Charts) provides visual clarity and immediate comprehension
- Textual (grammars, production rules, CSP/ISL) enables formal analysis and precise specification
-
State-Based Modeling: Most dialogue notations use state transition concepts to represent system conditions and user action possibilities, supporting sequence, choice, iteration, and concurrency.
-
Hierarchical Organization: Complex systems benefit from hierarchical approaches (HSTN, Harel's State Charts) that manage complexity through decomposition and nested states.
-
Design Principles: Effective dialogue design requires:
- Modular separation of system components
- Task-oriented sequence organization
- Support for both normal operations and user assistance
- Consideration of concurrent dialogue possibilities
-
Action Properties: Robust dialogue systems must ensure:
- Completeness: handling all possible user actions and edge cases
- Determinism: predictable system responses with clear priority rules
- Consistency: similar actions producing similar results across contexts
-
Implementation Independence: Good dialogue notation abstracts interaction patterns from specific implementation details, enabling reuse and analysis across different platforms.
-
User Support Integration: Dialogue design must accommodate not only primary task flows but also help systems, tutorials, and error recovery mechanisms.
-
Concurrent Interaction: Modern interfaces require notation systems that can represent simultaneous user actions and parallel dialogue threads.
Understanding dialogue design and notation enables systematic creation of user interfaces that feel natural, predictable, and efficient. By applying formal methods to conversation design, teams can identify problems early, communicate design decisions clearly, and create implementations that truly support user goals and mental models.