Command and Natural Languages

Slides:



Advertisements
Similar presentations
Copyright © 2008 Pearson Prentice Hall. All rights reserved Committed to Shaping the Next Generation of IT Experts. Exploring Microsoft Office Access.
Advertisements

Mainframe-caliber tools for UNIX Treehouse Software, Inc.
Developing an Excel Application
Tutorial 8: Developing an Excel Application
Menu Interfaces Benefits of menu’s: Learnability, memorability, error avoidance Minimize memory load Drawbacks: possible inefficiency hierarchical complexity.
User Interface Design Notes p7 T120B pavasario sem.
Interaction Styles Course 6, CMC, 07/10/03 Direct Manipulation
Dialog Styles. The Five Primary Styles of Interaction 4 Menu selection 4 Form fill-in 4 Command language 4 Natural language 4 Direct manipulation.
Copyright © 2005, Pearson Education, Inc. Chapter 8 Command and Natural Languages.
Dialog Styles. The Six Primary Styles of Interaction n Q & A n Menu selection n Form fill-in n Command language n Natural language n Direct manipulation.
7M701 1 User Interface Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 15
1 / 31 CS 425/625 Software Engineering User Interface Design Based on Chapter 15 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed.,
Copyright © 2005, Pearson Education, Inc. An Instructor’s Outline of Designing the User Interface 4th Edition by Ben Shneiderman & Catherine Plaisant Slides.
User Interface Design: Methods of Interaction. Accepted design principles Interface design needs to consider the following issues: 1. Visual clarity 2.
Linux+ Guide to Linux Certification, Second Edition
Today’s class Group Presentation More about principles, guidelines, style guides and standards In-class exercises More about usability Norman’s model of.
User interface design Designing effective interfaces for software systems Objectives To suggest some general design principles for user interface design.
XP 1 Microsoft Office Word 2003 Tutorial 1 – Creating a Document.
Guide To UNIX Using Linux Third Edition
Guide To UNIX Using Linux Third Edition
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Proposal 13 HUMAN CENTRIC COMPUTING (COMP106) ASSIGNMENT 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design.
Microsoft Office Word 2013 Expert Microsoft Office Word 2013 Expert Courseware # 3251 Lesson 4: Working with Forms.
1 Some basic Unix commands u Understand the concept of loggin into and out of a Unix shell u Interact with the system in a basic way through keyboard and.
1. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “Usability Engineering” –Describe the various steps involved.
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
COMP1070/2002/lec4/H.Melikian COMP1070 Lecture #5  Files and directories in UNIX  Various types of files  File attributes  Notion of pathname  Commands.
Chapter 11: Interaction Styles. Interaction Styles Introduction: Interaction styles are primarily different ways in which a user and computer system can.
XP New Perspectives on Introducing Microsoft Office XP Tutorial 1 1 Introducing Microsoft Office XP Tutorial 1.
Copyright © 2005, Pearson Education, Inc. Chapter 8 Command and Natural Languages.
1 Command and Natural Languages Lecture 9. CS774 – Spring The Basic Goals of Language Design Precision Compactness Ease in writing and reading Speed.
Graphical User Interfaces CS 5389 Lecture 7. The Basic Goals of Language Design Precision Precision Compactness Compactness Ease in writing and reading.
Chapter Four UNIX File Processing. 2 Lesson A Extracting Information from Files.
Guide To UNIX Using Linux Fourth Edition
User interface design. Recap OOD is an approach to design so that design components have their own private state and operations Objects should have constructor.
Unit 1_9 Human Computer Interface. Why have an Interface? The user needs to issue instructions Problem diagnosis The Computer needs to tell the user what.
CSC 480 Software Engineering Lecture 19 Nov 11, 2002.
Chapter Three The UNIX Editors. 2 Lesson A The vi Editor.
10/8/2015© Jeff Offutt, Menu Design Guidelines Jeff Offutt SWE 432 Design and Implementation of Software for.
Software Evaluation Catherine McKeveney Medical Informatics 1st March 2000.
Linux+ Guide to Linux Certification, Third Edition
Designing Interface Components. Components Navigation components - the user uses these components to give instructions. Input – Components that are used.
XP 1 Microsoft Word 2002 Tutorial 1 – Creating a Document.
Guide to Linux Installation and Administration, 2e1 Chapter 7 The Role of the System Administrator.
Week 3 Exploring Linux Filesystems. Objectives  Understand and navigate the Linux directory structure using relative and absolute pathnames  Describe.
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Designing the User Interface: Strategies for Effective Human-Computer.
Software Architecture
Fall 2002CS/PSY Dialog Design 1 Command languages and WIMP Command languages  Advantages, disadvantages  Design guidelines WIMP  Advantages, disadvantages.
Evaluating a UI Design Expert inspection methods Cognitive Walkthrough
Introduction to Unix (CA263) File Editing By Tariq Ibn Aziz.
Chapter Three The UNIX Editors.
Importance of user interface design – Useful, useable, used Three golden rules – Place the user in control – Reduce the user’s memory load – Make the.
User Interface Design Lecture #4 Part-A. 30 January, 2008Human Computer Interaction Spring 2008, Lecture #4A 2 Agenda Principles on User Interface Design.
Linux+ Guide to Linux Certification, Second Edition Chapter 4 Exploring Linux Filesystems.
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of 1-1 HCI Human Computer Interaction Week 7.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
Data Entry, Coding & Cleaning SPSS Training Thomas Joshua, MS July, 2008.
Human Computer Interaction Lecture 21 User Support
Chapter 6 : User interface design
1. Command and Natural Languages
System Design Ashima Wadhwa.
Guide To UNIX Using Linux Third Edition
Dialog Design 1 Command languages and WIMP
Kuliah #7: Command and Natural Languages
Heuristic Evaluation Jon Kolko Professor, Austin Center for Design.
Proper functionality Good human computer interface Easy to maintain
CIS 375 Bruce R. Maxim UM-Dearborn
CHAPTER 7: Command and Natural Languages
Presentation transcript:

