アプリケーションを使用していると必ず待ちが発生する処理があります。その処理がどれくらい進んでいるのかを視覚的に表してくれるのがプログレスバーです。このプログレスバーの表示の仕方について考えてみたいと思います。
全体の進行状況を表示する
まず、プログレスバーは全体の処理に対して表示すべきだと思います。時々、全体の処理ではなく個々の処理についてのみプログレスバーを表示しているものを見かけますが、あれではプログレスバーの意味がなくなっていると思います。個々の処理についてはプログレスバーを見れば確かに進行状況がわかりますが、全体の進行状況として見た場合には何の情報にもなっていません。ユーザが見たいのは全体としての進行状況なのではないでしょうか。
全体の進行状況だけだと処理の進み具合がわかりづらいと思う場合は、プログレスバーを二つ用意します。一つは個々の処理の進行状況を表示し、もう一つには全体の処理の進行状況を表示します。こうすることでそれぞれの進行状況がわかるようになります。
もっと滑らかに
プログレスバーを表示するということは、ある程度処理に時間がかかるということです。処理を待っている間に何も表示されないよりは、プログレスバーなどを表示して今どのくらい処理が進んでいるのかを確認できれば、素直に処理を待つ事ができると思います(待っている間に他の作業をする事もできます)。しかし、プログレスバーのゲージの進み方がカクカクしていたらどうなるでしょうか。
待っている間、ゲージが進んでいないのを見て本当に処理は進んでいるのだろうか? と不安になってしまうと思います。特に一度でも本当に処理が止まっていた経験がある方は、より不安になりやすいです。そのような気分にさせないためにも、ゲージの進み具合を滑らかにします。そうすることで、常に処理が進んでいることを確認でき、安心して処理を待つことができるようになると思います。
ゲージが溜まり切ったら処理は終わる
プログレスバーのゲージが溜まり切ったら、すぐに処理を終了すべきだと思います。なぜならゲージが溜まり切ったということは、処理が終了できる状態になったということだからです。それにユーザもそういうことを期待するはずです。しかし、ゲージが溜まり切ってもまだ処理が続いていると、プログレスバーに裏切られた気分になってしまいます。中間の進行状況はある程度正確でなくても、最後の部分だけは正確に伝えるようにしたいと思います。
プログレスバーを表示する処理は意外に難しい部分があります。特に滑らかに表示する部分が難しいと思います。またプログレスバーを表示する処理のために、本来の処理が完了するまでの時間が多少なり長くなります。それでもユーザが不安にならないように、滑らかに、そして正確な進行状況を表示した方がいいと思います。