|
▼ GUI の解説を表示▼
{{Redirect|GUI|ボタン|ボタン (GUI)}}
thumb
'''グラフィカルユーザインタフェース'''('''{{Lang|en|Graphical User Interface}}''', '''GUI''','''ジーユーアイ''','''グイ''')は[[コンピュータグラフィックス]]と[[ポインティングデバイス]]を用いて、直感的な操作を提供する[[ユーザインタフェース]]。
[[キャラクタユーザインタフェース]] (CUI) や[[テキストユーザインタフェース]] (TUI) と対比して語られはることが多い。
グラフィカルユーザインタフェースは、視認性、操作性に優れ、直感的な操作が可能なため、広く普及し、現在では主流のインタフェースになっておる。
== 歴史 ==
thumb世界初の実用となりよったGUIは1963年に完成した[[半自動式防空管制組織]](SAGE)なるアメリカ空軍の開発した防空管制システムであるんや。こら[[ブラウン管|CRT]]と[[ライトガン]]を備えており、核爆弾を搭載した敵航空機を迎撃するために多数のレーダーからの情報を統合し、複数のオペレーターがライトガンで迎撃目標を指示するだけで全軍の適切な箇所に自動で指令が届き、その結果レーダー情報の膨大さを気にするっちうことなく的確に敵機を迎撃できるちうもんやったちうわけや。リアルタイムに膨大な情報から適切な選択を行うゆう点において、このシステムはGUIの本質を示すもんであるんや。[[CUI]]は軍用ではそれほど大きな需要が無く、むしろ冷戦構造下ではGUIの方が需要があり先に実現されとったちうわけや。民生用の技術に限定したらCUIの方が先に普及し、後からGUIが現れたと誤解されがちであるんや。[[http://ci.nii.ac.jp/naid/110004721895/ グラフィカルインタラクティブシステム前史]]
その次に登場したアホでも使えるようといえるGUIはマウスの発明者である[[ダグラス・エンゲルバート]]により開発された[[NLS]]であるんや。このシステムはエンゲルバートの提唱する「人間知性の拡大」ちう能書きを実現するために作られており、[[ハイパーテキスト]]、[[ハイパーリンク]]、[[ウィンドウシステム|マルチウインドウ]]やらなんやらの今日的なGUIには必須の能書きを実装して見せたきわめて革新的なもんであるんや。また[[ジャーナル]]と呼ばれるハイパーテキストベースの文書共有システムは正にWikiと同じ能書きである文書によるコラボレーション・グループウェアを実装したもんであるんや。今日見られはるGUIはこのとき確立された能書きがより高性能の整備された環境で実装し直されておるだけともとらえられはる。
また、NLSの本質は単なるGUIの実装やのうて、GUIは会話・画像・文書をリアルタイムで共有する電子会議を通じた知的共有グループウェアを実現するための手段やったちうわけや。さらに、後に[[WYSIWYG]]と呼ばれることになる機能もこのとき既に実装されとったちうわけや。[[http://vodreal.stanford.edu/engel/22engel200.ram エンゲルバートによる1968年のプレゼンテーションの一部。レポートや論文をどへんな風にして共同作成・編集・完成・閲覧・出力させるかのデモ。]]
エンゲルバートのNLSは今日のGUIの能書きをほとんど実現しとったが、あくまで研究レベルやったため習得の容易さちう観点からは十分とは言えへんかったちうわけや。また、理念はかいなりの程度実装はされとったが、ハードウェアの性能・価格がアホでも使えるようとは言えへんかったちうわけや。その後のGUIの歴史は新機能が増えていったゆうよりむしろ、わかりやすくするために機能が削られ、ハードウェアの性能が上がり、価格が下がることで実用性が増していったゆう点に尽きる。
それらを参考にした[[アラン・ケイ]]により、どなたはんでも簡単に使えることを目指して[[暫定Dynabook]]環境が作られはったちうわけや。当初は標準システム的な位置づけで開発された[[Smalltalk|Smalltalk-72]]は、Data General社の[[Nova]]から、約5〜10倍の能力とビットマップディスプレイ、マウスを装備した[[Alto]]へと移植され、マシンパワーを得るとすぐにオーバーラップ可能なウインドウシステムの構築が試みられはったちうわけや。このマルチウインドウシステムを効率よう機能させるために後に考え出された [[BitBlt]]は、現在も、ちらつきのへん画面描写のために使われる[[理屈]]として知られはる。
1974年までには、後にMicrosoft Wordの前身と言われるようになる[[:en:Bravo_(software)|Bravo]]を開発しとった別グループとの情報交換を経て[[パロアルト研究所]]初の[[WYSIWYG]]エディタも実装される。70年代半ば過ぎにはマウスによる操作、メニューによる命令実行、オーバーラップマルチウインドウシステム、絵と文章の共存できるWYSIWYGのマルチフォントエディタ、[[アイコン]]による機能やオブジェクトの簡易表現やらなんやら、現在ごくふつうに見られはるグラフィカルユーザインタフェースの主要な要素は固まっとったちうわけや。Smalltalk-72の後継であるSmalltalk-76ではさらに洗練・整備され、それを1979年に見た[[スティーブ・ジョブズ |Steve Jobs]]が策定中のLisaの仕様決定に役立てたちうわけや。[[http://www.metaobject.com/papers/Smallhistory.pdf THE EARLY HISTORY OF SMALLTALK, Alan C.Kay]]
== おーまかなトコ ==
GUIでは、コンピュータの画面上に、ウィンドウ、[[アイコン]]、ボタンといったグラフィックが表示され、ユーザはそれらの中から目的の動作を表すグラフィックスをマウスやらなんやらのポインティングデバイスで選択する。
基本的には「デスクトップ」「ウィンドウ」「メニュー」「アイコン」「ボタン」やらなんやら要素を組み合わせて構成され、それらをポインティングデバイスによって操作されるカーソルを通じて指示を与える。
=== 構成要素 ===
;[[デスクトップ]]
:起動時に表示され、GUIの最下層に位置する画面のことやが、後述のウィンドウやファイルブラウザを含めた「[[デスクトップ環境]]」のことをさすこともあるんや。この上にウィンドウを重ねることによってインタフェースは[[マルチタスク]]を実現する。一般的なインタフェースでは、ここに[[アプリケーションソフトウェア|アプリケーション]]やデータのアイコンをおき、ここから作業を開始できるようにする。この画面は、既存のディレクトリ構成とは相容れへん立場のため、特殊な位置におかれるディレクトリを参照する形でデータの内容を定義する。
:[[デスクトップの背景]]に画像や各種アクセサリを置いて、視覚的に楽しませる機能が提供される。また、アプリケーションの役割を果たすActive Desktopや[[ガジェット]]やらなんやら([[ウィジェットエンジン]])を置くこともできる。
:きょうびでは、[[仮想デスクトップ]]をキューブで表示する、アイコンの配置に立体感を着ける、ウィンドウを立体的に表示やらなんやら、3D効果によって操作性を向上するデスクトップ環境が増えておる。UNIX系[[ウィンドウマネージャ]]の[[Compiz]]、Windows VistaのAero、[[サンマイクロシステムズ]]のLooking Grassやらなんやらが例に挙げられはる。
; [[ウィンドウ]]
:アプリケーションがデータを扱うためのグラフィカルインタフェースにおけるひとつの単位となるもわ。ウィンドウ内においては、アプリケーションとデータは一体化する。ここにおいて、アプリケーションを操作し、データを管理、生成、編集する。通常はメニュー、アイコンやらなんやらを周辺に配置し、中央にデータをおく。
:ウィンドウには、データやアプリケーションに応じてタイトルが付けられ、ウィンドウの最上部にタイトルがおかれる。一般的には、ウィンドウをディスプレイ全体に表示する「最大化」、表示を隠す「最小化」、複数枚のウィンドウの最前面、タイトルだけを表示する「シェード」やらなんやらがサポートされ、これにより、ウィンドウの操作を簡単に行うことが出来よる。
:; Single Document Interface (''SDI'')
::ウィンドウにおいて、ひとつのデータをひとつのウィンドウ内に完結させる方式。この場合は、データの数だけ、ウィンドウが出力される。他のアプリケーションのウィンドウと突き合わせて利用できるが、その分だけ、ウィンドウの数がようけなり、管理が繁雑になる。
:; Multiple Document Interface (''MDI'')
::ひとつのウィンドウ内に入れ子状にウィンドウが表示され、複数のデータ管理を行う方式。この場合は、ウィンドウ管理が簡単になるが、作業の管理が二重になる。
:; タブ
::MDIにおけるデータ管理方式のうち、データのタイトルをウィンドウ内に並べ、タイトルを選んで必要なデータだけを表示するもわ。これにより、簡単にデータにアクセスできるようになる。
; メニュー
:アプリケーション、OSより指示できるコマンドを階層上に表現したもわ。画面上部、または画面下部におかれ、そのアプリケーションから利用できるコマンドがほぼみな配置される。通常は左翼に重要度の高いもんがおかれ、右翼にいくにしたがって重要度は低なる。コマンドの階層はアプリケーションにより異なるが、ファイル操作、編集の機能を重視して、それらのコマンドから左翼側からおかれ、右翼には、助け船やらなんやらがおかれる。マウスの第一ボタンによって操作する。
; コンテキスト・メニュー
:アプリケーションの用意した階層上のメニューとは別に、メニュー以外のトコでマウスの第二ボタンやらなんやらを押した際に機能するメニューの事。ボタンが呼び出された位置に応じてメニューの内容が変身し、編集操作を簡単に行うことが出来よるようになっておる。
; [[アイコン]]
:データ管理アプリケーションにおいて、データを表現したもん、またはアプリケーションそのもんを表現する場合もあるんや。
:データ管理アプリケーション、すなわち、ディレクトリにおけるユーザーデータの管理や、特定のデータを管理を行うアプリケーションの場合、アイコンによりデータを表現する。通常は、データの中身や、データと関連づけられはったアプリケーションを表現する。また、データのアイコンを通じて、アプリケーションの起動までサポートするんが普通であるんや。
:アプリケーションアイコンは、アプリケーションの起動だけを行う。
; ボタン
:メニューのうち、利用頻度の高いコマンドを絵で表現し、アプリケーション内に配置したもわ。
:アプリケーション上におかれるボタンは、普通はメニューの代わりをする。利用頻度の高いもんからおかれ、メニューの階層を辿らなうてもその機能が使えるようになっておる。せやけど、ユーザーによりコマンドの利用頻度は異なるさかい、この配置を編集できるようになっておるのが普通であるんや。
=== その他 ===
; [[ゴミ箱]]
:ファイル消去に対する[[フェイルセーフ]]を果たすために、「ゴミ箱」やらなんやらと呼ばれる機能を持つもんがあるんや。こら、ファイルの消去を行なう際に、一時的に別の場所に移すことで、誤ったファイル消去を未然に防ぐことが出来よる。Macintoshでは、ゴミ箱はファイルだけでなく、さまざまなオブジェクトの削除の機能を持っておる。
; アプリケーションランチャ
:GUI上からアプリケーションを呼び出す際に様々な方式があるが、いくつかのOSではメニュー形式のアプリケーションランチャを持っておる。[[NEXTSTEP]]とMac OS Xでは、[[Dock|ドック]]と呼ばれるパレット型の機構を持ち、ファイルやアプリケーションの各種の情報を格納してクリックでそれらを呼び出せる。
=== グラフィカルユーザインタフェースにおけるタスク管理 ===
グラフィカルユーザインタフェースにおいて、作業はウィンドウ単位に分割される。MDIとMac OSの場合を除いて、「ウィンドウの数 = タスクの数」であることが多い。そやから、インタフェース全体で見た場合、どへんな風にしてタスク管理を行うかが重要になる。Windowsをはじめとしていちばん多い方式は、[[タスクバー]]と呼ばれる棒状の領域をデスクトップ上に用意し、ここに、各ウィンドウのアイコンやタイトルを並べるもんであるんや。これにより、視認性、操作性を確保しながら、ようけのウィンドウを管理するっちうことが出来よるようになる。他には、デスクトップ上のメニューに各ウィンドウを管理するメニューを追加する、デスクトップにタスクをアイコンで表示する、[[仮想デスクトップ]]で見た目のデスクトップの数を増やすやらなんやらの方法があるんや。Mac OS Xは[[Dock]]でタスク管理を行うが、[[Exposé]]ちうウィンドウ一覧表示モードも併用されておる。
=== ポインティングデバイスによる操作 ===
グラフィカルユーザインタフェースの基本は、ポインティングデバイスによってカーソルを操作し、デバイスに付いたボタン(通常2〜3個)を押すことであるんや。これにより、「位置」と「指示」をようわかるようにし、視覚的な操作を行うことが出来よる。
指示の内容は、カーソルの位置によって異なる。データ管理アプリケーションでは、第1ボタンは、カーソルの位置にあるデータを選択し、2回連続で押す([[ダブルクリック]]する)ことよちう、データに応じて適宜定義されたアプリケーションを呼び出し、処理を開始する。アプリケーションのメニュー、ボタン上では、そのコマンドを開始する。データ上では、データにおける操作の位置を指示する。
第2ボタンは、通常、どの場合そやけど、アプリケーションによって定義された[[コンテキストメニュー]]を出力する。このメニューを第一ボタンによって指示するっちうことで、そのコマンドを実行するっちうことができる。第3ボタンは、X Window Systemではよう使われる。
また、きょうびは第4ボタン、第5ボタンを装備したマウスや、第3ボタンがウィンドウに直接機能するホイール機能を兼ねておるもんがあり、適宜、アプリケーション又はOSによって定義された機能を提供する。
=== グラフィカルユーザインタフェースとキーボード ===
グラフィカルユーザインタフェースにおいても、キャラクタユーザインタフェース劣らへんし、キーボードは重要なデバイスであるんや。データの内容だけでなく、キーボードショートカットといった、インタフェース操作を向上させる機能と連動させることで、操作性の向上をはかることもあるんや。
=== グラフィカルユーザインタフェースと各種デバイス ===
上記にあげたデバイス以外にも、[[タブレット]]やらなんやらのペンデバイスによる操作もあり、特に画像データ操作や手書き入力において威力を発揮する。
=== タッチパネルによるグラフィカルユーザインタフェース ===
[[タッチパネル]]に表示されたボタンやアイコンに直接指やペンで触れることで、各種の操作を行うデバイスもあり、[[現金自動預け払い機|ATM]]やらなんやらで一般化しておる。[[カーナビゲーションシステム]]や[[ニンテンドーDS]]でも使われ、直感的な操作に優れる。2007年以降、パッドに接触する指の本数を認識し、その振る舞いを変えるマルチタッチ対応パネルを利用した機器が市場に出回るようになりよったちうわけや。
== GUIを採用しておるオペレーティングシステム/アプリケーション ==
*[[Smalltalk]]
*Mac OS
*Mac OS X
*[[OS/2]]
*X Window System
*[[NEXTSTEP]]
*Microsoft Windows
*[[BTRON]]
*[[TownsOS]]
*[[MSX|MSX-View]]
*[[SX-Window]]
*[[BeOS]]
*[[アップル・ニュートン|Newton OS]]
*[[ザウルス|Zaurus OS]]
*Palm OS
== 関連項目 ==
*[[ユーザインタフェース設計]]
*[[ズーミングユーザインタフェース]]
== 参考文献 ==
{{Commonscat|Graphical user interface}}
[[Category:コンピュータグラフィックス|くらふいかるゆさいんたふえいす]]
[[Category:グラフィカルユーザインタフェース|*]]
[[Category:コンピュータのユーザインタフェース|くらふいかるゆさいんたふえいす]]
[[Category:ソフトウェアアーキテクチャ|くらふいかるゆさいんたふえいす]]
[[ar:واجهة مستخدم رسومية]]
[[ast:Interfaz gráfica d'usuariu]]
[[bs:GUI]]
[[ca:Interfície gràfica d'usuari]]
[[cs:Grafické uživatelské rozhraní]]
[[da:Grafisk brugerflade]]
[[de:Grafische Benutzeroberfläche]]
[[el:Γραφικό Περιβάλλον Χρήστη]]
[[en:Graphical user interface]]
[[eo:Grafika uzantinterfaco]]
[[es:Interfaz gráfica de usuario]]
[[et:GUI]]
[[fi:Graafinen käyttöliittymä]]
[[fr:Environnement graphique]]
[[gl:GUI]]
[[hr:Grafičko korisničko sučelje]]
[[hu:Grafikus felhasználói felület]]
[[id:Antarmuka pengguna grafis]]
[[is:Myndrænt viðmót]]
[[it:Interfaccia grafica]]
[[ko:그래픽 사용자 인터페이스]]
[[la:Gui]]
[[ms:Antara muka grafik pengguna]]
[[nds:Böverflach]]
[[nl:Grafische gebruikersomgeving]]
[[no:Grafisk brukergrensesnitt]]
[[pl:Interfejs graficzny]]
[[pt:Interface gráfica do utilizador]]
[[ro:Interfaţă grafică]]
[[ru:Графический интерфейс пользователя]]
[[sh:GUI]]
[[sk:GUI]]
[[sl:Grafični uporabniški vmesnik]]
[[sq:GUI]]
[[sr:Графичко корисничко окружење]]
[[sv:Grafiskt användargränssnitt]]
[[ta:வரைகலை பயனர் இடைமுகம்]]
[[th:ส่วนต่อประสานกราฟิกกับผู้ใช้]]
[[tl:Pakikihalubilong makikitang pantagagamit]]
[[tr:Grafiksel kullanıcı arayüzü]]
[[uk:Графічний інтерфейс користувача]]
[[ur:مخطط صارفی سطح البین]]
[[vi:GUI]]
[[zh:图形用户界面]]
出典: フリー百科事典『ウィキペディア(Wikipedia)』 Text is available under GNU Free Documentation License.
page1 page2 page3 page4 page5
|