Command and Natural Languages Chapter 8 Command and Natural Languages

The Basic Goals of Language Design Precision Compactness Ease in writing and reading Speed in learning Simplicity to reduce errors Ease of retention over time

Computers and Languages After printing press, computer has been a remarkable stimulus to language development, because widespread dissemination through networks is possible, computers are a tool to manipulate languages, and languages are a tool to manipulate computers Computers impact is mostly on the development of numerous formal written languages – from mathematical ones to those that help in operating real world activities. High-level programming languages (procedural and OO) Scripting languages Database-query languages Command languages

Command Language Examples Web addresses: http://www.ccse.kfupm.edu.sa/~jauhar Unix commands To delete blank lines from a file grep –v ^$ filea > fileb To print on a laser printer (in a particular installation) CP TAG DEV E VTSO LOCAL 2 OPTCD=J F=3871 X=GB12 The development of new command languages has slowed dramatically due to the emergence of direct-manipulation and menu-selection interfaces but still there are millions of users of command languages

Good Command Languages Command languages should be designed to suit the users’ operation They should have some structure hierarchical, concatenation Meaningful structure is highly beneficial Permitting abbreviations maybe useful Feedback should be generated for acceptable and unacceptable commands

Functionality to Support User’s Tasks Users do wide range of work: text editing, electronic mail, financial management, airline or hotel reservations, inventory, manufacturing process control, gaming, and so on. People will use a computer system if it gives them powers not otherwise available. If the power is attractive enough, people will use a system despite a poor user interface Therefore, the first step for the designer is to determine the functionality of the system by studying the users’ task domain.

► Functionality to Support User’s Tasks Providing excessive functionality is a common design error; it slows learning, increases the chances of error, requires longer manuals, and more help screens On the other hand, insufficient functionality may leave the user frustrated because desired functionality may not be supported Careful task analysis might result in a table of user communities and tasks, with each entry indicating expected frequency Make high-volume tasks easy to carry out evaluate destructive actions to ensure reversibility, or at least are protected from accidental invocation

Command-Organization Strategies Simple command set Each command is chosen to carry out a single task. The number of commands match the number of tasks. Example: In the vi editor of Unix fx find the character x going forward Fx find the character x going backward For small number of tasks, this can produce a system easy to learn and use. However, large number of commands may result confusion.

