13.07.2015 Views

An Operating Systems Vade Mecum

An Operating Systems Vade Mecum

An Operating Systems Vade Mecum

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

248 The User Interface Chapter 7across the screen. It can even be discarded by placing its icon in the ‘‘trash can’’ icon!Windows are regions of the display established for different purposes. Each processcould have its own window. If several processes are running at once, output can bedisplayed for all of them. When a process fills its window, it might be blocked until theuser has had a chance to see the output. Alternatively, data that disappear from the windowcan be saved in a file. Windows can be manipulated to change their size and positionand to determine which one is on top if they overlap. Entire windows can be shrunkto icons that are stored on the screen to be re-expanded when needed. Data in one windowcan be selected for copying into another window. In this way the output of one programcan be used as input to another.2 INTERACTIVE PROGRAMSAll interactive programs should provide a good interface to the user. Some of the characteristicsthat improve the user interface are listed here. The interface should be easy to learn. Menus provide an especially good interfacefor this purpose. Single-letter commands can be very difficult to remember. Facilities intended to aid the novice should not get in the way of the experienceduser. Many programs allow the user to establish the level of verbosity, forexample. <strong>An</strong> experienced user may prefer terse error messages and a terser inputsyntax. It should be possible to undo actions. This feature decreases the anxiety felt bythe novice and permits a greater range of exploration. Of course, not every applicationcan allow undoing. It may not be possible to unsend mail, for example. It should be possible to cancel actions in progress. The program should provide help on request. Both general help and help aboutindividual commands should be provided. Many help schemes allow the user tokeep asking the same question. The first answer is very brief. Each subsequentanswer is an expansion on the previous one. If individual commands invoke newprograms, requests for help can be forwarded to those programs. Words used for commands should be verbs, and words for arguments shouldbe nouns. These commands might be abbreviated (for example, reduced to a singlekeystroke), but if they are echoed, it is nice to echo the entire word. Theechoed version may even include prepositions to make the command seem evencloser to English. For example, m foo bar may be echoed as Move foo tobar. Each command should have a response. It is especially helpful if the response isdifferent for different commands. If the command cannot complete quickly, there should be some indication thatwork is in progress. Otherwise, it is easy to think that the request is being servicedwhen the program really is waiting for some more input. Humorous messages should be avoided. The computer is not human, andattempts to make it appear human can be irritating. In addition, such messages can

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!