ドラッグ&ドロップ操作中に、タイミングとユーザに対する応答が重要な瞬間がいくつかあります。最適なパフォーマンスを保証する責任は、ソースおよび出力先のアプリケーションと、Motif ドラッグ&ドロップ API およびドラッグ&ドロップ簡易 API にあります。
ドラッグ&ドロップ操作におけるユーザの個々の手順とそれに対するシステム応答を、時間を追って次に示します。各手順の後に、対話のタイミングに関するガイドラインがあります。
ユーザが選択します。ポインタは選択したオブジェクト上にあります。ユーザはマウス・ボタンを押し続けます。
ユーザがポインタの移動を開始します。ユーザはドラッグを開始する前に、ポインタを 10 ピクセル移動できなければなりません。ユーザが BTransfer を押している場合は、ドラッグのしきい値はありません。
-> ドラッグを開始すると、ポインタはドラッグ・アイコンに変化します。
移動の遅延: 手の移動を認識してからドラッグ・アイコンの表示を開始するまでの遅延は 50 ミリ秒未満でなければなりません。手の移動からポインタがドラッグ・アイコンに変化し終えるまでの時間は、最大で 70 ミリ秒に制限されています。
ユーザが、ドラッグ・アイコン上のホット・スポットに境界線を越えさせて、ドロップ領域の上にドラッグします。
-> 有効なドロップ領域上にない場合は、ドラッグ・アイコンは無効ポインタに変化します。有効なドロップ領域の場合は、ドロップ領域が強調表示されます。
移動の遅延: 手の移動を認識してからドラッグ・アイコンの表示を開始するまでの遅延は 50 ミリ秒未満でなければなりません。手の移動からポインタがドラッグ・アイコンに変化するまでの時間は、最大で 70 ミリ秒に制限されています。
ユーザがドロップ領域にドラッグ・アイコンをドロップします。
-> ドロップ領域が有効でない場合は、ドラッグ・アイコンはスナップ・バック遷移効果を使用してソースにスナップ・バックされます。
-> ドロップ領域が有効な場合は、ドラッグ・アイコンはメルト・イン遷移効果を使用して出力先にメルトします。
エコーの遅延: マウス・ボタンを離したことを認識してからフィードバック・エコーの表示を開始するまでの遅延は 50 ミリ秒未満でなければなりません。マウス・ボタンを離してからフィードバック・エコーを表示し終えるまでの時間は、最大で 120 ミリ秒に制限されています。
スナッピー遷移: 遷移アニメーション自体は 200 〜 350 ミリ秒間実行されなければなりません。マウス・ボタンを離してから、遷移アニメーションが終了するまでの時間は、最大で 500 ミリ秒に制限されています。アニメーションはハードウェアの条件とは無関係に、同じ速度で実行されなければなりません。
出力先アプリケーションがデータ転送を開始します。
-> ユーザに、データ転送が開始されたことを通知するメッセージが表示されます。
-> 実行の経過状況を示すメッセージがさらに表示されます。
-> データ転送の完了がユーザに通知されます。
-> データ転送に失敗した場合、ユーザに失敗の理由を知らせるフィードバックを与えるかどうかは、出力先アプリケーションに依存します。
コマンドの遅延: コマンドの起動、つまりドロップの発生を認識してから、コマンドを起動するまでの遅延は、0.3 〜 1 秒の範囲でなければなりません。ドロップの発生からコマンドの起動を完了するまでの時間は、最大で 2 秒です。
ビジー・フィードバック: コマンドの実行に 2 秒以上かかる場合、カーソルがビジー・オブジェクト上にあるときは、必ずビジー・カーソルを表示します。可能ならば、部分的な結果を表示します。経過表示やビジー・カーソルの表示時間は 0.5 秒未満です。
経過表示: データ転送が実行中であることを示す遷移アニメーションの完了時には、ステータス・メッセージまたは [経過] *メッセージボックス* が表示されなければなりません。例: Data transfer is 10% complete. このメッセージは転送が 100% 完了するまで、2 〜 3 秒おきに更新できます。
通知: データ転送に失敗した場合、ドロップが失敗した理由と、ユーザが取りうる措置 (存在する場合) を示すメッセージが、ステータス領域か [経過] *メッセージボックス* に表示されなければなりません。