アルファサード株式会社 代表取締役 野田 純生のブログ


ProgressBar(プログレスバー)とUX(追記あり)。


公開日 : 2013-12-27 16:37:17


1秒毎に進行して10段階(秒)で終了する処理の進捗をプログレスバーでユーザーにフィードバックする時の話しです。 0から10段階に設定して、1秒毎に1(10%)ずつ進めて行き、10に到達した瞬間に非表示にする(処理終了)という実装をすると、何か違和感がないですか? (以下の動画)

プログラマ的には素直な処理の実装なのですが、以下の2点が違和感につながっているように思います。

  • スタート時、バーが0の時、処理が止まっているように見える。
  • 終了時、9段階から10段階に到達したとき、10段階に到達した画面が見えずに(一瞬で非表示になるため)、違和感が残る。

そこで、以下のように改良します (以下の動画)。

  • 敢えて10段階とせずに、9段階とする。
  • 0段階の時と9段階の時に散髪屋状態(barbar pole)とする
  • 0段階はあえて見せずに、1段階から見せる

最後の10段階をもうちょっとちゃんと見せたほうが完了した感が出るとか、改良点はあると思いますが、GUIをプログラミングする時に、単に処理の都合で安易に実装してしまわずに、例えば処理開始時にバーを1段階進め、最後の処理をbarbar poleにする、そのために敢えて10段階を9段階とする、などの工夫がUXを良くしていくのだろうな、等と考えた年の瀬でした。

おそらく今年最後のブログ記事になるかと思います。みなさま良いお年をお迎えください。そして、来年も何卒宜しくお願いします。

追記

進捗もへったくれもなく、かかる時間を予測してとにかく一定スピードで進めちゃう、みたいな考え方もあるでしょうね。もしくは済んでない(非同期で引き続き実行中な)のにちょっと前には終ったように見せるとか。ウェブアプリとか。失敗したら後で知らせたらいいや、みたいな。

進捗もへったくれも、というあたり、それって正しいプログラミングではないやろ、という意見もあるだろうけど、こっちのほうが体験的に快適という考え方もあるのだろうね。



このブログを書いている人
野田純生の写真
野田 純生 (のだ すみお)

大阪府出身。ウェブアクセシビリティエバンジェリスト。 アルファサード株式会社の創業者であり、現役のプログラマ。経営理念は「テクノロジーによって顧客とパートナーに寄り添い、ウェブを良くする」。 プロフィール詳細へ