2019年04月11日

UIについて-性能・後編


初めての方はこちらを「はじめに

UIについて-性能・前編」のつづき

前回は「分かりやすさ」の基本的な要素を見てみました。それらを一階部分として今回は二階部分にあたる総合的な項目について見て行きます。
二階というのは基本的な要素である一階の内容を色々と積み上げて出来上がっているという意味合いです。なので色々なパターンが存在すると思います。綺麗に体系化できるものなのか、はたまた既に存在するものなのかどうかは良く分かりません。
ここではどんな感じのものなのか例を挙げてみます。

新しい概念


総合的な項目の一つとして「新しい概念」というものがあるように思えます。もし概念というのが抽象的で分かりづらい場合には、表示や操作の新しい方式と考えればいいかもしれません。

例えば昔、パソコンが普及し始めた頃にパソコン教室でこんな話がありました。講師がマウスを皆に見えるように持ちながら説明して「同じように操作してみてください」と言ったら、生徒であるご年配の方が同様にマウスを持ち上げて空中で操作していたというものです。マウスを知っている人間からすれば笑い話ですが、知らない人間からすれば新しい概念というものがいかにハードルの高いものなのかが分かります。

ソフトウェアには新しい概念が沢山あります。メニュー、ツールバー、リボン、キー操作、マウス操作…ターゲットのユーザーにとって何が新しい事なのかを考える必要があります。そしてそれをなるべく減らす必要があります。
その様な観点から私は全ての機能は必ずメニューから操作できるべきだと考えています。
右クリックで何か出来たりとか特定のマウス操作で何か出来たりとかいう事は別に悪くはないのですが、そういう新しい操作方法を覚えなくとも、メニューの操作方法さえ知っていれば何でも出来るようになっていれば、ユーザーにとってやさしい事になっているはずです。
新しい操作方法は、それを覚えればより効率的だったり、より早かったりという「より良い」という位置づけになっていれば問題ありませんが、「その操作方法でしか出来ない」というのでは、必ずその新しい操作方法を覚えなければならなくなります。

例えば、おそらくなのですがATMのUIはそのようなポリシーで設計されているのではないでしょうか?
操作の方式としてはタッチですが、エレベーターのボタンの様にタッチで操作するのはハード的な操作としても日常的な事です。入力の構成要素としては確認のボタン、数値入力のテンキーですが、これもやはり日常的に操作する機器に存在します。
つまりソフトウェアについて何も知らない人々が日常的に物理的な機器を操作する範囲の方法になっているのではないでしょうか。ちゃんと検証した訳では無いので確かな事は言えませんが、ATMのターゲットとするユーザーのレベルを「ソフトウェアを知らない」人々に設定したとしても不思議ではありません。

直感的


もう一つ総合的な項目として直感的である事を挙げたいと思います。
直感的である事が分かりやすいのは明らかですが、それを理論的に体系づける事が出来ず、感覚的に捉えるしかありません。UIの出来が最終的には実際に操作してみないと判断できないのはこういう部分が大きい気がします。
感覚的ではありますが少し考察をしてみると、結局それまでの人生で何度も繰り返し経験してきた事が直感という感覚として記憶されているのではないかと思えます。仮にこの考えに基づくと以下の様な説明が可能です。

最も基本的な直感的な感覚は自然そのもの

例えば物は右向きに押せば右に移動するし左向きに押せば左に移動します。これは自然の姿、つまり物理法則そのものです。従って右向きのカーソルキーを押したのに左にカーソルが動くとかでは違和感があります。
同様になぜ「>」は右向きを表すのかと言えば、やはり矢にしろ船にしろ尖っている側が進む方向だからだと思われます。なぜ尖っている側が進む方向かと言えば、その方が抵抗が少ないからです。やはり物理法則そのものにまで辿り着きます。
結局全ての人が自然の法則の中で生きているので、最も経験している事柄であり、かつ人によって違いもありません。

経験する回数が多ければ直感的な感覚になる

物理法則まででは無いにせよ、人間が作ったものでも非常に多く経験するものは直感的な感覚になります。例えば信号です。誰でも青はOKで赤はNGという感覚になるのではないでしょうか。

直感が経験の積み重ねだろうと思わせる例があります。
「〇」と「×」は誰でもOKとNGという感覚になると思いますが、実はこれは日本人だからです。ゲームのコントローラーのボタンに「〇」「×」を採用しているものがあって、日本では当然「〇」が決定で「×」がキャンセルの意味になりますが、アメリカ版では逆になっていて「×」が決定で「〇」がキャンセルになっているものがあります。(「〇」「×」が逆というよりも日本の「〇」は「」(チェック)に該当するようです)
こういう例は幾らでもあります。
例えば「1,234」はかなりの国で千二百三十四では無く一点二三四の意味になります。つまりカンマは小数点の記号なのです。更に三桁カンマがピリオドの場合もあるので「1.234,56」などとなって日本人には違和感しかありません。
この様に人間が作り出したものは直感的ではあるものの全ての人に共通的になるとは限りません。

従って直感的な感覚について議論すると意見が一致せず揉める可能性があります。
例えば大小の位置関係については、自分の場合は数直線とか座標平面の感覚が強いので、左下が小、右上が大というイメージが非常に強いですが、これは人によってかなり違うかもしれません。

留意点


前回と今回の二回にわたって性能(=簡単さ)について述べてきましたが、幾つか意識するべき事を挙げてみます。

「分かりやすさ」を優先する

