Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision...

17
Graphical User Graphical User Interfaces Interfaces CS 5389 CS 5389 Lecture 7 Lecture 7

Transcript of Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision...

Page 1: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Graphical User InterfacesGraphical User Interfaces

CS 5389CS 5389

Lecture 7Lecture 7

Page 2: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

The Basic Goals The Basic Goals of Language Design of Language Design

• Precision Precision

• Compactness Compactness

• Ease in writing and reading Ease in writing and reading

• Speed in learning Speed in learning

• Simplicity to reduce errors Simplicity to reduce errors

• Ease of retention over time Ease of retention over time

Page 3: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Higher-Level Goals Higher-Level Goals of Language Designof Language Design

• Close correspondence between reality and Close correspondence between reality and the notation the notation

• Convenience in carrying out manipulations Convenience in carrying out manipulations relevant to user's tasks relevant to user's tasks

• Compatibility with existing notations Compatibility with existing notations • Flexibility to accommodate novice and Flexibility to accommodate novice and

expert users expert users • Expressiveness to encourage creativity Expressiveness to encourage creativity • Visual appeal Visual appeal

Page 4: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Functionality to Support Functionality to Support User’s TasksUser’s TasksUsers do wide range of work:Users do wide range of work:

• text editing text editing

• electronic mail electronic mail

• financial management financial management

• airline or hotel reservations airline or hotel reservations

• inventory inventory

• manufacturing process control manufacturing process control

• gaming gaming

Page 5: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Functionality to Support Functionality to Support User’s Tasks (cont.)User’s Tasks (cont.)Designers shouldDesigners should• determine functionality of the system by studying users' task determine functionality of the system by studying users' task

domain domain • create a list of task actions and objects create a list of task actions and objects • abstract this list into a set of interface actions and objects abstract this list into a set of interface actions and objects • represent low-level interface syntax represent low-level interface syntax • create a table of user communities and tasks, with expected use create a table of user communities and tasks, with expected use

frequency frequency • determine hierarchy of importance of user communities (i.e. prime determine hierarchy of importance of user communities (i.e. prime

users) users) • evaluate destructive actions (e.g. deleting objects) to ensure evaluate destructive actions (e.g. deleting objects) to ensure

reversibility reversibility • identify error conditions and prepare error messages identify error conditions and prepare error messages • allow shortcuts for expert users, such as macros and customizing allow shortcuts for expert users, such as macros and customizing

system parameterssystem parameters

Page 6: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.
Page 7: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Command-Organization Command-Organization StrategiesStrategies

A unifying interface concept or metaphor aids A unifying interface concept or metaphor aids – learning learning – problem solving problem solving – retention retention

Designers often err by choosing a metaphor closer to Designers often err by choosing a metaphor closer to machine domain than to the user's task domain. machine domain than to the user's task domain.

Simple command setSimple command set– Each command is chosen to carry out a single task. The Each command is chosen to carry out a single task. The

number of commands match the number of tasks. number of commands match the number of tasks. – For small number of tasks, this can produce a system easy to For small number of tasks, this can produce a system easy to

learn and use. learn and use. – E.g. the vi editor of Unix (Figure 8.2). E.g. the vi editor of Unix (Figure 8.2).

Page 8: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Command plus Command plus arguments/optionsarguments/options

Command plus argumentsCommand plus arguments• Follow each command by one or more arguments that indicate Follow each command by one or more arguments that indicate

objects to be manipulated, e.g. objects to be manipulated, e.g. – COPY FILEA, FILEB COPY FILEA, FILEB – DELETE FILEA DELETE FILEA – PRINT FILEA, FILEB, FILEC PRINT FILEA, FILEB, FILEC

• Keyword labels for arguments are helpful for some users, e.g. COPY Keyword labels for arguments are helpful for some users, e.g. COPY FROM=FILEA TO=FILEB. FROM=FILEA TO=FILEB.

• Commands may also have options to indicate special cases, e.g.: Commands may also have options to indicate special cases, e.g.: – PRINT/3,HQ FILEA PRINT/3,HQ FILEA – PRINT (3, HQ) FILEA PRINT (3, HQ) FILEA – PRINT FILEA -3, HQ PRINT FILEA -3, HQ

• to produce 3 copies of FILEA on the printer in the headquarters to produce 3 copies of FILEA on the printer in the headquarters building. building.

• Error rates and the need for extensive training increase with the Error rates and the need for extensive training increase with the number of possible options. number of possible options.

Page 9: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

The Benefits of StructureThe Benefits of StructureHuman learning, problem solving, and memory are greatly Human learning, problem solving, and memory are greatly facilitated by meaningful structure. facilitated by meaningful structure.

• Beneficial for Beneficial for – task concepts task concepts – computer concepts computer concepts – syntactic details of command languages syntactic details of command languages

Consistent Argument OrderingConsistent Argument Ordering

Inconsistent order of argumentsInconsistent order of arguments Consistent order of Consistent order of argumentsargumentsSEARCHSEARCH file no, message idfile no, message id SEARCHSEARCH message id, file nomessage id, file noTRIMTRIM message id, segment sizemessage id, segment size TRIMTRIM message id, segment message id, segment sizesizeREPLACEREPLACE message id, code nomessage id, code no REPLACEREPLACE message id, code nomessage id, code noINVERTINVERT group size, message idgroup size, message id INVERTINVERT message id, group sizemessage id, group size

