Jump to content

IBM Common User Access

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Masiano (talk | contribs) at 19:25, 4 January 2008 (→‎Description). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Common User Access (CUA) is a standard for user interfaces to operating systems and computer programs. It was developed by IBM and first published in 1987 as part of their Systems Application Architecture. Used originally in the OS/MVS, VM/CMS, OS/400, OS/2 and Microsoft Windows operating systems, parts of the CUA standard are now implemented in programs for other operating systems, including variants of Unix. It is also used by Java AWT and Swing.

Motivations and inspirations

CUA was a detailed specification and set strict rules about how applications should look and function. Its aim was in part to bring about harmony between DOS applications, which until then had independently implemented different user interfaces.

Examples:

  • In WordPerfect, the command to open a file was [F7], [3].
  • In Lotus 1-2-3, a file was opened with [/] (to open the menus), [W] (for Workspace), [R] (for Retrieve).
  • In Microsoft Word, a file was opened with [Esc] (to open the menus), [T] (for Transfer), [L] (for Load).
  • In WordStar, it was [Ctrl]+[K]+[O].
  • In emacs, a file was opened with [Ctrl]+[x] followed by [Ctrl]+[f] (for find-file).

Some programs used [Esc] to cancel an action, some used it to complete one; WordPerfect used it to repeat a character. Some programs used [End] to go to the end of a line, some used it to complete filling in a form. [F1] was often help but in WordPerfect that was [F3]. [Ins] sometimes toggled between overtype and inserting characters, but some programs used it for "paste".

Thus, every program had to be learned individually and its complete user interface memorized. It was a sign of expertise to have learned the UIs of dozens of applications, since a novice user facing a new program would find their existing knowledge of a similar application absolutely no use whatsoever.

The detailed specification drew some of its inspiration from Apple Computer's lavishly detailed Human interface guidelines. The Apple HIG is a detailed book specifying exactly how software for the Apple Macintosh computer should look and function. When it was first written, the Mac was new and GUI software was a novelty, so Apple took great pains to ensure that programs would conform to a single shared look and feel. CUA had a similar aim, but faced the more difficult task of trying to impose this retroactively on an existing, thriving but chaotic industry.

Description

The CUA contains standards for the operation of elements such as dialog boxes, menus and keyboard shortcuts that have become so influential that they are implemented today by many programmers who have never read the CUA.

Some of these standards can be seen in the operation of Windows itself and DOS-based applications like the MS-DOS 5 full-screen text editor EDIT. CUA hallmarks include:

  • All operations could be done with either the mouse or the keyboard;
  • Menus are activated/deactivated with the [F10];
  • Menus are opened by pressing the Alt key plus the underlined letter of the menu name;
  • Menu commands that require parameters to proceed are suffixed with an ellipsis ("…");
  • Options are requested using secondary windows (often called dialog boxes);
  • Options are divided into sections using notebook tabs;
  • Navigation within fields in dialog boxes is by cursor key; navigation between fields is by pressing the tab key; [Shift]+[Tab] moves backwards;
  • Dialog boxes have a 'Cancel' button, activated by pressing the [Esc] key, that discards changes, and an 'OK' button, activated by pressing [Return], that accepts changes;
  • Applications have online help accessed by a Help menu, which is the last option on the menu bar; context sensitive help can be summoned by [F1];
  • The first menu is to be called 'File' and contains operations for handling files (new, open, save, save as) as well as quitting the program; the next menu 'Edit' has commands for undo, redo, cut, copy, delete, paste commands;
  • The 'Cut' command is [Shift]+[Del]; Copy is [Ctrl]+[Ins]; Paste is [Shift]+[Ins];
  • The size of a window can be changed by dragging one of the 8 segments of the border.

CUA not only covered DOS applications, but was also the basis for the Windows Consistent User Interface standard (CUI), as well as that for OS/2 applications — both text-mode and the Presentation Manager GUI — and IBM mainframes which conformed to the Systems Application Architecture.

CUA was more than just an attempt to rationalise DOS applications — it was part of a larger scheme to bring together, rationalise and harmonise the overall functions of software and hardware across IBM's entire computing range from microcomputers to mainframes. This is perhaps partly why it was not completely successful.

The third edition of CUA took a radical departure from the first two by introducing the object-oriented workplace. This changed the emphasis of the users interactions to be the data (documents, pictures, and so on) that the user worked on. The emphasis on applications was removed with the intention of making the computer easier to use by matching users expectations that they would work on documents using programs (rather than operating programs to work on documents). (See also object-oriented user interface.)

Influence

CUA strongly influenced the Microsoft Windows operating system in its early development. Since the 1995 release of Windows, however, Windows has moved away from CUA design. Critically, the Start menu was introduced, which removed the emphasis on an object oriented desktop. The standard keystrokes and basic GUI widgets specified by the CUA remain a feature of Windows.

References

  • IBM, Systems Application Architecture: Common User Access: Panel Design and User Interaction, Document SC26-4351-0, 1987.
  • IBM, Systems Application Architecture: Common User Access: Advanced Interface Design Guide, Document SC26-4582-0, 1990.
  • IBM, Systems Application Architecture: Common User Access: Basic Interface Design Guide, Document SC26-4583-0, 1990.
  • IBM, Systems Application Architecture: Common User Access: Guide to User Interface Design, Document SC34-4289-00 1991
  • IBM, Systems Application Architecture: Common User Access: Advanced Interface Design Reference, Document SC34-4290-00 1991