見出し画像

UIの論文を読む "Method of User Interface Design Based on Semantic Approach"

UI設計ってこれといって確立されている方法論が存在しなくて、結局は「いっぱいUIパターンの引き出しを持っておいて、ユーザーの想定行動シナリオに沿ってそれを並べる」みたいなやり方になってしまっていて、別に悪くはないんだけどなんか「これが最適解なのか〜?」というお気持ちになっていた。そんなところに "Method of User Interface Design" と題した論文、しかもわりと新しいやつが目に入り、さらに "Semantic Approach" とか気になることを言っているので読んでみることにした。

が、いまのところ結論としては「ふ〜ん、それで?」という感じだった。知識不足かもしれないし英語読解力不足かもしれないし、とりあえず読んで自分なりに理解した内容を書いていく。本来の構造としては逆だが、感想をblockquoteで書く。

なぜUI設計に方法論が必要なのか

明示されていないが、この論文が対象としているのは「業務システム」のUIであるっぽい。「システムは専門家の手作業を自動化するものであり、インターフェースはその根幹を成す」といったことが書かれていることから読み取れる。そして当たり前だが、この論文では「UI設計には確立された方法論が必要である」という立場が取られている。現状はUIの設計者がユーザーの要求、その分野の特徴、技術要件などの複雑な条件を経験的にまとめあげるため、その構築プロセスは規格化されず、開発するのも保守運用するのも時間がかかるものになってしまっている。この論文によると「システム開発にかかる時間の半分以上はインターフェースの開発に費やされている」らしい。こういったプロセスの複雑さを少なくするため、プロセスの規格化が必要である、と主張されている。

きちんとした方法論が確立されることのもうひとつのメリットとして、エンドユーザーがUI設計のプロセスに参画できるようになることが挙げられている。最終的なUIが厳しいものになってしまうのは、UI設計者とユーザーの間でドメインの理解においてギャップが存在するからである。が、UI設計のプロセスが意味不明なのでユーザーが参画できず、ユーザーのドメイン理解を反映できない。きちんとユーザーの要求を満たすためには、ユーザーに理解できる形式でドメイン理解を記述する必要がある。

ここまで読んだ感想としては「せやな」である。ユーザーにUI設計の役割を担わせすぎるのはいかがなものかという気持ちが個人的には存在するが(ユーザーにも仕事はあるんやぞ)、方法論が存在しないので属人的な設計になり、結果あとから修正するにしても設計経緯を調査するところから始めなければならないという状態はよくあるよなという気持ち。

ユーザーの活動を記述する

論文ではオブジェクト指向UI設計の話に少し触れられている。オブジェクト指向は現実世界で人間が認識する物体の振る舞いに沿ってモデル化が行われる。しかしユーザーは物体の振る舞いすべてを簡単にイメージすることができない。あくまでユーザーがその物体をどう操作するのか、という部分だけを取り出す必要がある。また、そのオブジェクト同士の振る舞いの関係性を記述すると、ひとつひとつのオブジェクトとユーザーのインタラクションが見えづらくなってしまっている。オブジェクトはあくまでユーザーが目的をもって行う行動の文脈でモデル化されなければならない、と主張しているように見える。

ユーザーの行動を記述する、というのがミソなのだけど、この論文の手法における特徴はドメインにおけるユーザーのタスクとそれが行われる対象としてのオブジェクトの両方をひとつの形式でまとめて記述するということらしい。両方をひとつの形式で記述することで、UI設計者もユーザーも両方が理解しやすいものになる。

このあたりから「そうか?」という気がしてきた。オブジェクト指向であっても別にそのオブジェクトの振る舞いすべてを記述しようとはしておらず、そのオブジェクトをユーザーがどう取り扱うか、という観点でモデル化される気がしているのだけど…。オブジェクト指向の理解が足りないのかもしれない。あと単純に話が抽象的なのでイメージしづらい。

UI設計方法

では実際、どのようにユーザーの行動を記述し、それをインターフェースに落とし込むのか。大きく分けて4つのステップで進んでいく。

1. インターフェースにおいてモデル化されるべきユーザーの機能(user functions)を選定する
2. 1で選定した行動をモデル化し、それをインターフェース上で表示するためのメカニズムライブラリ(mechanism library)の作成
3. インターフェースデザイン:インターフェースの要素をつくり、それら同士の関係性を構築する
4. 2と3をもとにインターフェースを実装する

1. インターフェースにおいてモデル化されるべきユーザーの機能(user functions)を選定する
まずドメインの専門家であるユーザーが、そのドメインで行われる行動を列挙していく。そこで列挙された行動を行動メカニズム(action mechanism)の形式で記述する。そしてその行動メカニズムの中から、システムで効率化すべきもの、すなわちインターフェースで表現されるものを選び、それらをインターフェースの操作自体の行動メカニズムに変換する。この変換は「ユーザーが実際にインターフェースを通してこれらの機能を実行するやりかたにしたがって (According to the way of how the user will perform these functions in the interface)」行われるらしい。

まったくわからん。行動メカニズムについての説明は一切ないし、functionが何を指すのかもいまいちわからない。このへんでこの論文をチョイスしたことを後悔しはじめた。

2. 1で選定した行動をモデル化し、それをインターフェース上で表示するためのメカニズムライブラリ(mechanism library)の作成
1で記述された行動メカニズムに対して、主にUI設計者がそれに適したインターフェース要素を選択する。その選択の際、どの行動とどの行動に同じようなインターフェースが適用されるかは、その行動の持つ意味の類似を考慮する。これによって、インターフェースとユーザー行動の対応関係がつくられ、設計者とユーザーが同じ記述を見て対話を行うことができる。

その「適したインターフェース要素を選択」するためのやり方が知りたいなーという気持ちしかなかった。

3. インターフェースデザイン:インターフェースの要素をつくり、それら同士の関係性を構築する
4. 2と3をもとにインターフェースを実装する
1と2をからできた活動とインターフェースの関係性から実際にインターフェースやプロトタイプを作っていく。

なんかそれっぽい図(action mechanismの構造:g-goal、e-element、f-function, i-instrument, r-result / PrD - problem domain / Int - interface)Method of User Interface Design Based on Semantic Approach (CSOC2018 2018: Software Engineering and Algorithms in Intelligent Systems pp 311-318)

この手法の事例として「児童心理学者が児童に対してテストを行う」ためのシステムのインターフェース設計が記載されている。上の図はその時に作られたものらしいが、結局どのようにプロセスが進められたのか理解できなかった。

読んだ感想まとめ

結局、「対象ドメインにおけるタスクの整理」をドメイン専門家が行い、「それに対するインターフェース検討」をUI設計者が行う、という現行よく行われているやり方とあまり変わらないのでは?という感想だった。それだとUI設計者の進め方としては冒頭に挙げた「いっぱいUIパターンの引き出しを持っておいて、ユーザーの想定行動シナリオに沿ってそれを並べる」のと何ら変わりはない。主に「活動を記述することでUI設計者以外も参照しやすくなる」ことに手法としての重点が置かれていて、「具体的なGUIをどう構築するのか」というところはあまり範囲に含まれていない論文なのかな?という印象もあった。ただ、下敷きとなっている研究がいくつかあり、それらを見てみる必要もあるのかもしれない。気が向いたら読む。
Model-Based User Interface Design (Dr. ingeniøravhandling, 0809-103X; 2002:62)
Acting with Technology: Activity Theory and Interaction Design 2006


この記事が気に入ったらサポートをしてみませんか?