Chapter 7
Chapter Outline
1. Introduction
2. Command Organization Functionality,
Strategies and Structure
3. Naming and Abbreviations
7.1 Introduction
The Basic Goals of Language Design
• Precision(accuracy/exactness)
• Compactness
• Ease in writing and reading
• Speed in learning
Higher-Level Goals
of Language Design
• Close correspondence between reality and the
notation
• Convenience in
carrying out manipulations
relevant to user's tasks
• Compatibility with existing notations
• Flexibility to accommodate novice and expert
users
• In Computer programming languages(1960s,1970’s) such as
FORTRAN,COBOL,ALGOL and Pascal, programmer should
write thousands of lines of code, then compiled or interpreted to get the desired result.
• Scripting languages(1980s)- includes novel operator such as mousedown, Blink
• Database Query Languages(1970s)
• Command languages(produces immediate result) • Eg : WWW, del command
• Menu Selection systems
7.2 Command-Organization Strategies Functionality to Support
User’s Tasks
Users do wide range of work:
• text editing
• electronic mail
• financial management
• airline or hotel reservations
• inventory
7.2 Command-Organization Strategies
Functionality to Support User’s Tasks
• A transition diagram showing how each command takes
the user to another state is a highly beneficial aid to
design, as well as to eventual training of users.
Functionality to Support User’s Tasks (cont.)
Designers should
• determine functionality of the system by studying users' task domain
• create a list of task actions and objects
• abstract this list into a set of interface actions and objects • represent low-level interface syntax
• create a table of user communities and tasks, with expected use frequency
• determine hierarchy of importance of user communities (i.e. prime users)
• evaluate destructive actions (e.g. deleting objects) to ensure reversibility
• identify error conditions and prepare error messages • allow shortcuts for expert users, such as macros and
7.2 Command-Organization Strategies 7.2.1. Strategies
A unifying interface concept or metaphor aids
– learning
– problem solving – retention
Designers often err by choosing a metaphor closer to computer domain than to the user's task domain.
Three options for command organization:
1. Simple command set
– Each command is chosen to carry out a single task. The number of commands match the number of tasks.
– For small number of tasks, this can produce a system easy to learn and use.
Command plus arguments/options
2. Command plus arguments
• Follow each command by one or more arguments that indicate objects to be manipulated, e.g.
– COPY FILEA, FILEB – DELETE FILEA
– PRINT FILEA, FILEB, FILEC
• Keyword labels for arguments are helpful for some users, • e.g. COPY FROM=FILEA TO=FILEB.
• Commands may also have options to indicate special cases, e.g.:
– PRINT/3,HQ FILEA – PRINT (3, HQ) FILEA – PRINT FILEA -3, HQ
• to produce 3 copies of FILEA on the printer in the headquarters building. • Error rates and the need for extensive training increase with the number of
Hierarchical command structure
– The full set of
commands is
organized into a tree
structure like a menu
tree.
– It offers a meaningful
structure to a large
number of
commands.
– 5x3x4 = 60 tasks with
5 command names
and 1 rule of
Action Object Destination
CREATE File File
DISPLAY Process Local printer
REMOVE Directory Screen
COPY Networked printer
The Benefits of Structure
Human learning, problem solving, and memory are greatly facilitated by meaningful structure.
• Meaningful structure is beneficial for
– task concepts
– computer concepts
– syntactic details of command languages
Consistent Argument Ordering
Inconsistent order of arguments Consistent order of arguments
Symbols versus Keywords
Command structure affects performance
Symbol Editor
Keyword Editor
FIND:/TOOTH/;-1 BACKWARD TO "TOOTH"
LIST;10 LIST 10 LINES
• The command names are not the visible part of a system and are likely to cause complaints from disgruntled(dissatisfied)users.
• Abbreviations, shortcut and function keys, special characters makes the knowledgeable intermittent user to expert users.
• -7.3.1 Specificity versus generality • -7.3.2 Abbreviation Strategies
• -7.3.3 Guidelines for abbreviations
• -7.3.4 Command menus and keyboard shortcuts
• 7.3.1 Specificity versus generality
Names are important for learning, problem solving, and retention over time.
When it contains only a few names, a command set is relatively easy to master, but when it contains hundreds of names, choice of
meaningful, organized set of names becomes more important.
Specific terms can be more descriptive than general ones, and if they are more distinctive, they may be more memorable.
General terms may be more familiar and easier to accept.
Naming and Abbreviations
All seven versions of two of the commands – the
commands for inserting and deleting text are:
Infrequent, discriminating words insert delete
Frequent, discriminating words add remove
Infrequent, nondiscriminating words amble perceive
Frequent, nondiscriminating words walk view
General words (frequent, nondiscriminating) alter correct
Nondiscriminating nonwords (nonsense) GAC MIK
Discriminating nonwords (icons) abc-adbc abc-ab
7.3.2 Potential
Abbreviation Strategies
The traditional and most widely used command-entry mechanism is the keyboard, so commands should be brief and easy codes.
Commands requiring shift or control keys, special characters, or difficult to type sequences are likely to cause higher error rates.
Six potential strategies are:
1. Simple truncation: The first, second, third, etc. letters of each command. (eg: Ctrl+C)
2. Vowel drop with simple truncation: Eliminate vowels and use some of what remains. (eg: Alt+n for Insert option, not Alt+i)
3. First and last letter: Since the first and last letters are highly visible, use them.
4. First letter of each word in a phrase: Use with a hierarchical design plan.
5. Standard abbreviations from other contexts: Use familiar abbreviations.
Guidelines for using abbreviations
Ehrenreich and Porcu (1982) offer this set of guidelines:
• 1. A simple primary rule should be used to generate abbreviations for most items; a
simple secondary rule should be used for those items where there is a conflict. • 2. Abbreviations generated by the secondary rule should have a marker (for example,
an asterisk) incorporated in them.
• 3. The number of words abbreviated by the secondary rule should be kept to a minimum.
• 4. Users should be familiar with the rules used to generate abbreviations.
• 5. 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 abbreviations for different words, adjustments must be found.
• 6. Fixed-length abbreviations should be used in preference to variable-length ones.
• To relieve the burden of memorization of commands, some designers offer users brief prompts of available commands, in a format called a command menu.
• Eg: Text only web browser called Lynx displays this prompt: H)elp O)ptions P)rint Q)uit
Experienced users come to know the commands and do not need to read the prompt or the help screens.
Keyboard shortcuts in most graphical user interfaces become a kind of command menu for experienced users.
Mobile devices makes the users to use shortcut keys and abbreviations to send textual data quickly.
scripting languages are the key communication tool in web programming
7.4 Natural Language in Computing
• The process of computer analysis of input provided in a human
language (natural language), and conversion of this input into a useful form of representation.
• 7.4.1 Natural-language interaction
• 7.4.2 Natural-language queries and question answering • 7.4.3 Text-database searching
• 7.4.4 Natural-language text generation
7.4.1 Natural-language interaction:
Natural language interaction is defined as the operation of computers by people using a familiar natural language to give instructions and receive responses.
With NLI, users do not have to learn command syntax or select from menus.
NLI considers habitability of the user interface – how easy it is for users to determine what objects and actions are appropriate.
• 7.4.2 Natural-language queries and question answering
• NLQ can be used in relational databases.
• The relational schema contains attribute names and the
database contains attribute values , both of which are helpful in disambiguating queries.
• Eg:
• INTELLECT system(used in mainframe computers)
• MULDER is a first, fully automated question-answering system available on the web to answer questions.
• Q&A provides rapid, effective query interpretation and execution on IBM PCs.
7.4.3 Text-database searching:
It is a growing application for natural-language enthusiasts who have developed filters and parsers for queries expressed in natural language.
Another approach : extraction, in which a natural language parser
analyzes the stored text and creates a more structured format, such as a relational database.
7.4 Natural Language in Computing
• 7.4.4 Natural Language Text Generation:
• NLTG includes simple tasks such as
structured weather
reports as well as generation of complex, full length
stories
with rich character development.
• Eg: SUMTIME-MOUSAM weather forecast generator
tool.
7.4 Natural Language in Computing
7.4.5 Adventure games and instructional systems
• Natural language interaction techniques have been used in a variety of computer-based adventure games.
• Users may indicate directions of movement or type commands such as TAKE ALL OF THE KEYS,
• OPEN THE GATE
DROP THE CAGE AND PICK THE SWORD
• Natural language for instructional tutorials has proven to be successful with the students of schools and colleges.
• Areas such as algebra, physics, electronics, programming and computer literacy are focused.