まず、前回「簡単さ」とは「分かりやすさ」と「楽さ」ではないかと説明しましたが、もしこの二つを天秤にかけなければならない時は「分かりやすさ」優先するべきだという事です。
これは一般的に言えることですが「少しの複雑な事より多くの単純な事の方が簡単」です。言うなれば「質より量」です。
例えばメニューなどには良く、キー操作一発で実行できるように「Ctl+○」などのアクセラレーターが設定されていますが、これを覚えて一回で操作できるのと、カーソルキー三回で操作できるのではどちらが簡単でしょうか。熟達した人にとってはアクセラレーターは便利ですが普通の人にとってはカーソルキーの方が簡単なはずです。何しろ覚える必要が無いですから。
この例のように両方提供できる場合は問題ないですが、一つだけなら「分かりやすさ」を優先するべきです。

更に、分かりやすさの中でも、前回挙げた一階部分である基本的な要素をより優先するべきです。これは基本的な要素はルールとして確立できますので、「仕様とはルール」で述べた様に、より仕様として相応しいからです。

過度に「直感的」に拘らない

考える事無く直感的に操作できる事は勿論良い事です。しかし先程見た様に直感というのは経験に根差していると思われるので論理と衝突する場合があります。つまりルールとして確立しようとする仕様とぶつかってしまう事がある訳です。
この時に安易にルールを諦めるべきではありません。
例えば各ダイアログでリサイズするかどうかをルールとして決めたとします。仮に「テキストボックスがあった場合にリサイズする」というルールに決めたとします。そして、プロトタイプで作った現物で触ってみたらどうも「今一だ」と「もっとリサイズしたい所がある」となったとします。さて、この時にルールを破棄してリサイズしたいと思ったダイアログをリサイズする仕様にするかどうかという問題です。ここで主張しているのは安易に破棄してはいけないという事です。
仕様にルール(論理)が通っていない事ほど将来に禍根を残す事はありません。しかしだからといって使い勝手が悪いものは悪い訳なのでなんとかしなければなりません。その場合はルールのバージョンアップを試みるべきなのです。
例えばテキストボックスが無いダイアログでなぜリサイズしたいのか調べたら、長いメッセージを二行位の狭い領域でスクロールしながらちまちま表示していたからだったとします。それならばルールを「スクロールする部品が存在する場合」という風にバージョンアップさせれば、全ての「リサイズしたい」という感覚のダイアログと一致するかもしれないのです。このように簡単に諦めてしまうのではなく出来る限り粘るべきです。どこまで粘るかは能力次第ですが、一つ言えるのは直感的というのは経験に基づいているので、使っていれば逆に慣れてくるという事も言えます。そういう意味では最初は感覚とマッチしないようなものでも、使っているうちに慣れるものならば問題ないと割り切る事もできます。

ターゲットのユーザー像は重要

繰り返しになりますがターゲットのユーザー像がどのようなITスキルを持っているのかを規定する事は重要です。先程のATMの例の様に、それによってUIの仕様は大きく変わります。

根拠を持って判断する

データ処理などの機械相手の仕様を検討するのと違って、UIの場合は「分かりやすさと楽さ」、「論理と直感」、「始めるのが簡単か慣れるのが簡単か」など、いくつもの矛盾する要素を解決して行かなければなりません。
なるべく両立するべく検討するべきですが、それは困難が伴うのでやり切れない事もあります。その場合にどうするかは「根拠をもって判断する」という事が重要だと思います。UIだからといって「なんとなくこっちがいい」とか「あっちがいい」というのではただの思い付きになりかねません。

最後に


UIについて四回にわたって述べてきました。
UIの性能という考え方は少し分りづらいかもしれませんが、何回か述べた様に要は「簡単さ」と考えてもらえれば良いと思います。一般にUIについて一番議論するであろう内容そのものだと思います。
わざわざ「性能」という概念を持ち出したのは一つには逆に「機能」側を分離したかったからです。性能については色々な要素のせめぎ合いで、バランスを持って矛盾を解決する必要があるので色々と議論が起きる事だと思いますが、機能については「人間の特性」という部分が議論の対象なだけで、対する仕様自体にその様な議論がある訳ではありません。例えば「人間はミスをする」という特性に対しての仕様は普通にデータ処理などの仕様を検討する事と大差はなく、「分かりやすさ」を議論するのとは一線を画します。このように全然違う機能的要素と性能的要素を混ぜこぜにして議論してしまうと混乱するばかりです。

もう一つはユーザーの操作時間が大枠では簡単さの指標になりそうだからです。
なんとなくイメージとしてユーザーの操作時間を思い浮かべれば簡単かどうかがある程度判断できそうな感じです。実はそういう意味では、今回は基本的には画面の仕様について述べてきましたが、性能をアップする(操作時間を短くする)にはもっと広い視点が必要です。例えば操作の途中で分からなくなってしまったらヘルプシステムが必須です。どの様なヘルプシステムを用意するかで「性能」が大きく変わります。またユーザー毎にカスタマイズ出来るようにもしたいところです。なぜならユーザー毎に「直感」は違いますから、それぞれに対応できないと「分かりにくく」なります。このようにより広範囲な視点が必要ですが、この辺は近年で言うところのUXの概念と被るのかもしれません。もっとも、「性能」という指標は更に広い視点ではあります。例えば「性能」の行き着く先として最高の状態を考えた時に、それは時間で言えば「0秒」という事になります。つまりユーザーが「○○を実行したい」と思い立った時にはもう実行した結果が出ているという事です。その為にはユーザーが思い立つ事を先読みして実行しておく必要があり、もはやSFの世界ですが、現在のAIコンシェルジュなどを見ると方向性としては悪くないような気がします。


シリーズ


1.UIについて-概要
2.UIについて-機能
3.UIについて-性能・前編
4.UIについて-性能・後編

一覧


メニュー

関連


性能はどの工程で確保するべきか


記事を広める



posted by 善 at 12:49 | Comment(0) | 仕様 | このブログの読者になる | 更新情報をチェックする
スポンサーリンク
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。