共通デスクトップ環境 スタイル・ガイド

パフォーマンスのガイドライン

ドラッグ&ドロップ操作中に、タイミングとユーザに対する応答が重要な瞬間がいくつかあります。最適なパフォーマンスを保証する責任は、ソースおよび出力先のアプリケーションと、Motif ドラッグ&ドロップ API およびドラッグ&ドロップ簡易 API にあります。

ドラッグ&ドロップ操作におけるユーザの個々の手順とそれに対するシステム応答を、時間を追って次に示します。各手順の後に、対話のタイミングに関するガイドラインがあります。

  1. ユーザが選択します。ポインタは選択したオブジェクト上にあります。ユーザはマウス・ボタンを押し続けます。

  2. ユーザがポインタの移動を開始します。ユーザはドラッグを開始する前に、ポインタを 10 ピクセル移動できなければなりません。ユーザが BTransfer を押している場合は、ドラッグのしきい値はありません。

    -> ドラッグを開始すると、ポインタはドラッグ・アイコンに変化します。

    移動の遅延: 手の移動を認識してからドラッグ・アイコンの表示を開始するまでの遅延は 50 ミリ秒未満でなければなりません。手の移動からポインタがドラッグ・アイコンに変化し終えるまでの時間は、最大で 70 ミリ秒に制限されています。

  3. ユーザが、ドラッグ・アイコン上のホット・スポットに境界線を越えさせて、ドロップ領域の上にドラッグします。

    -> 有効なドロップ領域上にない場合は、ドラッグ・アイコンは無効ポインタに変化します。有効なドロップ領域の場合は、ドロップ領域が強調表示されます。

    移動の遅延: 手の移動を認識してからドラッグ・アイコンの表示を開始するまでの遅延は 50 ミリ秒未満でなければなりません。手の移動からポインタがドラッグ・アイコンに変化するまでの時間は、最大で 70 ミリ秒に制限されています。

  4. ユーザがドロップ領域にドラッグ・アイコンをドロップします。

    -> ドロップ領域が有効でない場合は、ドラッグ・アイコンはスナップ・バック遷移効果を使用してソースにスナップ・バックされます。

    -> ドロップ領域が有効な場合は、ドラッグ・アイコンはメルト・イン遷移効果を使用して出力先にメルトします。

    エコーの遅延: マウス・ボタンを離したことを認識してからフィードバック・エコーの表示を開始するまでの遅延は 50 ミリ秒未満でなければなりません。マウス・ボタンを離してからフィードバック・エコーを表示し終えるまでの時間は、最大で 120 ミリ秒に制限されています。

    スナッピー遷移: 遷移アニメーション自体は 200 〜 350 ミリ秒間実行されなければなりません。マウス・ボタンを離してから、遷移アニメーションが終了するまでの時間は、最大で 500 ミリ秒に制限されています。アニメーションはハードウェアの条件とは無関係に、同じ速度で実行されなければなりません。

  5. 出力先アプリケーションがデータ転送を開始します。

    -> ユーザに、データ転送が開始されたことを通知するメッセージが表示されます。

    -> 実行の経過状況を示すメッセージがさらに表示されます。

    -> データ転送の完了がユーザに通知されます。

    -> データ転送に失敗した場合、ユーザに失敗の理由を知らせるフィードバックを与えるかどうかは、出力先アプリケーションに依存します。

    コマンドの遅延: コマンドの起動、つまりドロップの発生を認識してから、コマンドを起動するまでの遅延は、0.3 〜 1 秒の範囲でなければなりません。ドロップの発生からコマンドの起動を完了するまでの時間は、最大で 2 秒です。

    ビジー・フィードバック: コマンドの実行に 2 秒以上かかる場合、カーソルがビジー・オブジェクト上にあるときは、必ずビジー・カーソルを表示します。可能ならば、部分的な結果を表示します。経過表示やビジー・カーソルの表示時間は 0.5 秒未満です。

    経過表示: データ転送が実行中であることを示す遷移アニメーションの完了時には、ステータス・メッセージまたは [経過] *メッセージボックス* が表示されなければなりません。例: Data transfer is 10% complete. このメッセージは転送が 100% 完了するまで、2 〜 3 秒おきに更新できます。

    通知: データ転送に失敗した場合、ドロップが失敗した理由と、ユーザが取りうる措置 (存在する場合) を示すメッセージが、ステータス領域か [経過] *メッセージボックス* に表示されなければなりません。