IBM Common User Access


Common User Access 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 MVS/ESA, 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

IBM wanted a standard way to interact with text-based user interface software, whether the screen was a dumb terminal connected to a mainframe or a PS/2 with VGA graphics. 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 among DOS applications, which until then had independently implemented different user interfaces.
Examples:
was often the help key, but in WordPerfect, help was on instead. Some programs used to cancel an action, while some used it to complete one; WordPerfect used it to repeat a character. Some programs used to go to the end of a line, while some used it to complete filling in a form. 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 memorised. 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 either of no use or actively a hindrance to understanding as learned behavior might need to be unlearned for the new application.
The detailed CUA specification, published in December 1987, is 328 pages long. It has similarities to Apple Computer's detailed human interface guidelines. The Apple HIG is a detailed book specifying how software for the 1984 Apple Macintosh computer should look and function. When it was first written, the Mac was new, and graphical user interface 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 it faced the more difficult task of trying to impose this retroactively on an existing, thriving but chaotic industry, with the much more ambitious goal of unifying all UI, from personal computers to minicomputers to mainframes; and supporting both character and GUI modes, and both batch and interactive designs. By comparison, the Apple HIG only supported interactive GUI on a standalone personal computer. CUA also attempted to be a more measurable standard than the Apple HIG and had large sections formatted as checklists to measure compliance.

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.com. CUA hallmarks include:
CUA not only covers DOS applications, but is also the basis for the Windows Consistent User Interface standard, as well as that for OS/2 applications — both text-mode and the Presentation Manager GUI — and IBM mainframes which conform 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 user's interactions to be the data 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.

Influence

CUA strongly influenced the early Microsoft Windows operating system during the period of joint IBM and Microsoft cooperation on OS/2 Presentation Manager. But later releases of IBM's CUA documents were not used for Microsoft products, and so CUA became less significant in the Windows environment. For instance, the Start menu was introduced. Most of the standard keystrokes and basic GUI widgets specified by the CUA remain available in Windows. The well-known combination for closing a window,, stems from CUA.
CUA never had significant impact on the design of Unix terminal applications, which preceded CUA by more than a decade. However, all major Unix GUI environments/toolkits, whether or not based on the X Window System, have featured varying levels of CUA compatibility, with Motif/CDE explicitly featuring it as a design goal. The current major environments, GNOME and KDE, also feature extensive CUA compatibility. The subset of CUA implemented in Microsoft Windows or OSF/Motif is generally considered a de facto standard to be followed by any new Unix GUI environment.