Palm Programmer's Laboratory
Zen of Palm/1-2
1-2 デザインの実践
ついに私達の哲学が明らかになりました。それでは、デザインの実践について見ていくことにしましょう。より曖昧で奇妙な謎かけを考えてみることにします。
なぞかけ2 Q:山をティーカップに収めるにはどうすればいい?
ヒント:なぜ山をティーカップに入れるのでしょう?
「多いほど良い」という PC の発想にとらわれている限り、この謎を解いてより良いハンドヘルド製品をデザインすることはできないでしょう。「小は大を兼ねる」という思考により、一歩さがって何が重要かを自問するのです。Palm OS ではなにが重要になるのかを、これから探求していくことにしましょう。
機能のバランス
Palm の初期の製品は、キーとなる以下の品質において絶妙なバランスを実現したために成功することができました。
- ポケットサイズ
- 素早いレスポンス
- 簡単に使える
- 低コストで高価値
- 安心できるバッテリ寿命
- PC とのスムーズな接続
これらの品質は単独でも重要なものですが、Palm はこれら全てをバランス良く統合して実現しています。Palm 登場以前は、ある特色を追及することで他の全てを台無しにしてしまう傾向がありました。例えば、データバンクオーガナイザーは小さくて速く、安価でバッテリの持ちも良かったのですが、使うのが難しかったために最後は引き出し行きとなってしまいました。Newton や Magic Cap 製品は簡単に使えたものの、大き過ぎてコストも高く、バッテリ消費も酷いものでした。Palm OS 製品は上記リストの品質全てを盛り込む必要があったのです。
オリジナルの Palm デバイスがこれらのキーとなる品質を盛り込むことができたのは偶然ではなかった、ということを指摘しておく意味はあるでしょう。これらのデザイン目標は前もって計画されていたのです。すなわち、それは意識せずに持ち歩けるほど小さくなければならず、すぐに簡単に理解できなければならず、素早く PC に接続できなければならず、バッテリは長時間持続しなければならず、顧客がお金を出す気になるような価格でなければならなかった、ということです。
キーとなる品質のリストはユーザーの実益に着目しています。それを作り出すための技術的な特徴を重視しているのではありません。PC 製品の開発は通常正反対のところから始まります。スタートラインにあるのは格好良く聞こえる技術的な特徴のリストなのです。500MHz とか、128MB とか、12GB とか。ユーザーがこれらの特徴から得る実際の利益は、それほど明確なものではありません。
- POINT
- ユーザーの実益にフォーカスする
Palm OS 製品は、技術的な機能の総数によってではなく、ユーザーの実益というメリットによって成功を収めました。Palm OS においてキーとなるユーザーの実益と、オリジナルの Palm ハンドヘルドでこれらの実益を作り出した技術的な特徴の関連を表 1.1 に示します。
表 1.1 ユーザーのニーズが技術的な特徴を決定付ける
ユーザーの実益 | それを可能にした初期 Palm ハンドヘルドの技術的特徴 |
---|---|
ポケットサイズ | ・小さなディスプレイ ・ハードウェアの高度な統合 ・小さなソフトウェアサイズ ・コンパクトなデータ構造 |
早くて簡単 | ・コンパクトでタスク指向のソフトウェア ・ソフトウェアの低オーバーヘッド、低抽象化、低モジュール性 ・同時に実行されるアプリケーションは1つだけ ・データは RAM 上の低オーバーヘッドなデータベースに格納 ・Graffiti 手書き入力 ・最小限の同期時間 |
低コストで高価値 | ・安価なコンポーネント ・小さな RAM と ROM のサイズ *1 ・最小限のハードウェア拡張 ・初期製品ではセカンダリストレージは割愛 ── 後続モデルでサポート *1 |
安心できるバッテリ寿命 | ・静的/擬似静的 RAM ・小さな RAM と ROM のサイズ *1 ・自動電源断 ・初期製品ではセカンダリストレージは割愛 ── バッテリ問題解決後の後続モデルでサポート *1 |
PC とのスムーズな接続 | ・統合され、協調動作するハンドヘルドと PC アプリケーション間の同期処理 ・アプリケーションによる変更追跡が容易で同期処理中のハンドヘルドの処理負荷が少ない共通データマネージャデザイン ・単一のセッションであらゆる種類のデータを同期するカスタマイズコンジット ・シリアル接続または USB 接続を介した同期処理 |
- *1
- 現在の Palm ハンドヘルドでは拡張スロットとシリアルポートが装備されている。
解脱:スイートスポット
ハンドヘルド向けのアプリケーションをデザインする場合、どの機能を追加してどの機能を除外するかを注意深く決めなければなりません。機能をたくさん追加しすぎると使い勝手が悪化するというハンドヘルドの本質に関する先の議論を思い出して下さい。例えば、アプリケーションに機能が多過ぎると、比較的小さな画面がボタンやらアイコンやらで混雑することになりかねないのです。
製品には使い勝手を最適なものにするだけの十分な機能が必要ですが、それ以上ではいけません。全体的な使い勝手を向上させるためにいくつかの面白い機能を除外しなければならない場合もあります。機能と使い勝手の最適なバランスを実現するスイートスポットは、図 1.4 に示す機能対使い勝手のグラフにおける曲線の頂点に現れます。
- POINT
- 機能と使い勝手のバランスをとること
図 1.4 機能追加における別の見方
最適な機能セットを決めることは、山の中からダイヤモンドを発掘するようなものです。山全体を欲してはいけません。重要なものだけにしておくのです。
図 1.4 のグラフは PC 思考とハンドヘルド思考の間にある違いを思い出させてくれます。PC 思考の人は機能の軸だけを追及します。彼らはそれらの機能がユーザーの実益に適うのかどうかや、新しい機能によって使い方が複雑にならないか、といった問いをおろそかにするのです。
ハンドヘルド思考の人は曲線全体を見ます。PC スタイルで機能を追加し続けた場合、Palm OS 製品では使い勝手の軸において下降を始めることを知っています。PC 思考が製品をより良く見せるために機能の軸を全速前進しようとするのに対し、ハンドヘルド思考ではそれが製品をダメにしかねないことを知っているのです。
始めのうち、評論家たちは Palm についてこう言っていました。「PC の機能にマッチさせないなんて君たちゃ馬鹿げてるよ。顧客はとにかくたくさんの機能を欲しがっているんだ。そして彼らは機能の一覧をチェックしながらどれを買うか決めるのさ。」Palm の製品デザイナはテストを行ない、しっかりと地に足をつけ、人々が ── 普通一般の人々が ── 最初の日から以後毎日使えるような製品を世に送り出したのです。
この信念に基づいた賭けは報われました。Palm OS プラットフォームは現在ハンドヘルド市場の 80% を支配しています。PalmSource のライセンシー各社は上記の原則に基づいたたくさんの有用でポピュラーな製品を販売しています。
※訳注:本文書の原著は2003年に作成されています。残念ながら、 この日本語訳を作成している2008年の時点では上記の数字 は正しくない可能性があります。
ハンドヘルドの考え方は、利用可能なテクノロジーと実用性の間でバランスをとることです。新しい機能の追加を考えるとき、2つの自問をしましょう。
- ユーザーの満足を向上させられるだろうか?
- ユーザーの混乱やハードウェアリソースという点で、どのようなコストがかかるだろう?
例を挙げて考えてみましょう。常に可視状態のメニューバーを追加するという提案は、ハンドヘルドの画面がとても狭いため、即座に却下されるべきものです。しかし、アプリケーションのタイトルタブをタップすると表示されるようなメニューバーはどうでしょうか? Palm OS 3.5 において導入されたこの改良は、初心者ユーザーに対する悪影響もなく、パワーユーザーに対しては柔軟性を追加することができました。そしてハードウェアリソース的にもコストがかかるものではなかったのです。
- POINT
- 機能追加は使い勝手を向上させなければならない
実践的イノベーション
機能と利便性のバランスを最適化すること ── つまり重要なものだけにフォーカスすること ── は、Palm OS のデザイン哲学の中核をなすものです。要点にフォーカスして実用的なソリューションを提供する能力は、より良い Palm OS 製品を作り出すために必要とされるものです。ひとつのアプローチとしては、以下のようなものがあります。
- 問題点を認識する
- それぞれの問題に対し、もっともシンプルなソリューションを見つける
- それ以外のものを全て捨て去る
これはオリジナルの Palm ハンドヘルドを作成したチームが使用していたアプローチで、“実践的イノベーション”というキャッチフレーズで要約できるものです。この Palm OS 文化の核心にあるのは、シンプルな発想です。すなわち、テクノロジーをテクノロジーのために使うのではなく、革新への挑戦に使用するということです。テクノロジーを本当に役に立つものにするのです。成熟したテクノロジーや、効果的に機能させられるものだけに抑えておくのです。
- POINT
- テクノロジーを本当に有用にするような革新をする
たとえば、Graffiti は現実的な実用性のある最初の手書き文字認識でした。手書き文字認識のような切実なテクノロジーが貧弱な実装だと、それは使いものにならないどころか破壊的でさえあります。新しいテクノロジーは顧客を満足させられるようなかたちで取り入れなければなりません。それができないのであれば、そのテクノロジー(あるいはその実装)はまだ製品に含めるべきではないのです。
ニーズを見定める
ハンドヘルド製品が解決しなければならない問題を認識することで、実践的イノベーションという出発点に立つことができました。製品のユーザーがしなければならないことは何かを見極める必要があります。
そのためには、顧客が求めているものを時折疑問視してみる必要があります! 顧客の要望を却下しろと言っているのではありません。課題を洗練しなければならないかもしれないということです。彼らのそもそもの要望に暗黙に含まれていたトレードオフを明らかにするようなプロトタイプを作成し、代表的なユーザーに見せてみましょう。技術的な限界に遭遇したら、代替ソリューションを提案してユーザーがどう反応するか見るのです。ユーザーのニーズを満たすのはあなたの仕事です ── その時点で使えるテクノロジーを使い、できる限りの革新を果たすのです。しかし、時計から目を離してはなりません。顧客は待っています。
例えば、Graffiti が開発された頃、顧客は自然な手書き文字認識を求めていました。しかし、自然な手書き文字認識は高速なプロセッサと潤沢なメモリを必要とし、それらはより大きなバッテリを必要としていました。これら全てを詰め込むことにより、ハンドヘルドは重く、コストのかかり過ぎるものになって市場性を失うことになっていたでしょう。
- POINT
- 顧客が求めていることの背後にある本当の問題を見極めろ
しかし、Palm のデザイナ達は本当の問題がテキストの入力方法にあるということに気付きました。この問題は自然な手書き文字認識でなくても解決できるものだったのです。彼らはこのテキスト入力問題を、効果的で速く、正確で、簡単に使え、学習に時間のかかり過ぎないシンプルな入力メソッドによって解決しました。さらに、Palm OS アプリケーションは最小限の手書き入力しか必要としないようにデザインされました。タップしか必要としない他の入力方法は、あらゆる手書き文字認識よりも効果的だったのです。
同様に、Palm 社が最初のハンドヘルドを開発した時、顧客は双方向の電子メールが組み込まれていることを求めていました。当時利用可能な技術では、それはハンドヘルドのサイズとコストを深刻に増大させるものでした。つまり、それはハンドヘルドをスイートスポットの右側に押しやるものだったのです。Palm は、この問題が PC とのシームレスな接続を開発することで解決できると判断しました。同期プロセスの合理化と完全化に時間とお金をかけた結果、ワンボタンの同期処理ができ上がりました。
どちらのケースでも、ソリューションはその時点では妥当性のあるものでした。時間の経過とともに、PalmSource および Palm エコノミー(ライセンシー各社やサードパーティディベロッパー)はより良いソリューションを得つつあります。Graffiti の場合を例として見ると、まずサードパーティより Graffiti を代替するソフトウェアがリリースされました。次に登場したのはハードウェアによるソリューション ── 折り畳み式のキーボードでした。もっとも新しいものとしては、シリアルポートにはめ込む小さな「サム(親指)」キーボードがあります。双方向のワイヤレス電子メールに関してはどうでしょうか。最初の反応は、Palm III 向けの取付け式ワイヤレスモデムを作成するハードウェアメーカーからもたらされました。1999 年、Palm 社はワイヤレス接続機能を組み込んだハンドヘルドである Palm VII を市場に投入しています。PalmSource は MIK (Mobile Internet Kit) のリリースによって Palm Powered modems のサポートを続けています。
顧客のニーズにはすぐに応えましょう。そうすれば、あなたや Palm 界の他の誰かが一周廻ってもっと洗練された解を考案するかもしれません。
顧客の要望を額面どおりに受け取り過ぎることの問題点は、彼らが求めているテクノロジーの限界や帰結について理解しているとは限らないということです。彼らは望んだとおりのものを得ることが、全くがっかりさせられる結果になりうることに気付いていない場合があるのです。
- POINT
- さらなる質問で応えることを恐れないこと
もし膨大な機能リストの束を積み上げてくる企業のためにカスタムアプリケーションを開発しているのであれば、リストをひとつずつ確認して、それぞれの機能が載っている理由を見極めましょう。顧客が本当にしたいことはなにかを理解するのです。適切で効果的なソリューションを考え出しましょう。それを顧客に提示してみるのです。
顧客の要望の先にあるものを見据えるだけではいけません。あなたの競争相手がしていることの大部分を無視する必要があります。十中八九彼らが因襲的な知恵に従っていることはチャンスです。あなたがそれに従えば、定義から言ってあなたは革新的でも違いが際立つものでもなくなってしまうでしょう。
- POINT
- 因襲的な知恵は無視せよ
前述のとおり、顧客がしようとしているタスクがなんなのかを見出すことが大事です。それこそが、あなたの製品が取り組むべき問題なのです。Graffiti のケースでは、デザイナは自然な認識は目的というよりはむしろ手段だということに気付きました。顧客が本当に求めているのは、良好に機能するなんらかの手書き認識機構だったのです。同様に、デザイナは組込みアプリケーションが実用的でなければならないと結論付けました。ハンドヘルドのアプリケーションにあらゆる付加機能がついていたとしても、実用性がなければそれらの強力な機能にはなんの価値もないでしょう。
しきたりを無視するのであれば、あなたは独自の地平に立つ準備をしなければなりません。あなたのデザインが良いもので、それが機能することを( 27 ページの "デザインの検証" で説明するように)確認するテストをユーザーとともに行なったのであれば、他人にとやかく言わせてはいけません。思慮深い観察に基づいたコメントをしてくれる適切な批評者には耳を傾けましょう。もし彼らがあなたのデザインに納得しないのであれば、なぜそうなのかを見極め、混乱の元を断つ努力をしましょう。しかし、あなたのアイデアが慣習的なデザインに沿っていないというだけの理由で不機嫌になっている人々には気をつけなければなりません。そのような人々はあなたを混乱させ、彼らのいる場所 ── しきたりの世界 ── にあなたを引き戻そうとするのです。
あきらめてはいけません。成功はさらなる革新への道を開きます。最初の Palm デバイスの成功は、Palm OS プラットフォームの誕生につながりました。やがて、サードパーティのディベロッパーが異なる使い勝手とトレードオフを持つ独自の組込みソフトウェアとともに登場してきました。最初の段階からずっとあきらめなかったことで、PalmSource は最終的には個人情報管理のニーズに対する様々なソリューションをユーザーに提供することができたのです。さらに、PalmSource は膨大な数のサードパーティ製アプリケーションの開発を可能にしました。その中には、私達が考えもしなかったようなことをするものさえあるのです!
80/20 ルール
80/20 ルールを適用することで、機能の詰め込み過ぎを未然に防ぐことができます。ユーザーが使用時間の80パーセントを何に費やしているかに着目し、残りの20パーセントを無視するのです。多くの人々が必要とするものを提供する一方で、複雑さが増すのを避けるために周辺的なケースは扱わないようにしましょう。ここで、あなたやあなたの同僚の多くは“多くの人々”に含まれないことに注意して下さい。あなたはテクノロジーを集中的に使用しているでしょうから、おそらくあなたの使い方に 80/20 ルールを適用すべきではありません。このルールは典型的なユーザーの使い方に適用して下さい。
このアプローチが、時として普通でない、あるいは奇妙なソリューションにつながってしまうことに気付くかもしれません。たとえば、アドレス帳のボタンを使って名刺をビームするのは構造上は奇妙なものです。しかし、Palm OS のソフトウェアデザイナは 80/20 ルールを適用して、赤外線通信(IR)のもっとも重要な用途のひとつは名刺の送信であると判断をしました。そして彼らは、アドレス帳ボタンを2秒押し続けるだけで送信を行なうという方法を考え出したのです。
80/20 ルールの別の例を見てみましょう。予定表ボタンを押すと、常にその日の情報が表示されます。これはなぜでしょうか? それは、8割方の場合ユーザーはその日にスケジューリングされている内容を見たがるものだからです。さらに、標準的な予定表アプリケーションはイベントの繰り返しをサポートしていますが、あらゆる繰り返しパターンをカバーしているわけではありません。そのため、多くの人々が必要とする設定は提供しますが、例外的なケースはただ複雑さを増すだけなので却下しているのです。例えば、毎月第2・第4木曜日に予定を入れるには、予定表に2回入力をしなければなりません(1つは第2木曜日の繰り返し、もう1つは第4木曜日の繰り返しです)。
解決しようとしている問題を綿密に検討することがあなたの課題になります。あなたのアプリケーションを使って人々が何をどのくらいの頻度でしたがっているかを自問するのです。彼らがたまにしたいことはなんでしょうか? 毎週したいことは? 毎日だったら? 1日に何度もすることは? さぁ 80/20 ルールを使いましょう。
- POINT
- ユーザーが8割の時間を何に費やしているかに着目せよ
スケールの問題
あなたの Palm OS アプリケーションが解決する課題について特定したら、それがハンドヘルドの世界に収まるかどうかが重要になります。PC の世界では、想定されるあらゆるケースをサポートする頑強なアーキテクチャをデザインすることが望まれ、時として要求されます。ハンドヘルドの世界では、全てをカバーするなどという贅沢はできません。過度に広範なソリューションは、実のところユーザーをごまかしているも同然なのです! ハンドヘルド製品のデザインはバックパックを背負った旅行を準備するようなものでなければなりません。キャンピングカーでお出掛けするのとはワケが違うのです。どこやらへドライブしていくのであれば、替えのシューズに缶詰めの食品、飲みもの、その他お好みで何でも放り込んで行けます。その量について考えることなどないでしょう。しかし、バックパックを背負っているだけであれば、ちょっとした重量でも問題であり、持ち物全てが持って行くに相応しいものでなければなりません。たとえば、6パックのソーダは美味しいものです。しかし、それを引き摺って5日間歩き廻りたいと本当に思うでしょうか?
バックパックを背負っているにせよ Palm OS 製品をデザインしているにせよ、100% から減らしていくということにはなりません。ゼロから始めて、徐々に増やしていくのです。何もないところから、本質的なものだけを追加していくのです ── それも、1つずつ。
Memo Pad はハンドヘルドにおけるスケール問題の良い例です。Memo Pad は素早くメモを取ることができるようにデザインされました。人々が PC でワープロを使ってするような類の長くて書式化されたドキュメントを作成するようにはデザインされていません。指定できるフォントは1種類で、テキストのスタイルも1種類、段落をフォーマットするルーラーはありません。Memo Pad は小さな画面と制約のあるメモリ、そして移動中のテキスト入力の難しさのためにデザインされました。Palmハンドヘルド上でのテキスト処理は 1996 年から大いに発展しました ── この点についてはサードパーティーディベロッパーに感謝しています。しかし、Memo Pad は今でも当初の目的のためにあります。すなわち、将来参照するために短いメモを入力するということです。
時には、大きな PC アプリケーションを2つかそれ以上のハンドヘルド用アプリケーションに分割したいと思うかもしれません。例えば、大きな PC 用ワープロアプリケーションは短いメモにも長いビジネス文書にも役立つものです。しかし、ハンドヘルドでは小さくてより特化されたいくつかのアプリケーションを使った方が良いでしょう。例えば、覚書きとして短い情報を手早くメモするのであれば Memo Pad を使うべきです。一方、ビジネス文書を作成するのであれば Palm 界のメンバーによって作成されたいくつものナイスなワープロアプリから1つを選んでダウンロードするべきでしょう。
- POINT
- 大きな PC アプリケーションは分割して複数のハンドヘルドアプリケーションに。
作業分担
ハンドヘルドアプリケーションは、それ自身で課題の全てを解決する必要は必ずしもありません。ほとんどのハンドヘルドユーザーが PC も所有していると仮定することができますし、その PC にハンドヘルドアプリケーションの重たい処理をさせることができます。このことは、付随する PC アプリケーションにいくつかの処理を移動することにより、ハンドヘルドアプリケーションをスケールダウンさせられるということを意味します。自動車をデザインしているのであれば、車内に大きな冷蔵庫を設置する必要はありません。オーナーは自宅に冷蔵庫があるという妥当な仮定をおくことができます。長時間のドライブ時にオーナーが予備の冷たい飲み物をキープしておけるようにしたいのであれば、小さな保冷庫でも放り込んでおけばいいでしょう。
作業分担は、PalmSource の Expense アプリケーションがまさにやっていることです。このアプリケーションは、“タクシー代 $6”などといった出費を手早くメモするためにデザインされています。Expense アプリケーションは出費レポートの作成や為替レートの計算はしませんし、出費総額さえも表示しません。これは、出費を素早く記録できるように、意図的に非常にシンプルなインターフェースにしているのです。PC との同期後、ユーザーは総計の算出や通過換算、レポートの印刷などを PC 側の表計算やデータベースのアプリケーションを使って行なうことができます。ポイントは、ハンドヘルドアプリケーションが PC アプリケーションの全体を置き換える必要はないということです。ハンドヘルドアプリケーションは、デスクトップアプリケーションの付随アプリケーションとしてデザインすることができます。ハンドヘルドをコンテンツへのアクセスと管理のためのデバイスと考え、PC をデータ処理と大量のコンテンツ作成のためのデバイスと考えて下さい。
- POINT
- 重たい処理は付随する PC アプリケーションにさせる
機能ではなく、ソリューションを
製品が扱うべき問題を明らかにしたら、次はソリューションを見つけ出す必要があります。これには2つのアプローチがあります。誤ったアプローチは、似たようなアプリケーションが持つべき機能の束をリストにし、それらをできるだけたくさん実装しようとすることです。たとえば、PC の機能全体を Palm ハンドヘルドで動作させられるでしょうか? ……といった問いは避けるべきなのです。
正しいアプローチは、ユーザーがしなければならないことをアプリケーションがどれだけ的確に遂行できるかを見つけ出すことです。速く簡単に使えるようなソリューションを探しましょう。ユーザーに喜んでもらえるように努力するのです。
アプリケーションを簡単に使えるようにする1つの方法は、乱雑さを最小化することです。ある程度は、アプリケーションの機能セットを減らすことによる自然な効果もあります。その他には、オブジェクトが過密にならないように画面レイアウトを整理する方法を探すようにします。画面上のオブジェクトが少なければ、ユーザーはより簡単に残りのオブジェクトに注目することができます。必然的に、残ったオブジェクトは重要な機能を意味するものになることでしょう。従って、乱雑さを最小化することは重要な機能を良く使いやすくし、最終的にはアプリケーションを理解しやすく簡単に使えるようにします。
- POINT
- 乱雑さを最小化せよ
頻繁に使用される機能に必要なステップ数を最小化することで、アプリケーションを早く簡単に使えるようにすることもできます。乱雑さを最小化するという目標を意識しながら、 頻繁に使用される機能ほど必要なアクションが少なくなるように画面レイアウトを構成しましょう。もっとも良く使う機能にタップ1回だけでアクセスできるようにすれば、皆があなたのアプリケーションを気に入ってくれるでしょう。
- POINT
- 頻繁に行なうタスクのステップ数を減らすこと
良く使われるとはいえ、簡単にはアクセスできないようにしたいと思うような機能というものもあります。例えば、アドレス帳や予定表ではレコードの削除には何回かのステップを踏まなければなりません(ショートカットストロークを使わない限りは)。これは、不慮の削除に対する意図的な保護手段です。データを破壊したり、その他の意味で危険な機能へのアクセスは、簡単過ぎないようにする必要があります。
- POINT
- 危険な機能はアクセスしにくくする
削除機能はアクセスしにくくするとしても、新規作成機能はできるだけ簡単にアクセスできるようにすべきです。ユーザーインターフェースにおいては、対称性が常に望ましいとは限りません。オフィスでは、おそらくステープラーとステープルリムーバーを使うでしょう。これらは対称的な機能を持っていますが、ステープラーは机の上に置いておき、リムーバーは引き出しに入れておくというのが理に適っているはずです。
※訳注:ステープラーとは、いわゆるホチキスのことで、ステープル リムーバーは針を外す器具のことです。「ホッチキス」はた しか商品名なので、訳出では伝わりにくいですが一般名称を 使用しました。
さらに、上級ユーザー向けに“強力な”機能を追加したいと思うかもしれません。強力な機能の追加は、初心者ユーザーの邪魔をしてつまずかせない限りは何も問題はありません。たとえば、標準の Date Book アプリケーションで新しい予定を追加したい場合、単純に予定の時刻やタイトルを書き始めるだけで済みます。3 と入力するだけで予定は 3:00 から始まるのです。この方法は新規ボタンをタップするよりも速く、それを学びたいユーザーのために常にそこにあります。にも関わらず、この機能はユーザーインターフェースを乱雑にせず、初心者ユーザーの邪魔をすることもありません。強力な機能の素晴らしいところは、必ずしも見つけやすくする必要はないということです。ショートカットストロークやなんらかの“隠し機能”で実装すれば良いでしょう。パワーユーザーというのは、定義から言って全てのトリックをほじくり返して見つけだそうとするものです。
- POINT
- 強力な機能は控え目に追加する
直観的であること
アプリケーションを簡単に使えるようにするという点でもうひとつ重要なのは、機能を見つけ出してその利用方法を理解するのが簡単であるということです。アプリケーションを直観的なものにするには、組込みアプリケーションとユーザーインターフェースの一貫性を保つようにします。Palm OS のユーザーインターフェースガイドラインを遵守するようにして下さい。一貫性のあるユーザーインターフェースは良いユーザーインターフェースです。
親しみを感じられるアプリケーションというものは、初めての使用でも使うのが簡単に感じられるものです。ユーザーはアプリケーションを初めて見る時、そのアプリケーションを探求し、把握しようとします。些細なものであれ、考えこまされるようなものは全て小さな減速バンプのようなものです。アプリケーションのUIで見慣れないものに遭遇する度に、あるいは別のアプリケーションと異なる挙動を示す何かに遭遇する度に、ユーザーはそれを理解するためにいくらかの余計な時間を費やすことになるのです(あるいは、ユーザーはまったく理解できないかもしれません)。このような妨害は、累積的なマイナスの影響を及ぼします。
※訳注:減速バンプ(speed bump)とは、スピードの出し過ぎを 防ぐために道路上に設けられた小さなデコボコのこと。
ユーザーインターフェースのガイドラインに固執していれば、アプリケーションは累積的なプラスの影響を持つことができます。他のアプリケーションで学習するような標準的なユーザーインターフェースならなんでも役に立ちます。
例えば、ユーザーはコマンドボタンを見ればそれがどのように働くものか即座にわかります。ユーザーはボタンをタップし、完全に予期した通りに振舞います。このボタンはアプリケーションの学習曲線になんの影響もおよぼしません。
- POINT
- ユーザーインターフェースのガイドラインに固執せよ
減速バンプの数を減らすことができれば、ユーザーはアプリケーションを使ってみて、“わぁ、なんてわかりやすいんだ!”と思うことでしょう。彼らはアプリケーションを手にし、それを使って遊んだり仕事に役立て始めるのです。
覚えやすいこと
使い方を直観的にすることよりもさらに重要なのが、使い方を覚えやすくすることです。特定の作業のための操作方法を覚えられないユーザーは、同じ作業をするための方法を繰り返し見つけ出さなければなりません。
通常、覚えやすい操作は最初から見つけやすいものですが、常にそうだとは限りません。より目立たないテクニックを教わる必要がある一部のユーザー、特に初心者ユーザーには、一部の操作は自明でない場合があります。とはいえ、それらのテクニックを覚えやすいものにすることはできるものです。たとえば、アドレス帳ボタンを長押しして名刺をビームできる機能は見つけやすくはありませんが、覚えるのは簡単です。ある人は Palm OS のユーザーテストでこう言いました。“一度見つけてしまえば、この機能は本当に直観的だよ。” 全ての操作を直観的にできないのであれば、覚えやすいものにしましょう。
例題:Train Catcher
それでは、これまでに論じてきたデザイン原則とその実践を例示するようなアプリケーションの例を見てみましょう。これは想像上の Train Catcher アプリケーションで、日本の地下鉄での移動で便利に使えそうなものです。電車の乗り換えの際、4つの路線で6種類の電車が走っているような状況で、Train Catcher はどの電車に乗るべきかの判断を支援してくれます。図 1.5 にこのアプリケーションの最初のデザインを示します。
図 1.5 例題アプリケーションの最初のデザイン
画面の上部には3つのポップアップリストがあり、乗りたい路線、乗車駅、目的地を選択します。その下は、希望するもっとも早い乗車時刻を指定します。これは現在時刻がデフォルトになります。画面の下半分には、いくつかのオプションがあります。平日ダイヤか休日ダイヤかを選択したり、列車の一覧をどのようにソートするかを指定します。このアプリケーションを使うには、これらのオプションを設定し、ボタンをタップします。すると、アプリケーションは乗車の候補となる列車の一覧を生成します。
この初期デザインは、随分落ち着きがありません。画面上には色々なものが置かれていて、視線がいたるところで迷子になりそうです。画面の下部にボタンがあるようですが、何をするものなのかは皆目わかりません。実のところ、この例題アプリケーションのデザイナは、これらのアイコンを配置した後、本人でさえ時折それらが何を表しているか自信が持てなかったのです。
なぜその機能を追加したのか、あるいはその機能がどのような作業をサポートするのかを、アプリケーションのデザイナ自身が忘れてしまうというのはそれほど珍しいことではありません。そのようなことがおきたら、深刻な危険信号だととらえるべきです。デザイン作業にどっぷりと漬かっているのにそれがどのように動作するのか思い出せないとしたら、平均的なユーザーがそれを直観的だと感じたり使い方を理解できるなどという期待はできなくて当然でしょう。
このデザインは、第2段階として少しばかり片付けが必要です。Palm OS の標準により近いレイアウトにしてみましょう。これを図 1.6 に示します。
図 1.6 例題アプリケーションの2つ目のデザイン
3つのポップアップリストを画面の上部に並べました。時刻フィールドは目的が明確になるように2語ほど説明を追加しています。平日・休日のインジケータは除去することができます。一般に、ユーザーはその日に運行している列車を検索するからです。何曜日かをアプリケーションが調べるのは簡単ですし、平日なのか休日なのかを表示することも簡単にできるでしょう。
カスタマイズ用として、平日・休日設定はプリファレンス画面に移動しても良いでしょう。ソートオプションは疑いようもなく設定画面に移動できます。なぜなら、これは滅多に変更されないようなものだからです。アイコンは何をするものか思い出せないくらいですから、これらも外してしまいましょう。アイコンの1つはおそらく時刻表の検索を開始するものですから、アプリケーションのもっとも重要な機能と言えます。ですから、これはその機能を表すテキストを使ったボタンにしましょう。
スペースが空いたため、最後の列車が出発する時刻を表示するという有用な機能のためのボタンを追加しました。24 時間運行しているわけではない路線がある都市では、終電を逃してタクシーで帰宅するハメに陥らないで済むのは何時までかをこのボタンが教えてくれます。本質的でないオブジェクトを除外したため、この新しいボタンによって乱雑さが増すことはありません。この終電表示機能は、平日・休日インジケータのようなありがちな穴埋め的デザインとは対照的で、まさにユーザーの問題解決にフォーカスした結果として追加するタイプの機能と言えます。ユーザーはきっと、“スゴイよ! これはまさに僕がしたかったことだ!”ということでしょう。
この第2段階にも、まだ改善の余地はあります。たとえば、“Display trains after”というラベルはさらに曖昧さをなくすように書き直すことができます。“Show trains that leave after”といった感じでしょうか。少々長くなりますが、より明確です。そしてオリジナルのユーザーインターフェースを簡略化したことによって、これに必要なスペースを確保できたと言えます。
アプリケーションのデザインは資料作成のような反復的プロセスです。最初の段階では、あらゆるものを画面に詰め込みました。次に、それを削ぎ落としていくことになります。第2段階を人々に見せてフィードバックを得て、それがまだ不十分であることを自覚するのです。そしていくつかの段階を繰り返してユーザーのフィードバックを得ていきます。作ってみて、できたらおしまい、というのに比べ、反復的なデザインは本当に素晴らしいアプリケーションが作れるものなのです。
何ステップにも及ぶ編集の例えで言えば、ハンドヘルドアプリケーションのデザインは小説よりも詩の編集に似ています。小説では、その長さを気にかけることはないでしょう。詩では、全ての単語や句読点の位置は決まっています。17音からなる俳句は、600ページの小説を書くのよりもずっと大変なのです。
なぞかけ2の答え
さぁ、2つめのなぞかけに答える準備ができました。山のようにたくさんの機能はティーカップに収まらないということが理解できたのです。私達は機能と使い勝手の最適なバランスを求めており、それを実現する方法のひとつが実践的イノベーションであることを知っています。つまり、問題を見極め、それぞれの問題についてもっともシンプルなソリューションを見出し、それ以外のものは全部うっちゃるということです。
Q:山をティーカップに収めるにはどうすればいい?
A:ダイヤモンドを掘り出し、残りは捨てなさい。(岩や土は要らないでしょ?)
製品を、人々が必要とするものにしましょう。彼らが最初に欲しがっていたものはそれほど重要ではありません。有用で、洗練されたものにするのです。乱雑さを最小化し、頻繁に行なう作業のステップ数を減らし、危険な機能はアクセスしにくくし、強力な機能は控え目に追加しておくのです。
製品のサイズをハンドヘルドの世界に適合させましょう。重たい処理は付随する PC アプリケーションで行なうようにします。頻繁に使用される機能に焦点を合わせて残りを捨てるため、80/20 ルールを使いましょう。これは不要なものを捨て去ることを可能にしますが、信念に基づく賭けを伴います。多くの機能を捨て去ってから、そのうちのいくつかが重要だったということに気付く場合もあるかもしれません。どの機能が重要かを見極め、それらを残して他を捨てるのはやりがいのある仕事です。それをやり遂げることができれば、はるかに強く人を引き付けるアプリケーションを作ることができるでしょう。