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