Top Banner
1 Dialog Design: Introduction and Command Languages This material has been developed by Georgia Tech HCI faculty, and continues to evolve. Contributors include Gregory Abowd, Jim Foley, Elizabeth Mynatt, Jeff Pierce, Colin Potts, Chris Shaw, John Stasko, and Bruce Walker. Last updated by Valerie Summet, Emory University. Permission is granted to use with acknowledgement for non-profit purposes. Last revision: Feb. 2011.
25

Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

Mar 22, 2018

Download

Documents

lamanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

1

Dialog Design: Introduction and Command Languages

This material has been developed by Georgia Tech HCI faculty, and continues to evolve. Contributors include Gregory Abowd, Jim Foley, Elizabeth Mynatt, Jeff Pierce, Colin Potts, Chris Shaw, John Stasko, and Bruce Walker. Last updated by Valerie Summet, Emory University. Permission is granted to use with acknowledgement for non-profit purposes. Last revision: Feb. 2011.

Page 2: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

2/25

Agenda

• Dialogue design styles and issues• Command languages

Advantages, disadvantages Design guidelines

Page 3: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

3/25

Dialog Styles

1. Direct Manipulation2. Command languages 3. Speech/Natural language4. WIMP - Window, Icon, Menu, Pointer5. Gesture, pen

Page 4: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

4/25

Dialog Design - Humor

• How does a user interact with the interface?

Page 5: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

5/25

General Issues in Choosing Dialogue Style

• Who is in control - user or computer• Initial training required• Learning time to become proficient• Speed of use• Generality/flexibility/power• Special skills - typing• Gulf of evaluation / gulf of execution• Screen space required• Computational resources required

Page 6: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

6/25

Command Languages

• Earliest interaction style If you ignore hardware

interactions like switches,punched paper tape and cards,and plug boards

• Examples MS-DOS

shell UNIX shell dBase

Page 7: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

7/25

Shell

Page 8: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

8/25

CL Characteristics

• Little or nothing is visible so… Work primarily by recall, not recognition Heavy memory load

• Poor choice for novices but can be very good for experts

Page 9: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

9/25

CL Advantages for Expert Users• Speed, conciseness

ls (hard to beat for speed)• Can express actions beyond a limited set

Flags, piping one command to another• Repetition, extensibility

Scripting, macros• Power

Abstraction, wild cards• Little run-time cost

Used to be a huge consideration Irrelevant except in special situation

Page 10: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

10/25

Some CL Disadvantages

• Error-prone• Harder to learn• Requires typing • With added power, comes added

responsibility and danger UNIX

– rm -r f*– rm -rf *– Deletes every file that you

have, provides no feedback,and you can’t get them back

Page 11: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

11/25

Unix Shell CL Disadvantages

• Learning takes a long time• Hard to remember command

names• Some command names don’t

make sense, so have to memorize

• No in-progress feedback - how much longer?

• System state is invisible, and have to know which commands to use to get which information

• Hard to make sense of outputs, such as with ls - no headings, no code interpretations

• No “look”• No warning if bad things are

going to happen

• No universal Undo; to reverse a command, have to know the inverse command (create directory, delete directory)

• Have to use man command to find help for the desired command

• Because commands are short, typos can lead to incorrect command

• Inconsistent flag meanings• Inconsistent parameter orders• Have to type a lot - touch

typing needed

Page 12: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

12/25

CL Reflection

• Command languages are often maligned (for good reason)

• But increased functionality can win out over bad UI (e.g., UNIX) Try to get both Avoid excess functionality (comes at

cost)

Page 13: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

13/25

CL Design Goals/Guidelines

• Consistency• Good naming and abbreviations

• Doing your homework in design can help alleviate some of the negatives

Page 14: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

14/25

CL: Consistency

• Provide a consistent syntax In general: Have options and arguments

expressed the same way everywhere UNIX fails!

– Commands were developed by lots of different people at different organizations

– No guidelines / style guide

• If commands are long, have simple and consistent abbreviations

Page 15: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

15/25

CL: Consistency (Syntax)

• Simple command list e.g, vi, minimize keystrokes

• Commands plus arguments realistic, can provide keyword

parameters cp from=foo to=bar

• Commands plus options plus arguments what you usually see today cp -r foo bar

Page 16: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

16/25

CL: Order

• English: S-V-O (Subject-Verb-Object) “you” is assumed as the subject - imperative!

• CL: S assumed (you) Is V-O or O-V better? % delete file or % file delete

• V-dO-iO vs. V-iO-dO (dO = direct Object, iO = indirect Object) % print file calvin % lpr -Pcalvin file Which is better?

Page 17: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

17/25

CL: Ordering

• Keep ordering consistent VO (Verb Object) seems to be the most

natural Typically need to pick where options go

• Example of inconsistent ordering ln -s target linkname cp file1 file2

Page 18: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

18/25

CL: Terminology

• Keep terminology consistent• Same concept expressed with same

options• Useful to provide symmetric

(congruent) pairings forward/backward next/prev control/meta

Page 19: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

19/25

CL: Example of Congruent Pairs

• vi text editor w - forward word b - backward word

• Wouldn’t ‘f’ be better for forward? ‘f’ already used

• How about ‘fw’ and ‘bw’? Extra keystrokes

Page 20: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

20/25

CL: Names and Abbreviations

• Specificity versus Generality General words

– More familiar, easier to accept

Specific (typically better)– More descriptive, meaningful, distinctive

(Nonsense does surprisingly well for small set of commands)

Page 21: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

21/25

CL: Abbreviations

• Abbreviations allow for faster actions Expert performance begins to be

dominated by motor times such as # of keystrokes

Not good idea for novices (Allow but don’t require)

Page 22: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

22/25

CL: Abbreviation Strategies

• Simple truncation (works best, but conflicts)

• Vowel drop plus truncation (avoid conflicts)

• First and last letters• First letters of words in a phrase• Standard abbrev from other contexts

qty, rm, bldg

• Phonics xqt

Page 23: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

23/25

CL: Abbreviation Guidelines• Use single primary rule (with single

fallback for conflicts)• Use fallback as little as possible• Mark use of fallback in documentation• Truncation is good but generates conflicts• Fixed length is better than variable length• Don’t use abbrevs. in system output• Can use auto-completion as alternative to

abbreviations

Page 24: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

24/25

CL: Design Affects Performance

Terse CL Wordy CLFind:/tooth/; -1 backward to “tooth”List:/ko;* list all lines with “ko”Rs:/ko/,/ok/ change “ko” to “ok”

User type % task completed % wrong commands(8 of each) Terse Wordy Terse Wordy

Inexperienced28 42 19 11Familiar 43 63 18 6.4Experienced 74 84 9.9 5.6

All command words can be abbreviated with a single letter.

Ledgard et al, “The Natural Language of Interactive Systems,” CACM, October 1980 556-563; see also subsequent letters to the editor.

Page 25: Dialog Design: Introduction and Command Languagesvalerie/courses/spr11/485/resources/CmdLan… · 1 Dialog Design: Introduction and Command Languages This material has been developed

25/25

Key Ideas

• Multiple Dialogue Styles Each has pros and cons

• Command Language Pros and Cons• Command Language Design

Guidelines