web-dev-qa-db-ja.com

継続的に保存するフォームには「保存」ボタンが必要ですか?

私は多くのフォームを備えたウェブアプリをデザインしていて、充填を改善する方法を考えていました。古典的なパターンは次のとおりです:fill、fill、fill、Save

フォーカスを外したときに各フィールドを自動保存するフォームを試しましたか?その場合、[保存]ボタンは不要になりますが、ユーザーはこのボタンに安心できます。

mockup

download bmml sourceBalsamiq Mockups で作成されたワイヤーフレーム

67
Renaud

ユーザーとして、私はこのアイデアがまったく好きではありません。

2つのシナリオがあります。

  1. エンティティを作成する
  2. エンティティの編集

たとえば、作成モードの場合...連絡先...名のフィールドに「Dave」と入力するとすぐに、エンティティを作成する必要があります。結局のところ、Daveを追加するつもりはないので、通常は画面を離れるだけで問題ありませんが、この場合は、ユーザーが望んでいない部分的なシステムの望ましくないエントリが表示されます。

編集モードの場合、いくつかの変更を開始する可能性があります...その後、エラーが発生しました...間違ったデータを入力しました(または間違ったフィールドに入力しました)...問題ありません。変更を破棄して、 form!...いいえ、待ってください。自動的に上書きされるので、それはできません。

[保存]ボタンの優れた点は、ユーザーが何もコミットしていないとユーザーが期待するまで、ユーザーがデータを保存するように明示的に指示していることです。

116
scunliffe

私はここに回答を投稿しました この懸念に少し詳しく対処していると思います。

自動保存は、ユーザーの作業に時間がかかる場合がある優れた機能です(長いフォームやドキュメントの編集など)。あなたは彼らが行くときに保存することを覚えていることの精神的なオーバーヘッドを彼らに惜しみません。

間違ったメッセージを送信しないでください

作業の完了時にシステムが段階的に節約しているが、 Save ボタンをクリックすると、ユーザーはその自動保存が実際に何をしているのか不思議に思います。

本当に助かりましたか?
このボタンもクリックする必要がありますか?
クリックした場合 Save フォームを離れますか?

なぜユーザーにそのような不安を抱かせますか?決心して、正しいパターンを決定します:手動または自動保存。

明確な視覚的手がかり

フォームは手動で保存されることが多いため(良くも悪くも)、それを拒否する場合は、ユーザーに明確に伝える必要があります。以下は、私が使用した、よく機能する視覚的な手がかりです。

Auto-save visual indictors

道を提供する

ユーザーは時々(しばしば?)気が変わります。途中で作業を保存していた場合は、その作業を簡単に元に戻す方法を提供する必要があります。これを特にデータクリティカルなアプリケーションでうまく機能させるいくつかの機能があります。

  • フィールドレベルの取り消し
  • すべての変更をキャンセルして破棄する
  • 元に戻す機能を備えたログの変更(管理者向け)
20
plainclothes

すべての入力が正しく保存されたことを確認できる単一のポイントが必要だと思います。あなたの自動保存の例にはそれがありません-より長く、より複雑なフォームを想像してください、そしてあなたがフィールドの1つにいくつかの無効な値を入れ、あなたがそれを訂正し、入力と保存の間に少しの遅れがあります...接続が信頼できず、保存がランダムに失敗するなど...すべてが正しく保存されていることを確認するにはどうすればよいですか?

GoogleドキュメントとOffice 365がどのようにそれを行うかを検討する必要があると思います。ツールバーには、ステータスを示すラベルがあります(「2分前に保存されました」、「保存しています...」、「保存されていません-サーバーへの接続が失われていません。再接続を試みています」など)。

フォームの場合、これをフォームの下部、[保存]ボタンを配置する場所の近くに配置できます。情報は次のとおりです。

  • 「変更を保存しています...」
  • 「すべての値はX分前に自動的に保存されました」
  • 「一部の値が正しく入力されていないため保存されていません。フォームを確認してください。」
  • 「(エラー)のため、一部の値は保存されていません」

これは、少なくとも[保存]ボタンと同じくらい目立つはずです。おそらく、大きな緑色の目盛り、失敗した場合は明るい読み取りX、進行中の場合はスピナーグラフィック(テキストの説明の横)

6
JanErikGunnar

自動保存フォームで試してみましたが、フォームの下部にボタンがあることは論理的であり、ほとんどのユーザーに期待されていました。私の場合、「公開して閉じる」ボタンになります。ユーザーは、自分のコンテンツが承認なしに保存されることに不安を感じるかもしれません。そのため、保存ボタンを用意することをお勧めします。これにより、ユーザーはコンテンツを制御できるようになります。

まるでグーグルの「ラッキーボタンを感じてる」のようなものです。 「通常の検索ボタン」を使用した場合と異なる結果が表示されなくても、そこにあると期待されます。実際、JavaScriptを有効にしている場合、入力を開始するとGoogleが結果を表示するため、JavaScriptを押す機会さえありません。

