Common User Access

**Common User Access** (**CUA**) はオペレーティングシステム (OS) とコンピュータプログラムのユーザインタフェース (UI) についての標準である。CUAはIBMによって開発され、同社のSystems Application Architectureの一部として1987年に公開された。

もともとは OS/MVS、VM/CMS、OS/400、OS/2やWindowsといったOSで用いられ、CUA標準の一部は種々のUNIXを含むそれ以外のOS用のプログラムでも実装されている。Java AWTやSwingでも用いられている。

## 目的と動機
CUAの仕様は詳細にわたっており、アプリケーションの見た目や機能について厳しい規則を設定していた。その目的の一部は、当時個別に異なるユーザインタフェースを実装していたDOSアプリケーション間の調和をもたらすことであった。

例：ファイルを開く場合のキー操作は
; WordPerfect:[F7] - [3]
; Lotus 1-2-3:[/] (メニューを開く) - [W] (ワークスペース) - [R] (取り出し)
; Microsoft Word:[Esc] (メニューを開く) - [T] (転送) - [L] (読み出し)
; WordStar:[Ctrl]+[K]+[O]
; emacs:[Ctrl]+[x] その後 [Ctrl]+[f] (find-file 機能)

また[ESC]は、プログラムによって動作のキャンセルに用いるものもあり、動作を完了させるために用いるものもあった。WordPerfectでは[ESC]を文字の繰り返しに用いた。[End]を行末への移動に用いるものもあり、フォームへの入力を完了するために用いるものもあった。ヘルプは [F1] であることが多かったが、WordPerfect では[F3]であった。[Ins]は文字の挿入と上書きの切り替えに使う物と、「貼り付け」に使うものとがあった。

このように、それぞれのプログラムはそれぞれ別々に学習する必要があり、UIをすべて記憶している必要があった。新しいプログラムに接する初心者は、これまでの同様のアプリケーションについての知識が全く無意味であると気づいてしまうため、何十ものアプリケーションのUIを学習しておく必要があることを意味した。

## 記述内容
CUAは、ダイアログボックスや、メニュー、キーボードショートカットといった要素の操作についての標準を含んでおり、CUAを全く読んだことのない多数のプログラマによって、今日でも実装されるほど大きな影響力を持つようになった。

こうした標準の一部は、Windowそのものや、MS-DOS 5のフルスクリーンテキストエディタEDITのようなDOSベースのアプリケーションでも見ることができる。CUAの特徴としては 下記のようなものがある。

* すべてのアプリケーションは、マウスとキーボードのいずれでも操作できなければならない
* メニューは、[F10] により選択されたり非選択になったりする。
* メニューは Altキーと、メニューの名前の中の下線の引かれた文字を押すことで開く。
* パラメータが必要なメニューのコマンドには、リーダーがつく。
* オプションの要求する場合には、二番目のウィンドウを用いる (よくダイアログボックスと呼ばれるもの）。
* オプションは、ノートのタブを用いてセクションに分割される。
* ダイアログボックスのフィールド内の移動はカーソルキーで行う。フィールド間の移動はTabキーを押すことで行う。[Shift]+[Tab]で戻る。
* ダイアログボックスは、[[ESC]キー](https://ja.wikipedia.org/wiki/Esc%E3%82%AD%E3%83%BC)を押すと選択され、変更を破棄する"キャンセル"ボタンと、[Return]キーを押すと選択され、変更を受け付ける'OK'ボタンを持つ。
* アプリケーションは、メニューバーの最後の位置にあるHelpメニューからアクセスできるオンラインヘルプを持ち、コンテキストを意識したヘルプは[F1]で呼び出すことができる。
* 最初のメニュー項目は'File'と呼ばれファイルを操作する命令（新規、開く、保存、別名保存）や、プログラム終了の命令を含み、'Edit'メニューは取り消し、やり直し、切り取り、削除、貼り付けコマンドを含む。
* '切り取り'コマンドは[Shift]+[Del]、コピーは[Ctrl]+[Ins]、貼り付けは[Shift]+[Ins]である。
* ウインドウのサイズは、8方向の境界の一つをドラッグすることで変更できる。

CUAはDOSアプリケーションをカバーするだけでなく、OS/2のテキストモードとPresentation Manager両方のGUIや、Systems Application Architectureに準拠した IBMのメインフレーム同様、WindowsのConsistent User Interface標準 (CUI) の基礎となった。

CUAは単に DOSアプリケーションを合理的なものにする試み以上のものであり、マイクロコンピュータからメインフレームまでの IBMのコンピュータの範囲全体のソフトウェアとハードウェアの機能をまとめて、合理的にものにし、調和させようとする大規模な計画の一部であった。おそらく、完全には成功しなかった理由の一部はこれであろう。

CUAの第3版は、オブジェクト指向ワークプレースを導入し、最初の2版から、急進的な飛躍を遂げた。第3版ではユーザーの操作において注目する点を、ユーザーが操作する文書や画像などといったデータ中心に切り替えた。これまでのアプリケーション中心の注目点は、（プログラムを操作してドキュメントの作業するのではなく）プログラムを使ってドキュメント上で作業するというユーザーの期待に応え、コンピュータをより使いやすくする意図で、削除された（オブジェクト指向ユーザインタフェース参照）。

## CUAの影響
CUAはWindowsオペレーティングシステムにおいて、その初期の開発段階で強い影響を与えた。Windows 3.0のGUIはCUA '87準拠である。しかしWindows 3.1からショートカットキーがMacintosh風に変更された。そして1995年のWindows 95のリリース以降はGUI全体も、WindowsはCUAの設計から離れていった。酷評されつつもスタートメニューが導入され、CUA '91で採用されたオブジェクト指向デスクトップを重視することはなくなった。CUAで仕様化された基本的なGUIウィジェットの標準キーストロークは、Windowsの1つの機能として残った。

## 参考文献

* 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年

## 外部リンク
* , by Richard E. Berry, IBM Systems Journal, Volume 27, Nº 3, 1988. Citations.
* The evolution of the Common User Access Workplace Model - Technical, by Richard E. Berry, Cliff J. Reeves, IBM Systems Journal, September 1992. . Citations
* The designer's model of the CUA workplace - Common User Access - Technical, by Richard E. Berry, IBM Systems Journal, September 1992.