グラフィカルユーザインタフェース
出典: フリー百科事典『ウィキペディア(Wikipedia)』
グラフィカルユーザインタフェース (Graphical User Interface, GUI) はコンピュータグラフィックスとポインティングデバイスを用いて、直感的な操作を提供するユーザインタフェース。 キャラクターユーザインターフェース (CUI) と対比して語られることが多い。
グラフィカルユーザインタフェースは、視認性、操作性に優れ、直感的な操作が可能なため、広く普及し、現在では主流のインターフェイスになっている。
目次 |
[編集] 歴史
アラン・ケイにより、誰でも簡単に使えることを目指して作られた暫定Dynabook環境の、当初は標準システム的な位置づけで開発されたSmalltalk-72は、Data General社のNovaから、約5〜10倍の能力とビットマップディスプレイ、マウスを装備したAltoへと移植され、マシンパワーを得るとすぐにオーバーラップ可能なウインドウシステムの構築が試みられた。このマルチウインドウシステムを効率よく機能させるために後に考え出された BitBlt (ビットブリット) は、現在も、ちらつきのない画面描写のために使われるアルゴリズムとしてよく知られている。
1974年までには、後にMicrosoft Wordの前身と言われるようになるBravoを開発していた別グループとの情報交換を経てパロアルト研究所 (PARC) 初の(つまり世界初の)WYSIWYG (ウィジウィグ) エディタも実装される。70年代半ば過ぎにはマウスによる操作、メニューによる命令実行、オーバーラップマルチウインドウシステム、絵と文章の共存できるWYSIWYGのマルチフォントエディタ、アイコンによる機能やオブジェクトの簡易表現など、現在ごくふつうに見られるグラフィカルユーザインタフェースの主要な要素は固まっていた。Smalltalk-72の後継であるSmalltalk-76ではさらに洗練・整備され、それを1979年に見たSteve Jobsが策定中のLisa(Macintoshの前身)の仕様決定に役立てた話は有名である。
参考文献:[1]
[編集] 概要
GUIでは、コンピュータの画面上に、ウィンドウ、アイコン、ボタンといったグラフィックが表示され、ユーザはそれらの中から目的の動作を表すグラフィックスをマウスなどのポインティングデバイスで選択する。
基本的には「デスクトップ」「ウィンドウ」「メニュー」「アイコン」「ボタン」など要素を組み合わて構成され、それらをポインティングデバイスによって操作されるカーソルを通じて指示を与える。
[編集] 構成要素
- デスクトップ
- 起動時に表示され、GUIのいちばん最下層に位置する画面のことだが、後述のウィンドウやファイルブラウザを含めた「デスクトップ環境」のことをさすこともある。この上にウィンドウを重ねることによってインターフェイスはマルチタスクを実現する。一般的なインターフェイスでは、ここにアプリケーションやデータのアイコンをおき、ここから作業を開始できるようにする。この画面は、既存のディレクトリ構成とは相容れない立場のため、特殊な位置におかれるディレクトリを参照する形でデータの内容を定義する。
- デスクトップの背景に画像を貼付けたり、各種アクセサリを置くことで、視覚的に楽しませる要素となることもある。また、ここから直接機能するアプリケーションをおくこともでき、インターフェイスそのものが機能する、という場合もある(WindowsシリーズにおけるActive Desktopなどがその例である)
- ウィンドウ
- アプリケーションがデータを扱うためのグラフィカルインターフェイスにおけるひとつの単位となるもの。ウィンドウ内においては、アプリケーションとデータは一体化する。ここにおいて、アプリケーションを操作し、データを管理、生成、編集する。通常はメニュー、アイコンなどを周辺には位置し、中央にデータをおく。
- ウィンドウには、データやアプリケーションに応じてタイトルが付けられ、ウィンドウの最上部にタイトルがおかれる。一般的には、最大化、最小化(ウィンドウの消去、ただしデータは失われない)、最前面、シェード(タイトルだけの表示になる)などがサポートされ、これにより、ウィンドウの操作を簡単に行うことが出来る。
- SDI(Single Document Interface)
- ウィンドウにおいて、ひとつのデータをひとつのウィンドウ内に完結させる方式。この場合は、データの数だけ、ウィンドウが出力される。他のアプリケーションのウィンドウと突き合わせて利用できるが、その分だけ、ウィンドウの数が多くなり、管理が繁雑になる。
- MDI(Multiple Document Interface)
- ひとつのウィンドウ内において、複数のデータ管理を行う方式。この場合は、ウィンドウ管理が簡単になるが、作業の管理が二重になる。
- タブ
- MDIにおけるデータ管理方式のうち、データのタイトルをウィンドウ内に並べ、タイトルを選んで必要なデータだけを表示するもの。これにより、簡単にデータにアクセスできるようになる。
- メニュー
- アプリケーション、OSより指示できるコマンドを階層上に表現したもの。画面上部、または画面下部におかれ、そのアプリケーションから利用できるコマンドがほぼ全て配置される。通常は左に重要度の高いものがおかれ、右にいくにしたがって重要度は低くなる。コマンドの階層はアプリケーションにより異なるが、ファイル操作、編集の機能を重視して、それらのコマンドから左側からおかれ、右には、ヘルプなどがおかれる。マウスの第一ボタンによって操作する。
- コンテキスト・メニュー
- アプリケーションの用意した階層上のメニューとは別に、メニュー以外のところでマウスの第二ボタンなどを押した際に機能するメニューの事。ボタンが呼び出された位置に応じてメニューの内容が変化し、編集操作を簡単に行うことが出来るようになっている。
- アイコン
- データ管理アプリケーションにおいて、データを表現したもの、またはアプリケーションそのものを表現する場合もある。
- データ管理アプリケーション、すなわち、ディレクトリにおけるユーザーデータの管理や、特定のデータを管理を行うアプリケーションの場合、アイコンによりデータを表現する。通常は、データの中身や、データと関連づけられたアプリケーションを表現する。また、データのアイコンを通じて、アプリケーションの起動までサポートするのが普通である。
- アプリケーションアイコンは、アプリケーションの起動だけを行う。
- ボタン
- メニューのうち、利用頻度の高いコマンドを絵で表現し、アプリケーション内に配置したもの。
- アプリケーション上におかれるボタンは、普通はメニューの代わりをする。利用頻度の高いものからおかれ、メニューの階層を辿らなくてもその機能が使えるようになっている。ただし、ユーザーによりコマンドの利用頻度は異なるので、この配置を編集できるようになっているのが普通である。
[編集] その他
- ゴミ箱
- ファイル消去に対してフェイルセーフを果たすために、「ゴミ箱」などと呼ばれる機能を持つものがある。これは、ファイルの消去を行なう際に、一時的に別の場所に移すことで、誤ったファイル消去を未然に防ぐことが出来る。Macintoshでは、ゴミ箱はファイルだけでなく、さまざまなオブジェクトの削除の機能を持っている。
- アプリケーションランチャ
- GUI上からアプリケーションを呼び出す際に様々な方式があるが、いくつかのOSではメニュー形式のアプリケーションランチャを持っている。NEXTSTEPとMac OS Xでは、ドックと呼ばれるパレット型の機構を持ち、ファイルやアプリケーションの各種の情報を格納してクリックでそれらを呼び出せる。
[編集] グラフィカルユーザインタフェースにおけるタスク管理
グラフィカルユーザインタフェースにおいて、作業はウィンドウ単位に分割される。MDIとMac OSの場合を除いて、「ウィンドウの数 = タスクの数」であることが多い。このため、インタフェース全体で見た場合、どのようにしてタスク管理を行うかが重要になる。Windowsをはじめとしていちばん多い方式は、タスクバーと呼ばれる棒状の領域をデスクトップ上に用意し、ここに、各ウィンドウのアイコンやタイトルを並べるものである。これにより、視認性、操作性を確保しながら、多くのウィンドウを管理することが出来るようになる。他には、デスクトップ上のメニューに各ウィンドウを管理するメニューを追加する、デスクトップにタスクをアイコンで表示する、仮想デスクトップで見た目のデスクトップの数を増やすなどの方法がある。Mac OS XはDockでタスク管理を行うが、Exposéというウィンドウ一覧表示モードも併用されている。
[編集] ポインティングデバイスによる操作
グラフィカルユーザインタフェースの基本は、ポインティングデバイスによってカーソルを操作し、デバイスに付いたボタン(通常2〜3個)を押すことである。これにより、「位置」と「指示」を明確にし、視覚的な操作を行うことが出来る。
指示の内容は、カーソルの位置によって異なる。データ管理アプリケーションでは、第1ボタンは、カーソルの位置にあるデータを選択し、2回連続で押す(ダブルクリックする)ことよって、データに応じて適宜定義されたアプリケーションを呼び出し、処理を開始する。アプリケーションのメニュー、ボタン上では、そのコマンドを開始する。データ上では、データにおける操作の位置を指示する。
第2ボタンは、通常、どの場合でも、アプリケーションによって定義されたコンテキストメニューを出力する。このメニューを第一ボタンによって指示することで、そのコマンドを実行することができる。第3ボタンは、X Window Systemではよく使われる。
また、最近は第4ボタン、第5ボタンを装備したマウスや、第3ボタンがウィンドウに直接機能するホイール機能を兼ねているものがあり、適宜、アプリケーション又はOSによって定義された機能を提供する。
[編集] グラフィカルユーザインタフェースとキーボード
グラフィカルユーザーインターフェイスにおいても、キャラクターユーザーインターフェイスに劣らず、キーボードは重要なデバイスである。データの内容だけでなく、キーボードショートカットといった、インターフェイス操作を向上させる機能と連動させることで、操作性の向上をはかることもある。
[編集] グラフィカルユーザインタフェースと各種デバイス
上記にあげたデバイス以外にも、タブレットなどのペンデバイスによる操作もあり、特に画像データ操作において威力を発揮する。
[編集] タッチパネルによるグラフィカルユーザインタフェース
タッチパネルに表示されたボタンやアイコンに直接指やペンで触れることで、各種の操作を行うデバイスもあり、ATMなどで一般化している。カーナビゲーションシステムやニンテンドーDSでも使われ、直感的な操作に優れる。アップルのiPhoneは、複数の指を生かして操作するマルチタッチスクリーンインターフェースを実装している。
[編集] GUIを採用しているオペレーティングシステム/アプリケーション
- Smalltalk
- Mac OS
- NEXTSTEP
- Mac OS X
- Microsoft Windows
- X Window System (Unix系OS、Linux)
- BTRON
- TownsOS
- MSX-View
- SX-Window
- BeOS
- Newton OS
- Zaurus OS
- Palm OS
ほか、多数。