Command and Natural Languages
Introduction
The history of the written language is rich and varied. Early tally marks and pictographs on cave walls existed for millennia before precise notations for numbers or other concepts appeared. The Egyptian hieroglyphs of 5,000 years ago were a tremendous advance because standard notations facilitated communication across space and time. Eventually, languages with a small alphabet and rules of the word and sentence formation dominated because of the relative ease of learning, writing, and reading them. In addition to these natural languages, special languages for mathematics, music, and chemistry emerged because they facilitated communication and problem solving. In the twentieth century, novel notations were created for such diverse domains as dance, knitting, higher forms of mathematics, logic, and DNA molecules.
- Precision
- Compactness
- Ease in writing and reading
- Completeness
- Speed in learning
- Simplicity to reduce errors
- Ease of retention over time
- 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
- Expressiveness to encourage creativity
- Visual appeal
- The capacity for human beings to record the notation
- The match between the recording and the display media (for example, clay tablets, paper, printing presses)
- The convenience in speaking (vocalizing)
People use computers and command-language systems to accomplish a wide range of tasks, such as text editing, operating-system control, bibliographic retrieval, database manipulation, electronic mail, financial management, airline or hotel reservations, inventory, manufacturing process control, and adventure games
- 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.
- A common design error is to provide excessive numbers of objects and actions, which can overwhelm the user. Excessive objects and actions take more code to maintain, may cause more bugs and slower execution, and require more help screens, error messages, and user manuals. For the user, excess functionality slows learning, increases the chance of error, and adds the confusion of longer manuals, more help screens, and less-specific error messages. On the other hand, insufficient objects or actions may leave the user frustrated, because desired functions may not be supported. For instance, users might have to copy a list with a pen and paper because there is no simple print command or to reorder a list by hand because there is no sort of command.
- Careful task analysis might result in a table of user communities and tasks, with each entry indicating the expected frequency of use. The high-volume tasks should be made easy to carry out. The designer must decide which communities of users are the prime audiences for the system. Users may differ in their position in an organization, their knowledge of computers, or their frequency of the system use.
- deleting objects or changing formats-should be evaluated carefully to ensure that they are reversible, or at least are protected from accidental invocation
- Designers should also identify error conditions and prepare error messages
- Another key feature is the capacity to record histories and review, save, send, search, edit, replay, and annotate them. Finally, help and tutorial features should be provided.
- allow shortcuts for expert users, such as macros and customizing system parameters.