オブジェクト・アクション・インターフェース( OAIと略されることもある)は、グラフィカル・ユーザー・インターフェースの拡張機能であり、特に直接操作型ユーザー・インターフェースに関連しており、より優れたヒューマン・コンピュータ・インターフェースを作成し、製品のユーザビリティを向上させるのに役立ちます。
このモデルは、アクションよりもオブジェクトの優先順位を重視します(つまり、最初にオブジェクトが選択され、次にそのオブジェクトに対してアクションが実行されるという考え方です)。OAIはこのモデルに準拠しています。
OAIモデルは、メタファーを用いてユーザーの作業環境をグラフィカルに表現し、ユーザーがオブジェクトに対してアクションを実行できるようにします。作業手順は、まずグラフィカルにオブジェクトを選択し(マウスなどのポインティングデバイスを使用)、次に選択したオブジェクトに対してアクションを実行するという流れです。アクションの結果/効果は、グラフィカルにユーザーに表示されます。このようにして、ユーザーはメモリの制約やアクションの構文の複雑さから解放されます。さらに、WYSIWYG(見たまま編集)をエミュレートします。OAIのこの機能により、ユーザーはアクションの順序を制御し、実行時に効果を視覚化できます。アクションによって望ましくない結果が生じた場合は、ユーザーはアクションの順序を逆にするだけで済みます。
アクション・オブジェクトモデルでは、コンピュータは様々なアクションを実行するためのツールとみなされます。一方、オブジェクト・アクションモデルでは、ユーザーはオブジェクトに対して直接アクションを実行することで制御感を得ます。この場合、コンピュータは様々なツールを表現する媒体とみなされ、それは現実世界のオブジェクトとのインタラクションと同型です。
OAIモデルの設計は、システムが実行するタスクを検討し理解することから始まります。タスクの領域には、ユーザーが特定の目標を達成するために使用するオブジェクトの集合と、ユーザーが実行できるすべてのアクションの領域が含まれます。これらのタスクオブジェクトとアクションについて合意が得られたら、設計者は対応するインターフェースオブジェクトとアクションの同型表現の作成に取り掛かります。
上の図は、デザイナーがユーザーの世界のオブジェクトをメタファーに、アクションを計画にマッピングする方法を示しています。インターフェースのアクションは通常、ポインティングデバイスまたはキーボードによって実行されるため、ユーザーが自分の計画をポインティング、クリック、ドラッグなどのアクションのステップに分解できるように、視覚的に表示する必要があります。
このように、DMUIは現実世界の状況をスナップショットのように捉え、ユーザーの自然な作業手順をインターフェースを通してマッピングします。つまり、ユーザーは一連の操作手順を記憶する必要がなく、新しい作業モデルに慣れるのに必要な時間を短縮できます。さらに、ユーザーの記憶負荷を大幅に軽減し、ユーザビリティを向上させます。
タスクは、さまざまなレベルのオブジェクトとアクションで構成されます。オブジェクトとその関連アクションの位置的階層は、すべてのユーザーに適しているとは限りませんが、理解しやすい構造になっていることで、大きな利便性を提供します。
複雑な問題を解決する最も自然な方法は、それを複数のサブ問題に分割し、それぞれを個別に解決することです。そして、それらの解決策を組み合わせることで、主要な問題に対する解決策にたどり着きます。これは基本的に、問題解決における分割統治法です。このアプローチは、現実世界でユーザーがタスクを実行する際にも用いられています。複雑なタスクは、単純なタスクに分割されます。このように、階層構造の中で異なるレベルを管理することで、プロセスが簡素化されることは容易に理解できます。この方法を通して、ユーザーは実装上の問題を考慮せずにタスクを実行することを学びます。
ベン・シュナイダーマンは、デザイナーが適切なタスク階層を構築するために、以下の手順を提案している。
この階層構造はタスク階層構造と類似しており、以下の要素を含んでいます。
システムとやり取りするユーザーは、ファイル、ボタン、ダイアログボックスなど、コンピュータ関連のオブジェクトの基本的な概念/モデルを構築します。また、オブジェクトの特性と、その特性を通してオブジェクトを操作する方法についても、簡単な経験を積みます。さらに、コンピューティングの目的を達成するために、これらのオブジェクトに対してアクションを実行する方法を学びます。このようにして、インターフェースのリソースを表すオブジェクトの階層構造が維持されます。
この階層は、インターフェースオブジェクト階層で割り当てられたコンピュータのドメインに関連するオブジェクトに対して実行できる複雑なアクションの分解された低レベル単位で構成されています。階層の各レベルは、異なるレベルの分解を表します。テキストファイルを作成するための高レベルの計画には、ファイルの作成、テキストの挿入、ファイルの保存などの中間レベルのアクションが含まれる場合があります。ファイルの保存という中間レベルのアクションは、バックアップコピーとともにファイルを保存することやアクセス制御権限を適用することなどの低レベルのアクションに分解できます。さらに低レベルのアクションには、ファイル名の選択、保存先のフォルダの選択、容量不足などのエラーの処理などが含まれる場合があります。
ユーザーがインターフェースのオブジェクトや操作を習得する方法はいくつかあり、例えばデモンストレーション、セッション、試行錯誤などが挙げられます。これらのオブジェクトや操作が、他の馴染みのあるタスクオブジェクトや操作と関連付けられる論理的な構造を持っている場合、その知識はユーザーの記憶に定着します。
OAIモデルは、ユーザーが特定のタスクを実行するためにインターフェースを正常に使用する際に必要となる複雑なプロセスを、設計者が理解するのに役立ちます。設計者は、馴染みのある例に基づいてインターフェースのアクションとオブジェクトをモデル化し、タスクとユーザーに合わせてこれらのモデルを微調整します。