80 likes | 91 Views
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. Higher-Level Goals of Language Design.
E N D
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
Higher-Level Goals of Language Design • Closecorrespondence 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 • Expressiveness to encourage creativity • Visual appeal
Functionality to Support User’s Tasks Designers should • determine functionality of the system • create a list of task actions and objects • develop a set of interface actions and objects • 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 customizing system parameters
Six Potential Abbreviation Strategies • 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: Use with a hierarchical design plan. • Standard abbreviations from other contexts: Use familiar abbreviations. • Phonics: Focus attention on the sound.
Command-language guidelines • Create explicit model of objects and actions • Choose meaningful, specific, distinctive names • Try to achieve hierarchical structure • Provide consistent structure (hierarchy, argument order, action-object) • Support consistent abbreviation rules (prefer truncation to one letter) • Offer frequent users the ability to create macros • Consider command menus on high-speed displays • Limit the number of commands and ways of accomplishing a task
Natural Language in Computing • Natural-language interaction http://www.jabberwacky.com/yourbot • Natural-language queries and question answering • INTELLECT system: 400 installations in the ’80s • 1999 Sql Server: English Query • Text-database searching • Uses filters for commands • Natural-language text generation • Simple tasks: weather reports • Adventure games and instructional systems • Provides feedback and guidance
Summary • Command languages attractive • Frequent use of system is anticipated • Users are knowledgeable about the task and the interface • Screen space is at a premium • Response time and display rates are slow • Numerous functions can be combined • Designers should design for functionality • Natural languages have limited effectiveness and advantages – too much ambiguity