Since: 31st/Oct/2002
現在使われているソフトウェアの殆どは GUI を備えています。GUI はグラフィカルなユーザ・インタフェース(UI)、ユーザと機器を仲介する界面です。見栄えをクールでグラフィカルに作成することが目的なのではなく、提供する情報に素早くアクセスし、利用者の生産性を高めることが目的です。
一見アーティスティックでクールに見えても、次の動作の予測がつかないインタフェース、ユーザに不要なアクションを要求するインタフェース、統一感の無いインタフェースは全然クールじゃないのです。
ソフトウェアの目的はデータを情報として意味付けして利用することにあるため、提供する情報の種類に応じて、最適なデザインは異なります。習得しやすいデザインと、習得後に最大限の生産性が得られるデザインは異なります。また、個人によっても異なります。
一見のカッコヨサだけを追求すれば、情報の全体を把握しづらくさせ、生産性を低めるでしょう。初心者の利用のしやすさだけを求めれば、習得後の生産性が犠牲になるでしょう。また、事務とITエンジニア、生産と開発、保守と生産、開発と営業、文系と理系、男と女、大人と子供では培った経験に応じて直感が異なるのも当然です。
インタフェースのデザインは初心者に優しい直感的モデルと熟達者の生産性を向上させる理論的モデルの二つに分類できますが、いずれにしても、利用者が「当然期待する」機能性を提供することが重要です。当然期待するところのものは利用者の経験に応じて異なりますが、これを認知心理学ではメンタルモデル(mental model)と呼び、ソフトウェアのインタフェース・デザインでは必須の概念になっています。
メンタルモデルとは利用者が情報に対して心的に構築する動作のモデルのことであり、メンタルモデルに合致したシステムは直感的に把握しやすく、人の生産性を向上させます。反対に、メンタルモデルを裏切る動作があると、当該の作業に関する部分だけではなく、システム全体に対する不信感を生み、利用者に全体の見直し/メンタルモデルの再構成を迫ります。その結果、利用者の生産性が著しく減退することは言うまでもありません。
以上の意味で、優れたGUIとは、利用者のメンタルモデルに合致、または利用者にメンタルモデルを構成しやすくするものであり、更には利用者に快感を与えるものを指します。後者は特にユーザエクスペリエンス(user experience)と呼ばれます。
突き詰めれば、GUIの目的は、提供する情報を利用者に最大限の効率で利用させ、人を含めたシステム全体の生産性を最大化することです。そのためには、想定する利用者に対して、比喩、暖色/寒色、文字や部品の大きさ、リスト/テーブルなどのナビゲーション方法を適切に選択し、提供する情報に対して最小の労力/時間/コストで最適なメンタルモデルの構築を促し、ユーザエクスペリエンスを高める必要があります。
GUIをクールにすること、即ち、人を含めたシステム全体のスループットを最大化し、使ってキモチイイということと同時に、万人にアクセス可能であるように配慮する必要もあります。万人というのは、個人的に構築したメンタルモデルの異なる全ての人、ということではなく、身体的ハンディキャップ、文化的/宗教的/世代的差異を持つあらゆる人々ということです。このようなコンセプトに基づいた設計/デザインをユニバーサルデザインといいます。アクセシビリティという言葉も遣われます。
情報システムにおけるユニバーサルデザインは、情報デザインとユーザ・インタフェースを分離することで実現されます。提供する情報の最適な構造を設計しておき、これを利用するためのインタフェース部分は、複数用意しておいたり、必要に応じて変更可能にしておいたりします。逆に、情報デザイン/システムロジックとユーザ・インタフェースを一体化すると、ユーザの要求に応じて柔軟にインタフェースを変化させることが不可能になります。
ユニバーサルデザインはもともと建築/空間設計の分野でブレイクしたのですが、ウェッブではW3C の WAI (Web Accessibirity Initiative) というところがガイドラインを出しています。このサイトを斜め読みすれば、ユニバーサルデザインについては一望できる優れものなので、IT 分野の方には、是非訪れていただきたいところです。
内容と表現を分離するという発想は、MVC モデルと呼ばれるものと密接に関連しあっています。MVC モデルは、ソフトウェアの GUI 開発で提唱された古い概念で、現在ではサーバサイドのアプリケーションの設計規範として使われています。
MVC モデルでは、ソフトウェアを、モデル/ビュー/コントロールの三つの部分に分割します。ビューがユーザとの境界になり、モデルは DB などのバックエンド部分との境界になります。コントロールが、ユーザのリクエストを受け取ってビューとモデルとの間を取り持ちます。一般に、モデルは価値が高く永続的で、ビューは表層的で時流に左右されやすいもので、コントロールは一般的で再利用されやすいと言えます。コントロールによってモデルとビューを分断することで、この特徴を高めることができます。
HTML/XHTML 文書の場合は、モデルである文書、ビューであるスタイルシート、コントロールであるユーザエージェント(ブラウザ)ということになります。HTML/XHTML ファイルに内容を記述して、CSS で見栄えを指定すれば、文書の内容を変更することなく、見栄えだけを変更することが可能になります。「イイタイコト」が変わることが少なくとも、見栄えを変えたいことの方が多いでしょう。
例えば、レストランで、料理はモデルで、看板/トッピングはビューで、サービスがコントロールです。優れたマネージャやフロア担当は、どの店でも優れており、店が変わっても再利用可能でしょう。料理はできることとできないことがあって、そう易々と変更可能なものではなく、長年の蓄積と弛まない研鑽が必要でしょう。看板や内装は、夏ならば寒色/冬ならば暖色のように柔軟に変更されるでしょう。料理が変わるから看板が変わることはあっても、料理を変えなければならない看板の変更はありえません。美味くてもサービスが駄目なら駄目な店だし、内装が拙ければ食欲が減退するでしょう。何れに価値があるということではなく、各々がなすべきことをなすべきであって、これらの間に上下はありません。
ブラウザ=コントロールはプロダクトとして提供されています。JavaScript のようなクライアントサイドのものも、チップスとして再利用可能な断片が数多あります。残りのモデルとビューに関して、内容(モデル)と表現方法(ビュー)が分離していることは、ユニバーサルデザインの観点でも、望ましいことです。
ウェブ・ページのビジュアル・デザインは未だに日進月歩の黎明期です。ビジュアルデザインは長らく紙媒体が専業で請け負っていたので、雑誌に見られるようなクリップ型(矩形領域を任意に配置するデザイン形式)が主流でした。しかし、ウェブではクリップ型のデザインは通用しません。ブロードバンドと言っても、1 Mbps 以上をコンスタントに出せるユーザは未だ限られているので、PDF や FLASH などの視覚的デザインを主力にすることには問題があります。
ウェブでのユーザは、ブラウズに巡回経路を設けて限られたサイトしか閲覧しないか、明確にほしい情報があるかの何れかの場合が殆どだといいます。新規のユーザはもちろん後者に分類されます。したがって、Welcome ページからクリックしないとテキストが表示されない、ビジュアルのためだけに読み込みに時間がかかる、テキストでない、コンテンツのメニューが一望できないなどのサイトは、潜在ユーザを遠ざける、無駄な努力をしているかもしれません。この事情はエンターテイメント系でも同じです。ユーザの判断とアクションを減らせば減らすほど優れた GUI だと評価できます。
ユーザのエクスペリエンスを向上させるような、アクションを要求して楽しませられるコンテンツを作る努力は、まずアクセシビリティー/ユニバーサルデザインを実現した後の段階のことです。この点では、紙媒体に比べてウェッブの視覚デザインの敷居が高いと言えるでしょう。しかし、それだけユーザの裾野が開けている証でもあります。
視覚デザインに関する書籍も最近は普及しているので、関心の無い方はご一読されるようにお勧めします。なにしろ、ユーザが直接接するのは、見栄え/レンダリングというインタフェースです。内容が優れていれば良いと言うわけではありません。ユーザにかけがえの無い時間を消費させている以上、利用して楽しかった/良かったというエクスペリエンスを提供することも大事なことです。デザイナー志望の方には、アイクセシビリティ/ユーザビリティを、エンジニアの方には視覚デザインの重要性を、ぜひともご認識いただきたいと思います。