► Command-Organization Strategies Command plus arguments/options Follow each command by one or more arguments that indicate objects to be manipulated, e.g. COPY FILEA, FILEB DELETE FILEA 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 Error rates and the need for extensive training increase with the number of possible options Frequent users appreciate compact commands A0821DCALGA0300P Checking seat availability on a flight on August 21, from Washington’s National Airport (DCA) to New York’s LaGuardia Airport (LGA) at about 3:00P.M.

► Command-Organization Strategies Hierarchical command structure The full set of commands is organized into a tree structure First level: command action Second level: object argument Third level: destination argument It offers a meaningful structure to a large number of commands 5x3x4 = 60 tasks with 5 command names and 1 rule of formation Action Object Destination CREATE File DISPLAY Process Local printer REMOVE Directory Screen COPY Remote printer MOVE

The Benefits of Structure: Consistent Argument Ordering Human learning, problem solving, and memory are greatly facilitated by meaningful structure. Studies have shown that users perform significantly faster with consistent argument ordering Inconsistent order of arguments Consistent order of arguments SEARCH file no, message id TRIM message id, segment size REPLACE message id, code no INVERT group size, message id SEARCH message id, file no INVERT message id, group size

The Benefits of Structure: Symbols versus keywords Experiments show that performance improved in using keywords instead of symbols Symbol Editor Keyword Editor FIND:/TOOTH/;-1 BACKWARD TO "TOOTH" LIST;10 LIST 10 LINES RS:/KO/,/OK/;* CHANGE ALL "KO" TO "OK"

The Benefits of Structure: Hierarchical structure and congruence Carroll (1982)

► The Benefits of Structure: Hierarchical structure and congruence Congruence helped to remember the natural pairs of concepts and terms The hierarchical structure enabled subjects to master many commands with few keywords and one rule of formation. Retention should be facilitated by hierarchical structure and congruence Sources of structure that have proved advantageous include: Positional consistency Grammatical consistency Congruent pairing Hierarchical form

Naming and Abbreviations There is often a lack of consistency or obvious strategy for construction of command abbreviations. e.g., Unix commands: cp, ls, mkdir, cd, rm, pwd, … Specificity Versus Generality: Specific terms can be more descriptive, and if they are more distinctive, they maybe more memorable 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

Abbreviation Strategies Command names should not only be meaningful for human learning and retention, they must also be in harmony with the mechanism for expressing them to the computer commands should be easy to type fast and without errors SHIFT or CTRL keys maybe difficult to type novice users prefer full command names short commands are appreciated by power users sometimes, when both short & full command names are provided, users prefer to use the full ones

► Abbreviation Strategies Six potential strategies for abbreviations: Simple truncation: The first, second, third, etc. letters of each command. Vowel drop with simple truncation: Eliminate vowels and use some of what remains. First and last letter: Since the first and last letters are highly visible, use them. First letter of each word in a phrase. Acronym technique Standard abbreviations from other contexts: Use familiar abbreviations. Phonics: Focus attention on the sound.

Guidelines for using abbreviations Ehrenreich and Porcu (1982) offer this set of guidelines: 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. Abbreviations generated by the secondary rule should have a marker (for example, an asterisk) incorporated in them. The number of words abbreviated by the secondary rule should be kept to a minimum. 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 and remember. However, when it produces a large number of identical abbreviations for different words, adjustments must be found. Fixed-length abbreviations should be used in preference to variable-length ones. Abbreviations should not be designed to incorporate endings (ING, ED, S). Unless there is a critical space problem, abbreviations should not be used in messages generated by the computer and read by the user.

Commands menus and keyboard shortcuts To relieve the burden of memorization of commands, some designers offer users brief prompts to available commands, in a format called command menu Example: H)elp O)ptions P)rint G)o M)ain Screen Q)uit Good for expert and intermittent users. Not much useful for novices. Keyboard shortcuts in most GUIs become a kind of menu for experienced users

The following section has been skipped Skipped section The following section has been skipped 8.6 Natural Language in Computing