ユーザーがリッチなWebアプリケーションでアクションを「元に戻す」ことができるようにするための最良のUIパターンは何でしょうか。
背景:
「戻るボタンを使用する」と言う前に、この記事を読んでください。「戻る」が「元に戻す」ではない理由をまとめたすばらしい記事です。
さようなら戻るボタン:リッチWebアプリ、[元に戻す]の必要性、[戻る]ボタンの目的とその目的を再考する -必ずお読みください。
これは、元に戻すと戻るの違いを私が見る方法です:
'Undo' UIパターン:
Webブラウザーには最初から[戻る]ボタンがありましたが、残念ながら現在は[元に戻す]ボタンを提供していません。これは、「取り消し」がアプリのUI自体から利用できる必要があることを意味します。
参考までに、以下の提案ではこれを参照しています 質問 。私が見た最も一般的な2つのパターンは次のとおりです。
----- Googleのシングルアクションundo
-----インコンテキストundo
----- Googleドキュメントundo
-----その他??
Webアプリでグローバルの元に戻すボタンがうまく機能するのを見たことはありません。また、モバイルで元に戻す機能の多くは見られません。他の提案/考え/アイデア??
解決策はデスクトップアプリがプロセスを元に戻す方法を確認するです。多くの場合、デスクトップソフトウェアは元に戻したりやり直したりします。
Word文書またはphotoshopファイルを開いて、いくつかの編集を行ったとします。任意の時点で、元に戻すまたはやり直し機能を使用して、編集を行ったときにアプリケーションが取得した一連のスナップショット状態を前後に移動できます。
ソフトウェアに応じて、スナップショットの元に戻すトリガーは、ツールの選択、編集の適用、入力、描画などのさまざまなアプリケーションイベントで発生します。スナップショットの頻度は、ソフトウェア自体に依存し、システムの電力やメモリなどにも依存します。
このプロセスは保存されたデータの状態とは無関係であることに注意することが重要です。この履歴の中を自由に動き回り、好きなように編集して、いつでもコンテンツの状態を保存することにします。 UIの状態をデータストレージに保存することを明示的に選択する必要があります。ソフトウェアは自動保存することもでき、クラッシュから回復することができます。そのクラッシュから回復したときに本当に良い場合は、元に戻す履歴があります。
確かにはわかりませんが、バージョン管理ソフトウェアの動作と同じように、コピー全体ではなく違いが記録されている可能性があります(VCSは元に戻すとやり直しも非常に得意です)。
あなたはこれを真似する必要があります。 JavaScriptを使用してページの状態のスナップショットを作成し、これらを(ローカルまたはリモートで)自動保存して、ユーザーが元に戻す履歴取得状態で移動し、すべてをアプリ内の予期されるキーとボタンにバインドして、確実な「保存」を提供できます。データを永続的に更新する関数。この最後のものは、ページを閉じるときに警告をトリガーするようなものです(デスクトップアプリなど)。
また、履歴APIを使用して、戻るボタン機能をより詳細に制御し、AJAX更新などにより、よりきめ細かく戻ることができます。
Googleドキュメントをご覧ください。ウェブドキュメントに元に戻す、やり直し、保存、自動保存を実装しています。彼らは基本的にデスクトップモデルに従います。