Initiative by MicroSoft and the InterstellarBureauofMagicians, borrowed from XeroxParc, to define standard UserInterface primitives that all programs should follow, and that an OS should support. Part of the OS/2 project.
CUA Basic Interface Design Guide seems to be available at http://publibz.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/F29BDG00/CCONTENTS
CUA
Here's correspondence between me and a GnomeDesktopEnvironment coder:
Chema Celorio wrote:
> > + I chose <Ctrl+Page Up> & <Ctrl+Page Down> because according to the /Common > > + User Access/ they are the standard keystrokes to change between tabs in > > Where can I find this standard? I'd love to see such standard.In the Bad Old Days, hardware vendors produced dumb terminals with keyboards with whatever-the-f*** layout they felt like. You may remember seeing (possibly in hardware boneyards) - the kind with an alpha pad, a strange number of function keys, and then maybe a clump of app-specific keys with caps like "Alter Reality" or "Rubout".
Then programmers would invent word processors with whatever-the-f*** key bindings they felt like. This is where atrocities like EmacsVsVi came from. And all the smaller programs with fewer behaviors would use whatever key bindings were extremely convenient to the programmers.
Then frail old ladies would refuse to learn to compute, and the nerds who invented this crap would be shocked and dismayed.
Then the Apple Mac was invented, and it originally had only an alpha pad and a one-button mouse. Of course SteveJobs thought this was evidence he was God's gift to computing, and of course productivity went down as proficient typists had to stop and grab the freaking mouse all the time. And even though Macs eventually came out with almost normal keyboards, that's why to this day colleagues of mine use very recently assembled Macs with keyboards with every normal PC key except "Delete".
InternationalBusinessMachines and MicroSoft at this time colluded to produce the PC, and then the /Common User Access/ book. It was a GraphicalUserInterface specification kit that declared what a keyboard looked like, what a window looked like, and what all the common keybindings were. Things like <Ctrl+S> to save, or <Alt+F4> to close an app window. The UIs of OS/2 Presentation Manager and of MS-Windows followed this standard. MS includes CUA compliance in its certification program.
Then, O Best Beloved, Linux arose among the hackers community; among people who learn dumb key bindings easily, who don't mind that Delete never does the same thing twice, and who were taught in school that vi and emacs are God's gift to efficient typing.
Then frail old ladies would refuse to try Linux, and the nerds who invented this crap would be shocked and dismayed.
All the major Desktops for Linux (GNOME, IceWM, KDE, etc.) now ship with their keys bound to "what Windows 95 does". <Alt+Tab> changes between app windows (remember the days when it did not?), and <Ctrl+V> pastes text.
The entire LinuxOperatingSystem community would save itself a lot of hassle if it would just read & follow the danged CUA, and treat it like a Standard protocol, like TCP/IP or SCSI. But if you try to tell them this, they'll think you are a pro-Microsoft imperialist telling them they have to go start paying their Gates Tax again.
So they continue ReinventingTheWheel without reading the wheel's blueprints. For example, I remember when Linux apps >never< supported the CUA shortcuts of <Ctrl+Insert> to copy, <Shift+Insert> to paste, <Shift+Delete> to cut, and <Ctrl+Delete> to delete. They used only <Ctrl+C> V & X, because "that's what Windows 95 does, because that's what Macs do". But nowadays many Linux editors (including gedit) support these.
But I can tell that nobody has >still< read the CUA, because the paragraph describing these keys follows with the rule that <Alt+Backspace> shall be the Undo key, and almost nobody supports >that< yet!
I have no idea where to get the 1990-era book issued by IBM & MS, but you might find it online. Its modern descendent is called something like the "MS Windows Style Guide".
In 1990 at my job we had an asshole consultant (a typical MS worshipper) who came in to deliver a program. My colleague Anu and I were debating a UI feature, and the consultant said, "Did you read your CUA?"
We found it on a shelf and handed it to him. It still had the shrink-wrap on it.
Anu said, "Well, we read it. But then we put the shrink-wrap back on it."
-- PhlIp
http://www.greencheese.us/SonseOne [BrokenLink 20080816 (DNS Error - Server cannot be found)]
Meanwhile, in the corner of the room, making an ever louder noise, a somewhat older, wiser SteveJobs can hit Apple-S, and it still saves.
See Also