あなたの設定を見せてください、そして私はあなたが誰であるかを教えます

こんにちは、ハブラフチアン! ロシア語での実例を含むユーザーインターフェースに関するユニークな記事で、あなたを喜ばせ続けます。 今日は、ソフトウェア開発の特効薬であるアプリケーション設定について説明します。



多かれ少なかれ想像される設定は何ですか。 コンピューターユーザーは遅かれ早かれそれらに遭遇します。 常に勝者がこの衝突から出てくるとは限りません。 対処しなければならない3つの主な問題があります。目的の設定を見つけるのは困難であり、適切な設定はそうではありません。これまたはその設定が何をするかは明確ではありません。



理解するために、設定がどこから来たのか考えてみましょう。 理論的には、設定は開発者がプロ​​グラムをさまざまな使用シナリオに適応させる方法です。 ユーザーは異なり、一方が必要で、もう一方が別を必要とします。シナリオの違いが重要でない場合、ユーザー間の選択はユーザーに任されます。 したがって、正しい設定画面を作成するには、ユーザーの目標と目的を知る必要があります。 これは理論上です。 実際にはどうなりますか?



主な問題-ユーザーの目標と目的の誤解-は、開発者(広義にはソフトウェア製品を製造する会社)が特定の設定について間違った決定を下すという事実につながります:それは不要なものを追加し、正しい設定を追加しません。 設定の欠如-悪いが、少なくとも致命的ではない、リリース後、ユーザーはそれを修正します-彼らは設定を要求し始めます。 また、追加の設定を追加することで、さらに面白くなっています。 記事の冒頭で設定を銀色のソフトウェアの箇条書きと呼び、次の一般的な誤解を念頭に置いていました:いくつかの機能を実装する方法がいくつかあり、どちらを選択するかが明確でない場合は、設定を使用してユーザーに選択を与える必要があると考えられています ユーザーが何を必要としても、ユーザーは目的の方法を選択でき、賄briは私たちからスムーズであるため、このオプションは双方にとって好都合であると思われます。 このエラーを詳細に理解しましょう。



まず、いくつかのオプションから、どちらを選択するかが明確ではありません。 ここで行う簡単なことの1つは、ユーザーについて考えることです。 「どのオプションを使用しますか? 最初のオプションだけで十分でしょうか? 2番目だけですか?」-これらは単純で明白な質問ですが、回答できる場合(非常に頻繁に)でも、実際には、製品インターフェースの責任者は単純に質問しないでください。設定を追加する方が簡単だからです責任を軽減し、あなたはそれについて考える必要はありません。 心によれば、オプションが使用の観点から同等である場合、1つを選択し、それを実装するだけで、ユーザーの脳を急上昇させない(これは[1]で詳しく説明します)。両方が必要になります。 ちなみに、この質問に自分で答えると、すべてのユーザーに対して1つのプログラムを作成するという理想的な夢を払拭できます-さまざまなユーザーとさまざまなタスクは、相互排他的なソリューションを必要とすることが多く、ここでは設定が保存されません-さまざまな製品が必要です。



この問題を考えると、私は人生に興味深い自主規制メカニズムがあることに気付きました:会社にインターフェースの設計を理解している人がいたり、ユーザーの良い研究が行われていれば、必要な設定だけが自然に追加されます。 それ以外の場合、開発者は保険をかけられ、考えられる限り多くの設定を追加します。そして、奇妙なことに、これは、インターフェース設計がないにもかかわらず、本当に製品を必要とする人々がこの製品を使用することを可能にするものです(設定の正しい組み合わせを選択する)。



問題の実例(おなじみの状況ではありませんか?):





第二に、Win-Winについてです。 各設定には独自の価格があります。 設定の選択はユーザーのタスクではないため、設定の操作に費やされる時間は無駄にユーザーによって正しく記録され、ユーザーがこの時間を費やす責任は製品開発者にあります。 したがって、この時間を最小限に抑えるよう努力する必要があります。心理学から、特定の数の代替信号から選択する場合の反応時間は、その数の対数に比例して増加することがわかります( ヒックの法則 )。 つまり、設定が多いほど、正しい設定を選択するのが難しくなります。 まあ、人の読書速度は非常に制限されています(1秒あたり約5ワード)。



