web-dev-qa-db-ja.com

ユーザーインターフェイスに何もしないことをユーザーに通知する必要がある状況はありますか?

見出しは少しわかりにくいかもしれませんので、ここにWebの例を示します(ただし、この質問はデスクトップアプリケーションにも同様に当てはまります)。

  1. Webブラウザーの2つの別々のタブで同じeBayリストを開きます。
  2. 1つ目のタブで[ウォッチリストに追加]をクリックすると、正常に追加されます。
  3. 次に2番目のタブに移動し、更新せずに[ウォッチリストに追加]をクリックします。

この状況では、eBayはエラーにならず、「アイテムはすでにウォッチリストにあります」と表示します。代わりに、ウォッチリストに初めてアイテムを追加したときとまったく同じように動作します。

それが実際に行っていることは、ユーザーからこの詳細を抽象化し、実際に何も実行せず、ウォッチリストにあることを示すために状態を更新するだけで、ウォッチリストに追加されたように見せかけています。

私は、ユーザーの一連の考え方やワークフローを決して妨害してはならないという考えを持っているので、これは間違いなく正しい動作です。

これのUIガイドラインは何ですか?ユーザーに何もしないことを通知する必要がある状況にはどのようなものがありますか?

状況によります!ユーザー(特に、あなたが説明するタスクよりも複雑で危険なタスク)がシステムの状態について混乱するのではないかと心配しています。その場合、自動更新などが効果的な方法です。一般に、ユーザーの思考を妨げないことに同意しますが、ユーザー(およびマルチユーザーシステムで影響を受ける他の当事者)が不利にならないようにする必要もあります。あいまいさは実際の問題になる可能性があります。

4
Peter

操作がべき等であるかどうかによって異なります。

「監視リストに追加する」場合の目標は、監視リストに追加することです。オンになっているか、オンになっていないかのどちらかですが、ウォッチリストに複数回表示されることには実際の意味はありません。何かを複数回追加しても実際には関係ないので、2番目の操作は何もする必要がないことは明らかであり、余分なアクションについて警告しても何も得られません。

別のべき等アクションは、ファイルの削除です。どういうわけか、ファイルを一度削除してから、どういうわけかもう一度削除するように手配した場合、エラーは発生しないはずです。あなたの目標は結果でした-ファイルを消去すること-それを消去することではありません。

ただし、べき等ではない操作には警告またはエラーが必要な場合があります。たとえば、アカウントから$ 20を引き出すと、状況に大きな影響を与えます。 2回目の引き出しの試みは同じ引き出しではなく、新しくてユニークなものです。操作中にUIがアカウント残高が提示されたものと異なることを発見した場合、競合状態が原因で状況が変化した場合、おそらく警告を生成するはずです。これを検出することは難しいかもしれませんが、原則としてエラーを生成する必要があります。

3
AgilePro

舞台裏で変化がある場合、私は(理論的には少なくとも)画面が最新の状態にあることを信じています。 OPの特定のシナリオは非現実的かもしれないと思いますが、原則として、画面に重要で不安定なデータが表示されている場合は、それらを最新に保つ必要があります。したがって、OPの例では、セコド画面が更新されて、更新しなくても、これをすでに追加したことが示されているはずです(AJAXテクニックは、これを可能にするほど十分に進んでいます)。少なくとも、何かが変わったことを警告するはずです。

No-opを報告する必要があるという特定の問題については、ユーザーが不要なことを試みたことが示唆され、現時点では最新の状況が十分に評価されていないためです。私はシステムのモーダルダイアログボックスについて話しているのではありませんが、要求された操作が必要ないことをユーザーに警告して、失われている可能性があることを示すメッセージを話しています。

1

これに対処する方法は、現在の状態(たとえば、カート内のアイテム)を最新にし、問題のボタンに隣接させることです。これにより、アクションの結果がどうなるかを明確に示す必要があります(- here とは異なります)。 =)。これにより、ユーザーは、状態と、クリックしたときの状態の両方を知ることができます。これは、ユーザーがクリックしたときに視覚的なフィードバックで更新されます。

この方法は、ミッションクリティカルなセキュリティソフトウェアのWebインターフェイスで使用されているので、誤解の余地はほとんどありません。

また、タブとブラウザ間でデータを簡単に更新および共有する方法が一般的になりつつあります。 (例 http://html5demos.com/storage-events

0
Forthright