ユーザーがログインするアプリケーションがあります。ユーザーが初めてログインするとき、ログインプロセスが完了するまで、次のような画面が表示されます。
ユーザーがアプリの一部にアクセスする前に、ユーザーのアクセスを検証する必要があるため、待機中にアクセスをブロックすることは理にかなっています。
問題は、私の手に負えない理由により、バックエンドIDプロバイダーのために、認証に3秒から1分かかる可能性があることです。したがって、このアイコンは画面に長時間表示されます。
テスト中に、ユーザーが何かが壊れているように感じ始め、認証が遅いときに少し待ってからページをリロード/離脱したいことに気づきました。
ユーザーがしばらく待っていた後、「...しばらく時間がかかる場合があります。移動したり、ページを再読み込みしたりしないでください。」を追加して、「ログイン中...」というテキストを補足したいと思います。
この追加の「安心」をユーザーに提示するまでどのくらい待つ必要がありますか?また、すべてが正常に機能していることをユーザーに快適にするためのより良い方法はありますか?
注:この質問は、「ユーザーに初期ロードインジケーターが表示されるまでどのくらい待つ必要がありますか?」という関連する質問に答えるものです。 -「初期ローディングインジケーターを補完するのにどれくらい待つ必要があるか」ではありません。 - 読み込み時間とページローダーの表示(いつ表示するか)
...認証には3秒から1分かかります...
基本的なアニメーションから始めて、時間の経過に応じてフィードバックを追加することをお勧めします。
私がよくプレイするビデオゲームであるロケットリーグは、オンラインマッチの検索を開始したときにこれを行います。シンプルなメッセージ(以下のリストの最初のメッセージ)で始まり、しばらくすると、追加のメッセージが追加されます。
「[地域]で[ゲームモード]を検索しています...」
「あなたのスキルに近い選手を探しています...」
「さらに多くの地域を検索しています...」
「ヒント:より多くのゲームモードを検索して、一致をすばやく見つけることができます。」
これらのメッセージが検索パラメーターの実際の変更を示しているように思われることは決してないようです(私はほとんどの場合、同じ地域で同じようなスキルレベルに対して一致します)が、システムがまだ私の要求に取り組んでいるという私の心を効果的に緩和します—アイドル状態またはフリーズしたように見えることはありません。
あなたの場合は、基本的なアニメーションから始めることをお勧めします。数秒後(5程度)、もう少し説明するメッセージを追加できます。次に、リクエストに要した時間を示すタイマーを追加して、ユーザーが通常のロード時間<= 1分でどこにいるかを確認できるようにします。
download bmml source – Balsamiq Mockups で作成されたワイヤーフレーム
価値のあるものとして、 これに関するNNGroupによる興味深い研究 があり、それ自体が大量のユーザー調査を行っています。彼らは、アプリケーションの待ち時間には3つの主要なしきい値があると判断しました。
- 0.1秒で瞬時に反応します
- 1秒は、ユーザーの思考の流れをシームレスに保ちます
- 10秒はユーザーの注意を維持します... 10秒後、彼らは他のことについて考え始め、コンピュータが最終的に応答すると、脳を軌道に戻すことが難しくなります
Maxathousandが示唆しているように、進行メッセージ(または偽の進行状況バー)を提供することで、待機スピナーを改善できます。その提案に対する私の唯一の追加は、「1分以内」の代わりに「1分未満」を使用することです。この提案は、 『Designing and Engineering Time:The Psychology of Time Perception in Software』という本に由来し、ここでいくつかのヒントを見つけることができます: http://www.stevenseow.com/papers/UI% 20Timing%20Cheatsheet.pdf
ただし、解決する必要がある主な問題は、認証に1分かかることがある理由です。たとえば、ユーザー/パスワードの間違いにより、2分以上かかる場合があります。
それはあなたの手に負えないことですが、UIトリックで解決しようとするよりも、戦いを選んでエンジニアリングにエスカレートする方が良い場合があることを理解しています。その議論であなたを助けることができるいくつかの議論:
統合認証の場合でも、1分はかなりの待機時間です。このような長い待機時間の場合、ボトルネックは通常ネットワーク内にあります(どのI/OもCPUよりも桁違いに高く、ネットワークI/Oの待機時間はディスクI/Oよりも高くなっています)。そのため、システムと認証システムの間の通信経路に明らかな問題があります。ネットワークに問題がない場合、認証プロセスはアイドル状態で他の処理を行っています(ロックが解放されるのを待っているなど)。この問題は、ログインUIを超えて対処する必要があります。これは、他の領域でチームを悩ませるためです。
どのような進行状況が表示されても、時間の認識は、実行するタスクに関連しています。たとえば、ファイルのダウンロードには1分の待機が予想されますが、ログインには予想されません。したがって、ユーザーは不満を抱き、その不満はシステム全体に悪影響を及ぼします。
また、これは初めて発生する可能性があることにも言及しています。初回セットアップで待ち時間が発生しますか?その場合は、「アカウントの設定」のようなものを表示できます。
私の答えは他の人より少し簡単です。
あなたの答えはあなたがすでに行ったテストにあると思います。
この質問をする:
ログインを待機しているときに人々がためらいの兆候を示した後の平均時間はどれくらいでしたか?
この測定値を取得すると、「再保証」の数秒前にこれを与える必要があることがわかります。または、参加者のいずれかがためらいの最も早い兆候の数秒前にさえ。
編集:負荷インジケーターを持つことに反対する引数として私はこれを共有したいと思います 負荷の対象に関するルークWの概要画面
基本的に、私たちは人々に遅いと言ったので遅いと人々に言いました...それは古典的な時計鍋が沸騰することはないということです。
「ページを移動したり、ページをリロードしたりしないでください」を含むメッセージ全体を表示する必要があると思います。接続/認証速度を正確に検出するのは難しいため、ページを再読み込みしようとする場合の影響を示すことをお勧めします。プログレッシブ再保証メッセージは問題ありませんが(システムがまだ動作していることをユーザーに示します)、常に「ページを再読み込みしないでください」というメッセージを表示したままにしておくことをお勧めします。
または、スピナーの代わりにプログレスバーを使用することもできます。これは、バーが待たなければならない時間が長くなるためです。