詳細については、この質問を参照してください。

時には、それが意味をなすためではなく、存在がアフォーダンスであるために存在することがあります。つまり、それは良いからではなく、訪問者がそれが何であるか、何をするか、そしてそれをどのように使用するかを理解しているためです。この知識で長年にわたって教え込まれました。

5
Nick Groeneveld

保存ボタンのないフォームは、最近の私の個人的な経験に基づいて一般的になっています。

保存ボタンのないフォームを使用する企業が増えているのを目にしました。これが一般的と思われる領域の1つは、「設定」です。

最初、私はこれらのフォームが非常に混乱していることに気づきました-基本的に「保存ボタンはどこにあるのか」という不安。最初は他のタブに移動し、ログアウトしてログインし、データが残っていることを確認しました。これでかなりの時間を経験しましたが、慣れてきましたし、混乱することはありません。
同様に、変更が行われたときのajaxフィードバックメッセージについても、最初はこのフィードバックが必要であり、必要でした。時間が経つにつれ、そのフィードバックを返さない新しいフォームに慣れてきました。自分でもフィードバックを好みますが、フィードバックが得られないフォームに慣れています

これは興味深いカテゴリの1つの例です。既存のメンタルモデルが原因でユーザーにうまく機能しないユーザー入力ですが、慣れるとメンタルモデルが変更され、変更が受け入れられるようになります-望ましいことです!

3
Michael Durrant

もしあなたが本当に自動保存が進むべき道だと思っているならば、私は保存ボタンを置かないように言うでしょう。 しかし、データが保存されていることを何らかの方法で示していることを確認してください。

scunliffe が指摘したように、示したユースケースでは、自動保存はお勧めできません。誰かがバックアウトすると、パーシャルは永久に保存される可能性があります。これを回避するために、ページを終了する前にパーシャルを保存するかどうかをユーザーに尋ねることができますが、私の意見では、保存ボタンよりもユーザーエクスペリエンスが低下します。

2
Sinjai

他の回答に示されているユーザーエクスペリエンスの問題に加えて、ここではperformanceおよびsecurityの問題を考慮する必要があります。

  1. 自動保存イベントがトリガーされるたびに、フォームはsave to databaseコマンドを実行します。フォームに10個のフィールドがある場合、サーバーはこのコマンドを保存ボタンを使用するよりも少なくとも10倍多く実行するはずです。 Webページがあるので、何百万ものユーザーにリーチできる可能性があります。これは簡単なことではありません。
  2. ページは常にsend/receive小さなデータパッケージを要求しているため、ユーザーのシステムが不必要な量のデータ通信リソースをページ/フォームに割り当てる可能性があります。
  3. save to databaseイベントへの制御をほとんど放棄したので、少なくとも簡単な方法で、送信者が人間であるかどうか、または自動化されたコードの平和。したがって、ページはサービス拒否攻撃のリスクが高い可能性があります。
  4. Scunliffeが指摘するように、データベースには数千の部分スクラップデータが含まれる可能性があり、データ品質とデータベース全体のパフォーマンスが低下します。

ついにですが、「...その時点まで、ユーザーは何もコミットしていないと期待しています。」(scunlife)

1
J. Manuel

両方を使う。自動保存を除いて、新規/編集されたエントリに直接移動するのではなく、ドラフトバージョンに移動する必要があります。ユーザーが何らかの理由で(またはクラッシュの場合に)フォームを閉じ、結局、それらの変更が必要であると判断した場合-保存されたドラフトを引き出して、ユーザーが彼から離れたところから続行できるようにします。

フォームの下のボタンで、ユーザーが変更を確定できるようにする必要があります。つまり、ベースへのコミット、公開、送信など、必要に応じて最後にコミットされたバージョンに戻します。

これは一部のシナリオでは異なる可能性がありますが、不完全なデータは役に立たないことが多く、混乱を招く可能性があります。特に、個人データベースを編集するのではなく、ユーザーが何らかの方法で公開して他の人が見られる場合は、まだいくつかある方が良いです。編集者がすべての小さなことを自動的に外の世界に押し出す代わりに、「消費の準備ができている」ことを知らせる方法。

つまり、IMOは最も直感的なアプローチです。これは、GMailが常に下書きを自動保存する方法ですが、直接指示された場合にのみ送信されます。私がこの答えを書いているコメントフォームでさえ、今はこのように機能します。入力したものは常に下書きとして保存され、失われることはありませんが、完了したら明示的にPush "答えを投稿"する必要があります。

1
Oleg V. Volkov

はい、お願いします! Enterキーを押すと自動保存されるプログラムを使用しています。これを知っていても、ページを再度開いて、入力/変更した内容が保存されていることを確認します。これはより多くの仕事を作成します。明確で簡潔な答えがなく、それを台無しにしたくないので、私はそうします。彼らが貯蓄を置くか、ボタンを提供するならば、それは私を幸せにするでしょう。では、実際にあなたがすべき理由の例を挙げましょう。

0
DCook