イラスト:





第三に、開発者自身が設定の数を減らすよう努力する必要があるように思われます。それぞれの場合、代替コードブランチを開発および維持する必要があり、これは追加の人件費を意味し、最終的にはお金になります。 ただし、意思決定を簡素化するために、この考慮事項はしばしば無視されます。この現象を設定の大逆説と呼びます。



銀のプールの神話は、簡単に満たすことができます。 インターフェイスのほとんどの議論では、遅かれ早かれ「セットアップとしてそれをやろう」という文がポップアップ表示されます(私は遠くまで行かず、グーグルの「オプションサイト:habrahabr.ruを追加」を見つけて、たとえば: onetwothree など ) 。 あなた自身がこの神話とソフトウェア製品での使用の結果の両方に何度も出会ったと思います。



イラスト:





また、図(単なるコンピューターのシャットダウンプログラムのように思えます):





設定に関連する別の問題があります。記事の冒頭で、「この設定やその設定が何をするのか明確ではありません」と指定しました。 これは、実装モデルとユーザーのメンタルモデルの不一致の問題を指します(残念ながら、ユーザーのメンタルモデルはロシア語の翻訳[2]では手元にないため、用語の翻訳は私のものです)。 プログラムを使用している人は、それがどのように機能するかを知っています。 これは、ユーザーのメンタルモデルと呼ばれます。 問題は、この表現がプログラムの実際の動作(実装モデル)に対応する必要がない(および対応しない)ことです。 ルールは、インターフェイス(設定を含む)は、実装モデルではなく、ユーザーのメンタルモデルに基づいて構築する必要があることです。そうしないと、ユーザーは問題を抱え始めます。 たとえば、写真をSafariからMailにドラッグすると、写真の電子メールが作成されます。 私のメンタルモデルでは、絵はあるプログラムから別のプログラムに移されました。 Safariに「ドラッグアンドドロップ時の一時ファイル用のフォルダ」設定がある場合、その意味は実装モデルの詳細であり、私のメンタルモデルにはないため、その意味がわかりません。



イラスト(架空):





イラスト(実際):





肥大化したmail.ru設定の問題は明らかですが、ユーザー/実装モデルの観点からそれらを検討します。 都市(タイムゾーン)を指定できる3つの(!)異なる場所があります。 私が理解しているように、理由は、この情報を必要とする3つのモジュール(実装モデル)があるためです。 ただし、私のメンタルモデルでは、mail.ruは個人用メールボックスのインターフェイスですが、私はまだ同じ都市に住んでおり、この情報を3回指定する理由がわかりません。 さて、ヒープに、3つの場所すべてで都市を指定しても、必要な設定がない場合は、モスクワで手紙の受信時刻が表示されます。



まとめると。 設定画面はプログラムのインターフェースの一部であるため、インターフェースのすべての法律に従う必要があります。 ユーザーの目標と目的を考慮して設計する必要があります。 設定との通信はユーザーのタスクの一部ではないことに注意してください。ユーザーが必要とする設定のみを残して、この通信の時間を最小限に抑えるようにしてください。 最後に、設定を設計するときは、ユーザータスク、つまりメンタルモデルの観点から行います。



PS誰かが非常に貧弱に設計された設定の例を持っているなら、私はそれらをコメントで見ることができてうれしいです(スクリーンショットは二重に歓迎されます)。



参照:

  1. 37signalsでリアルに
  2. インターフェースについてのAlan Cooper。 インタラクションデザインの基礎。 Symbol Plus、2009
  3. コミックOK / ここからキャンセル
  4. stackoverflow.comのトピックで使用した最悪のUIの例の一部



All Articles