web-dev-qa-db-ja.com

進行状況バーのデータを歪めていますか?

私は現在、進行状況バーの視覚化中にデータが時々歪む方法(50%ではなく70%を示すなど)についていくつかの調査を行っています。調査は、Chris Harrisonとチーム(chrisharrison.net/projects/progressbars/ProgBarHarrison.pdf)の論文を拡張することに焦点を当てており、プログレスバーに表示されるデータを歪めると、ユーザーの認識に(良いまたは悪い方法で)影響を与える可能性があります。

このような歪みがユーザーの知覚を操作するために使用されている製品(Web /デスクトップまたはモバイルのいずれか)について知っているかどうか尋ねたいのですが。私が尋ねた質問は、誰かが実際のアプリでそのような歪みのタイプの使用をすでに見たのか、それとも単なる理論上の概念なのかについてです。

助けてくれて本当にありがとうございます!

2
Mara Augustin

Occam はあなたの友達です。一見歪んでいるように見えるプログレスバーをたくさん見ました、そして大部分が意図的に歪められているではないがどちらか不足のためにむしろ歪んでいると私はかなり確信しています情報や怠惰の。

私が通常目にする進行状況バーには2つの異なるタイプがあり、さまざまな問題があります。

アップロード/ダウンロード/表示

  • ファイルのアップロード-ユーザーのインターネット接続の速度が原因で、アップロード速度はダウンロード速度よりもはるかに遅い(たとえば、DSLは通常、アップロード4(またはそれ以上)と非対称である)xダウンロードと同じくらい高速です)および/またはサーバーの速度が原因です。アップロード(セキュリティ上の理由から1つのサーバーに制限されることが多い)よりも、ダウンロードプロセスを複数のサーバー(ミラー、CDNなど)に分散する方が簡単な傾向があります。これらのバーは、次の場合を除いて、一般に非常に信頼性が高くなります。(a)最初に、「物事を開始する」ために任意の(したがって不正確な)チャンク(5%?10%?)が含まれる場合がある。さまざまなポイントサーバー制御を超えた要因によるしかし、進行はファイルサイズの単純な計算に基づいて続行され、(c)最後に余分な遅延がある場合があります(たとえば、サーバーがファイルのアップロード後の処理(ウイルスチェック、データベース操作など)を行うため、99%または100%で「スタック」します。

  • ファイルのダウンロードほとんどのファイルのダウンロードは十分に小さい(最大で数メガバイト)ため、サーバーはブラウザーに詳細を処理させるだけです。この場合、進行状況バーは、ファイルサイズとインターネットアクセスの速度/問題による異常にのみ基づいています。 、一般的にサーバーの制御を超えています。ただし、一部のシステムでは、通常のアップロードプログレスバーと同様のプログレスバーが提供され、上記と同じ3つの警告があります。ただし、この場合、99%/ 100%の最後の問題は、サーバーではなくユーザーのコンピューターに依存します。

  • ファイルの表示これには、グラフと複雑なレポート/ページが含まれます。ここでの進行状況は、通常、サーバー側の処理によるもので、はサーバーの制御下にあります。ただし、その処理は非常に「分厚い」場合や、他のプロセスからの遅延(他のユーザーからの要求など)の影響を受ける場合があります。多くの場合、進行状況は合理的だが恣意的な方法で分割され、averageレポートと一致する可能性がありますが、実際のレポートとは完全には一致しません。

たとえば、プログラマーが100個のレポートを測定し、平均して、15%が最初の大きなデータベースクエリに使用され、40%がデータのループと分析に使用される場合があります。 35%は、処理されたデータを取得してチャート画像を生成する別のプロセスに使用されます。

最初の問題は、ユーザーのデータ選択の詳細に応じて、数値がかなり異なる場合があることです。

2番目の問題は、一部のセクションが簡単に分割できない場合があることです。たとえば、データベースクエリは、1つのhuge複雑なSQLクエリを作成して結果を待つメインプログラムの観点からは、アトミックプロセスである可能性があります。そのため、進行状況は0%から1%になり、その後比較的長い時間停止してから16%にジャンプします。

3番目の問題は、一部のセクションは簡単に分割できるが、常に分割できない場合があることです。メインの処理ループで40%を占めるこのレポートには、1,000のプライマリレコードがある可能性があります。これは、進行状況バー全体の%あたり25レコードに相当します。ただし、これらのレコードの一部は1ミリ秒かかり、一部は1秒かかることがわかり、結果は「ジャンプ」した進行状況バーになります。

ユーザー主導の機能「進捗状況」

これは、サーバーの処理ではなく、主にユーザーイベントに基づくプログレスバーの私の用語です。 2つの典型的な例は、調査と複雑なフォームです。

  • 調査完了を促すために、調査では多くの場合、すべてのページで少しずつ増加する進行状況バーが表示されます。私の経験では、これらは実際にはかなり信頼できます。例外はブランチです。調査には20ページがあり、ページごとに5%の進捗があります。ただし、途中で1つの回答に基づいて調査が短縮されるまたはか、調査が延長されるポイントがある場合、進行状況バーは "大きなチャンクをジャンプする」または「スローダウン」するように見える-つまり、ページごとに5%ではなく突然、より多くの質問が追加されたため、ページごとに2%になります。これは意図的にユーザーの頭をいじるのではなく、単に正確な進行速度を事前に予測できないだけです。

  • 複雑なフォーム複雑なフォームは、8ページ-1ページあたり12.5%になる場合があります。ただし、一部のページは非常に簡単(例:名前/住所/その他)であり、一部のページは非常に複雑(例:医療の詳細または説明文フィールド)である場合があります。怠惰なプログラマー(私のような)のおかげで、進行状況は、各ページの完了に必要な複雑さ(つまり時間)を調整せずに、ページ数に基づいている場合があります。

標準の商用製品が、少なくともあなたが説明した方法で、データの提示方法を意図的に歪めるように設計されている場合、問題になると思います。

それだけでなく、データをプログラムで表示する方法にばらつきがあるため、開発者が一貫してまたは意味のある方法でこれをソフトウェアアプリケーションにプログラムする方法を考え出そうとすると頭痛がするでしょう。

したがって、ほとんどのデータ操作は、最初のチャートまたはグラフィックが作成された後に行われることがわかると思います。これは、ラベルを変更したり、視覚要素のスタイルやサイズを変更したり、他の人々が考えられること(たとえば、全体を実際の生データから切り離したインフォグラフィックに変換したり)によって、軸の歪みを操作できる場所です。 。

しかし、誰か他の人が例を知っているなら、市販されているそのような製品を調べることは興味深いでしょう。

0
Michael Lai