Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IBM Common User Access
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|User interface standard}} {{primary sources|date=December 2013}} '''Common User Access''' ('''CUA''') is a standard for [[user interface]]s to [[operating system]]s and [[computer program]]s. 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]], [[IBM i|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 (software platform)|Java]] [[Abstract Window Toolkit|AWT]] and [[Swing (Java)|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 [[IBM Personal System/2|PS/2]] with [[Video Graphics Array|VGA graphics]].{{r|alsop19880118}} 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.{{cn|date=October 2014}} For example, to open a file: * In [[WordPerfect]], the command to open a file was {{keypress|F7}}, {{keypress|3}}. * In [[Lotus 1-2-3]], a file was opened with {{keypress|/}} (to open the menus), {{keypress|F}} (for File), {{keypress|R}} (for Retrieve). * In [[Microsoft Word]], a file was opened with {{keypress|Esc}} (to open the menus), {{keypress|T}} (for Transfer), {{keypress|L}} (for Load). * In [[WordStar]], {{keypress|^}} {{keypress|K}} {{keypress|D}} (to get to the ''Opening Menu''), followed by {{keypress|D}}.<ref>{{cite web |title=WordStar reference manual for release 3.3 |url=http://www.bitsavers.org/pdf/microPro/Wordstar_3.3/Wordstar_3.3_Reference_Manual_1983.pdf}}</ref> * In [[emacs]], a file is opened with {{keypress|Ctrl}}+{{keypress|x}} followed by {{keypress|Ctrl}}+{{keypress|f}} (for find-file). * In [[Vi (text editor)|vi]], use {{keypress|Esc}} to allow commands, then {{keypress|:}}{{keypress|e}}{{keypress|space}}{{keypress|.}} to open the file browser. {{keypress|F1}} was often the [[help key]] (such as [[Volkswriter]] (1982)<ref name="shuford198305">{{cite magazine | url=https://archive.org/stream/byte-magazine-1983-05/1983_05_BYTE_08-05_The_Electronic_Office#page/n181/mode/2up | title=Word Tools for the IBM Personal Computer | magazine=[[Byte (magazine)|BYTE]] | date=May 1983 | access-date=19 October 2013 | last=Shuford |first=Richard S. | pages=176–216 | volume=8 | issue=5}}</ref>), but in WordPerfect, help was on {{keypress|F3}} instead. Some programs used {{keypress|Esc}} to cancel an action, while some used it to complete one; WordPerfect used it to repeat a character. Some programs used {{keypress|End}} to go to the end of a line, while some used it to complete filling in a form. {{keypress|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 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 Inc.|Apple Computer]]'s detailed [[human interface guidelines]] (139 pages).<ref name="alsop19880118">{{Cite journal |last=Alsop |first=Stewart II |date=1988-01-18 |title=Microsoft Windows: Eclectism in UI |url=http://vintagecomputer.net/cisc367/PC-Letter_19880118.pdf |journal=P.C. Letter |volume=4 |issue=2 |pages=6–7}}</ref> The Apple HIG is a detailed book specifying how software for the 1984 [[Apple Macintosh]] computer should look and function.<ref name=apple_hig_1987>{{cite book| url=https://archive.org/details/applehumaninterf00appl |title=Human Interface Guidelines: The Apple Desktop Interface |year=1987 |isbn=0-201-17753-6 |publisher=Addison-Wesley | ref={{harvid|Human Interface Guidelines|1987}} |url-access=registration}}</ref> When it was first written, the Mac was new, and [[graphical user interface]] (GUI) software was a novelty, so Apple took great pains to ensure that programs would conform to a single shared look and feel.{{cn|date=March 2014}} 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 box]]es, [[menu (computing)|menus]] and [[keyboard shortcut]]s 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]] [[MS-DOS Editor|edit.com]]. CUA hallmarks include: * All operations can be done with either the [[computer mouse|mouse]] or the [[computer keyboard|keyboard]]; * If applicable to the page/screen in question {{keypress|F5}} provides a refresh function; * Menus are activated/deactivated with the {{keypress|F10}} key; * Menus are opened by pressing the {{keypress|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 {{keypress|Tab}} key; {{keypress|Shift}}+{{keypress|Tab}} moves backwards; * Dialog boxes have a 'Cancel' button, activated by pressing the {{keypress|Esc}} key, which discards changes, and an 'OK' button, activated by pressing {{keypress|Return}}, which 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 {{keypress|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, copy, and paste|Cut]] command is {{keypress|Shift}}+{{keypress|Del}}; [[Cut, copy, and paste|Copy]] is {{keypress|Ctrl}}+{{keypress|Ins}}; [[Cut, copy, and paste|Paste]] is {{keypress|Shift}}+{{keypress|Ins}}; * The size of a window can be changed by dragging one of the 8 segments of the border. CUA not only covers DOS applications, but is 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 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. The third edition of CUA took a radical departure from the first two by introducing the [[object-oriented]] [[Workplace Shell|workplace]]. This changed the emphasis of the user's 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 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, {{#invoke:key|press|Alt|F4}}, stems from CUA.<ref>{{cite web |last1=Chen |first1=Raymond |title=Why is Alt+F4 the hotkey for closing a window? Why not Alt+F5 or Alt+F3? |url=https://devblogs.microsoft.com/oldnewthing/20180918-00/?p=99765 |website=The Old New Thing |date=18 September 2018}}</ref> CUA never had significant impact on the design of [[Unix]] terminal (character-mode) applications, which preceded CUA by more than a decade.{{citation needed|date=July 2015}} 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/[[Common Desktop Environment|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 [[Motif (software)|OSF/Motif]] is generally considered a [[de facto standard]] to be followed by any new Unix GUI environment. == See also == * [[Table of keyboard shortcuts]] == 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-00 [https://web.archive.org/web/20160710202734/http://publibz.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/F29BDG00/CCONTENTS], 1992. (Partial archive) * IBM, Systems Application Architecture: Common User Access: Guide to User Interface Design, Document SC34-4289-00 1991 [https://archive.today/20121209103024/http://publibz.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/F29AL000/1.0?DT=19921204095534] * IBM, Systems Application Architecture: Common User Access: Advanced Interface Design Reference, Document SC34-4290-00 1991 [https://archive.today/20121216074113/http://publibz.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/F29AL000/2.0?DT=19921204095534] * {{cite book |title=Object-oriented interface design: IBM common user access guidelines. |year=1992 |publisher=Que |isbn=1565291700 |edition=1st}}<!-- Luckily for historians it's on libgen --> {{reflist}} == External links == * {{cite web|url= https://archive.org/details/ibmsj2703E |title=Common User Access – A consistent and usable human-computer interface for the SAA environments |year=1998 }} {{small|(1.95 [[Mebibyte|MiB]])}}, by [[Richard E. Berry]], [[IBM Systems Journal]], Volume 27, Nº 3, 1988. [http://portal.acm.org/citation.cfm?id=49492.49495 Citations]. This link is down, PDF still available at: https://web.archive.org/web/20070927082756/http://www.research.ibm.com/journal/sj/273/ibmsj2703E.pdf * {{cite web|archive-url=https://web.archive.org/web/20070927082814/http://www.research.ibm.com/journal/sj/313/ibmsj3103C.pdf|archive-date=September 27, 2007|url=http://www.research.ibm.com/journal/sj/313/ibmsj3103C.pdf|title=The evolution of the Common User Access Workplace Model|access-date=July 12, 2007|url-status=live}} {{small|(2.68 [[Mebibyte|MiB]])}}, by Richard E. Berry, [[Cliff J. Reeves]], IBM Systems Journal, Volume 31, Nº 3, 1992. [http://portal.acm.org/citation.cfm?id=137392.137393 Citations]. * {{cite web|archive-url=https://web.archive.org/web/20050530074909/http://www.research.ibm.com/journal/sj/313/ibmsj3103D.pdf|archive-date=May 30, 2005|url=http://www.research.ibm.com/journal/sj/313/ibmsj3103D.pdf|title=The designer's model of the CUA workplace|access-date=October 1, 2009|url-status=live}} {{small|(3.74 [[Mebibyte|MiB]])}}, by Richard E. Berry, IBM Systems Journal, Volume 31, Nº 3, 1992. [http://portal.acm.org/citation.cfm?id=137392.137394 Citations]. * [https://web.archive.org/web/20010204033600/http://publib.boulder.ibm.com/cgi-bin/bookmgr/Shelves/CEESL002 IBM BookManager SAA CUA bookshelf] 1992 * [https://www.slickedit.com/images/stories/products/slickedit/emulation_charts/cua_emulation.pdf CUA Window Emulation for SlickEdit] {{Webarchive|url=https://web.archive.org/web/20200324210212/https://www.slickedit.com/images/stories/products/slickedit/emulation_charts/cua_emulation.pdf |date=2020-03-24 }} - A table of CUA-based hotkeys provided by a [[SlickEdit]] mode {{OS/2}} [[Category:IBM software|Common User Access]] [[Category:Human–computer interaction]] [[Category:User interface techniques]] [[Category:OS/2 technology|Common User Access]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite magazine
(
edit
)
Template:Cite web
(
edit
)
Template:Cn
(
edit
)
Template:Keypress
(
edit
)
Template:OS/2
(
edit
)
Template:Primary sources
(
edit
)
Template:R
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Small
(
edit
)
Template:Webarchive
(
edit
)