Page 10: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Hierarchical command Hierarchical command structurestructure

– The full set of The full set of commands is commands is organized into a organized into a tree structuretree structure

– 5x3x4 = 60 5x3x4 = 60 tasks with 5 tasks with 5 command command names and 1 names and 1 rule of rule of formationformation

ActionAction ObjectObject DestinatiDestinationon

CREATECREATE FileFile FileFile

DISPLAYDISPLAY ProcessProcess Local Local printerprinter

REMOVEREMOVE DirectoryDirectory ScreenScreen

COPYCOPY Remote Remote printerprinter

MOVEMOVE

Page 11: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Symbols versus KeywordsSymbols versus Keywords

Command structure affects performance

Symbol EditorSymbol Editor Keyword EditorKeyword Editor

FIND:/TOOTH/;-1FIND:/TOOTH/;-1 BACKWARD TO "TOOTH"BACKWARD TO "TOOTH"

LIST;10LIST;10 LIST 10 LINESLIST 10 LINES

RS:/KO/,/OK/;*RS:/KO/,/OK/;* CHANGE ALL "KO" TO "OK"CHANGE ALL "KO" TO "OK"

Page 12: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Hierarchical Structure Hierarchical Structure and Congruenceand CongruenceSources of structure that have proved advantageous Sources of structure that have proved advantageous include:include:

• Positional consistencyPositional consistency• Grammatical consistencyGrammatical consistency• Congruent pairingCongruent pairing• Hierarchical formHierarchical form

Page 13: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Naming and AbbreviationsNaming and Abbreviations

There is often a lack of consistency or obvious There is often a lack of consistency or obvious strategy for construction of command abbreviations. strategy for construction of command abbreviations.

Specificity Versus GeneralitySpecificity Versus Generality

Infrequent, discriminating wordsInfrequent, discriminating words insertinsert deletedelete

Frequent, discriminating wordsFrequent, discriminating words addadd removeremove

Infrequent, nondiscriminating wordsInfrequent, nondiscriminating words ambleamble perceiveperceive

Frequent, nondiscriminating wordsFrequent, nondiscriminating words walkwalk viewview

General words (frequent, General words (frequent, nondiscriminating)nondiscriminating) alteralter correctcorrect

Nondiscriminating nonwords (nonsense)Nondiscriminating nonwords (nonsense) GACGAC MIKMIK

Discriminating nonwords (icons)Discriminating nonwords (icons) abc-adbcabc-adbc abc-ababc-ab

Page 14: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Six Potential Six Potential Abbreviation StrategiesAbbreviation Strategies

1.1. Simple truncation: The first, second, third, etc. Simple truncation: The first, second, third, etc. letters of each command. letters of each command.

2.2. Vowel drop with simple truncation: Eliminate Vowel drop with simple truncation: Eliminate vowels and use some of what remains. vowels and use some of what remains.

3.3. First and last letter: Since the first and last letters First and last letter: Since the first and last letters are highly visible, use them. are highly visible, use them.

4.4. First letter of each word in a phrase: Use with a First letter of each word in a phrase: Use with a hierarchical design plan. hierarchical design plan.

5.5. Standard abbreviations from other contexts: Use Standard abbreviations from other contexts: Use familiar abbreviations. familiar abbreviations.

6.6. Phonics: Focus attention on the sound. Phonics: Focus attention on the sound.

Page 15: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Guidelines for using Guidelines for using abbreviationsabbreviationsEhrenreich and Porcu (1982) offer this set of guidelines:Ehrenreich and Porcu (1982) offer this set of guidelines:

• A A simplesimple primary rule should be used to generate abbreviations for most primary rule should be used to generate abbreviations for most items; a items; a simplesimple secondary rule should be used for those items where there is secondary rule should be used for those items where there is a conflict.a conflict.

• Abbreviations generated by the secondary rule should have a marker (for Abbreviations generated by the secondary rule should have a marker (for example, an asterisk) incorporated in them.example, an asterisk) incorporated in them.

• The number of words abbreviated by the secondary rule should be kept to a The number of words abbreviated by the secondary rule should be kept to a minimum.minimum.

• Users should be familiar with the rules used to generate abbreviations.Users should be familiar with the rules used to generate abbreviations.• Truncation should be used because it is an easy rule for users to comprehend Truncation should be used because it is an easy rule for users to comprehend

and remember. However, when it produces a large number of identical and remember. However, when it produces a large number of identical abbreviations for different words, adjustments must be found.abbreviations for different words, adjustments must be found.

• Fixed-length abbreviations should be used in preference to variable-length Fixed-length abbreviations should be used in preference to variable-length ones.ones.

• Abbreviations should not be designed to incorporate endings (ING, ED, S).Abbreviations should not be designed to incorporate endings (ING, ED, S).• Unless there is a critical space problem, abbreviations should not be used in Unless there is a critical space problem, abbreviations should not be used in

messages generated by the computer and read by the user.messages generated by the computer and read by the user.

Page 16: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Command-language Command-language guidelinesguidelines

Page 17: Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.

Natural Language in Natural Language in ComputingComputing

• Natural-language interactionNatural-language interaction

• Natural-language queries and Natural-language queries and question answeringquestion answering

• Text-database searchingText-database searching

• Natural-language text generationNatural-language text generation

• Adventure games and instructional Adventure games and instructional systemssystems