レスポンス時間の法則

Webサイトやアプリケーションの最適化をする上で、頭に入れておきたい3つのレスポンス時間についてです。

レスポンス時間(Response Time Limits Law)

  • 0.1秒:システムが即時にレスポンスしていると感じる時間(結果を表示する以外に特段行うべきことはない)
  • 1.0秒:ユーザーの思考が邪魔されないと感じる限界の時間で、これ以上は遅延を感じ始める。
  • 10秒:ダイアログを出しているときにユーザーに対して注意を引く時間の限界。「処理中」を表すインジケータの表示時間

通常、レスポンス時間は早ければ早いほど良いのですが、レスポンスが早すぎてユーザーがついていけないということもあり得ます。例えば、ウェブサイトをスクロールするとき、スクロールの速度がとてつもなく速かったらどうでしょうか。見たいコンテンツのところでスクロールを止められなくなってしまいます。

一方、レスポンスを即座に返せない場合は、パーセント表示やインジケーターなどでユーザーに絶えず進捗を伝えるのが鉄則です。
Macの起動画面でもインジケータを表示して、ユーザーにストレスを与えないようにしています。

そうすることによるメリットは3つあります。

  • システムがクラッシュしたのではなく、処理中であることを示して、ユーザーを安心させる
  • ユーザーに対してどれぐらい待てばいいのか示すことができ、その間にユーザは他のことができる
    (正確な時間がわからない場合は残り時間を数字でを表示せず、グラフックのみにする)
  • 表示を行うことでユーザーが飽きずに済む

あらかじめ残り時間がわからない処理の場合は、パーセント表示ができません。それでもどれぐらい処理を行ったのかという表示はできます。
例えば、総数がわからないデータベースを検索しているシステムの場合でも、検索したデータベースの名前を表示することはできます。それも不可能な場合はグラフィック表示を行うようにします。

短い処理時間(2秒から10秒)の場合、正確なパーセント表示はやりすぎですし、却って表示が速すぎてユーザーがストレスを感じることになります。その場合、あまり目立たない表示にするのも一つの方法です。
また、素早く数字が変わる「処理中」のカーソル表示をスクリーンの下の方に小さく表示し、どのくらい処理を行ったかを示す方法があります。

この記事を書いた人:sachiko

フリーランスのエンジニア。エンジニア歴は15年のアラフォー。

ここ最近はスマホアプリ開発とサーバサイドの開発が多い。
ただ開発できるのではなく、ユーザーさまが本当に求めることを提案できるようになるべく、UXの勉強をしている。