待ち時間への配慮

Posted on :| コメント (0) | トラックバック (0)

 週末は開発をやりながら競馬と非常に多忙でした。特にシンドロームで使っているオッズ収集ソフトJVOddsのデバッグは、 競馬をやりながらだと非常にしんどいです(オッズデータがめちゃくちゃになるので、シンドロームがその間使えません)。
 そんな中、合間を縫って人様の作ったソフトの評価をしてみました。

 名前は伏せておきますが、ネットワーク通信が必要なソフトです。このソフトは頻繁にネットワークアクセスがあるようで、 とにかく通信中に反応が鈍くなることが多いのです。処理中のプログレスバーはもちろん、何をしているかの表示もないため、 フリーズしたように見えてしまいます。放っておくと操作できるようになりますが。

 ソフト設計ではよく言われていることですが、待ち時間の長い処理をするときは、それをユーザーに分かるようにしなければなりません。 作る立場だと、この程度の処理ならプログレスバーを表示しなくてもよいか、と思ってしまいますがやはり状況の表示は必要です。
 こういう細かな配慮はユーザーの立場にならないと分からないことが多いものです。

 処理時間に対するスタンスはソフトにより異なります。TARGETも結構処理時間があるソフトですが、 それをあまり意識させない作りになっています。
 例えば、ある馬の戦歴を表示すると、DBを検索するので時間がかかりますが、検索の済んだところから順次表示しているので、 あまりストレスを感じません。その他にも補正タイム一覧を表示する箇所でも体感速度を速める工夫が見られます。

 Windowsのソフトを作った経験のある人なら分かると思いますが、表示処理というのは非常に時間のかかる処理です。 特に競馬で多用されるフレキシブルグリッドコントロール(Excelの表のようなコントロール)に対する描画処理は群を抜いて遅いのです。

 シンプルぱっと1/2では、表示時間を感じさせないように描画が完了するまで画面表示をOFFにしています。ただし、 この場合はデータの読み込みに手間取ると、時間がかかっているように感じてしまいます。

 TARGETはその逆の発想で、確定したところから順次表示しています。もちろん、 処理速度を速くする工夫はコードレベルで施されていますが。

 結局、通信、ディスクアクセス、演算問わず、1秒以上かかる処理は何らかの工夫をした方が利用者に優しいソフトといえるのでしょう。 1秒以下の場合でもプログレスバーが高速に表示されれば、処理速度が速いように錯覚してくれます(笑)。

トラックバック

このエントリーのトラックバックURL:

コメント

コメントフォームに記入し投稿してください





Search
最近の記事
カテゴリー
過去の記事
Comments
TrackBacks
Feed
Powered by