web-dev-qa-db-ja.com

ページの更新:「完全」、「通知」、または「置換」

曲のリストなど、自動更新ページでの最高のユーザーエクスペリエンスは何ですか。現在、私は考えられる3つの優れたソリューションについて考えています。

  • 「完全」更新:Vk.comフィードのように、新しいコンテンツが上部に表示されたとき。
  • 「通知」の更新:Twitterのように、ユーザーが新しいアイテムを読み込むために特別な通知をクリックする必要がある場合。
  • 「交換」の更新:StackExchangeリアルタイムの質問のように、アイテムの数が固定され、新しいアイテムが古いアイテムを置き換える場合。

この方法の長所と短所は何ですか?絶え間なくリアルタイムで更新されるコンテンツに役立つユーザーエクスペリエンスのアイデアはありますか?

10
m0nhawk

ユーザーの操作なしで更新しないでください

セクション6.7 W3CのWebコンテンツアクセシビリティガイドライン1. (1999年5月5日に既に発行されています。

時間に依存するコンテンツの変更をユーザーが制御できるようにします。

オブジェクトまたはページの移動、点滅、スクロール、または自動更新が一時停止または停止していることを確認します。

昔は、ほとんどの場合、メタタグを使用してページを自動更新しないことを意味していました。この背後にある理由は明白です。ユーザーが何をしているのかを一度に知ることができないため、任意の時点でページ(またはその一部)を更新すると混乱が生じます。と見当識障害。

当時から同様に有効であるユーザビリティに関するもう1つの側面は、ブラウザの履歴と戻るボタンの機能を破壊する可能性のある、非標準的な手法による更新です。あらゆる種類の更新を実装するには、履歴イベントを適切な方法で処理する必要があります(これは、html5履歴の実装とそれぞれのポリフィルを介して実行できます)。

可能であれば部分的なビューをロードします

ユーザーエクスペリエンスの観点から見ると、ページの読み込みビットは、読み込み時間のわずかに低い遅延が認識されるため、ユーザーが好むようです悪影響が少ない。 ( Googleリサーチブログにブログ投稿があります 興味深い点とデータがあります。記事にリンクされているpdfを参照してください。)


これら2つの考慮事項が実際に与えられた場合、最善の方法は、ユーザー操作後の更新、または「通知の更新」、あなたがそれを置くように。さらに、アイテムが読み込まれる位置(既存のアイテムの先頭または既存のアイテムの後に追加)は、コンテンツの一般的な並べ替え方向によって異なります。

このアプローチで覚えておくべきいくつかのポイント:

  • ユーザーが新しいアイテムが挿入される場所と現在表示されているコンテンツがどのように再配置されるかをユーザーが簡単に追跡できるようにします(たとえば、Twitterのページスクロール位置が新しいアイテムの読み込みで「ジャンプ」し、読み取りエクスペリエンスが中断する場合があります)。
  • ロードされたアイテムの数または数を表示する(カウントまたは新しいアイテムを含める、または少なくとも一時的に-たとえば次のロードまで、ロードされたものを視覚的に強調表示する この無限スクロールに関する記事 にはいくつかの考慮事項があります)
  • 私の見解では、ブラウザの戻るボタンを使用すると、更新する前にビューを元に戻す必要があるため、誰かが誤って「更新」して混乱した場合は、いつでも後退して後戻りすることができます。ただし、これが表示されない場合があり、意味のない「更新」イベントで履歴を溢れさせたくないかもしれません-それはあなたのデータと更新頻度に依存すると私は言うでしょう
4
kontur

個人的に私は物事を管理するのが好きで、ページの更新や新しいアイテムのリストなど、私の制御の外で起こっていることは多かれ少なかれ嫌いです。少なくともユーザーとしての私は、自分がコントロールしているという印象を得る必要があります。

私のチームと話すと、彼らは私と同じ意見です。そのため、新しいアクティビティのSE通知とTwitterの新しいツイート通知の実装は、コンベンションになりつつあります。

6
Benny Skogberg

考慮すべき要素はたくさんあります。 Googleニュースは自動的に更新され(どの方法かわからない)、気になりません。 Twitterが自動的に更新された場合、私が読み込もうとしているときに何かが下にスクロールすると、非常に煩わしくなります。さらに悪いことに、私がそれと対話(クリック、ドラッグ、タイプ)したときに何かが動くことになります。

通知とクリックの要求は、予期しない動きがないことを保証する最も安全な方法です。あなたは常に安全な方法から始めることができ、それがどういうわけか面倒であるという圧倒的なフィードバックを受け取ったら、より自動化された方法を試すことができます。

1
obelia

個人的には、Twitterのように通知の更新を好みますが、邪魔にならないと思います。コンテンツを更新するかどうかを決定しますそしていつそれをするか。

Facebookは、下にスクロールしてから上にスクロールすると、フルアップデート(@ m0nhawkで定義されている)を実行することがあります。そうすると少し煩わしく感じますが、それでも問題ありません。

リストに完全に不要で迷惑な更新を追加する必要があります:( があります。オン [X] Cerrar este anuncio)時々ページが更新され、ユーザーの方向性が失われます。リンクの例は、人気のベネズエラのニュースウェブサイトで、15分ごとにページを更新しています。更新を回避するために、それをすばやく読み取る必要があります。これにより、新しいコンテンツが読み込まれないことがありますが、これまで読んでいたものと同じです。

1
Roimer

イマオ、ツイッターアプローチは大丈夫です。

しかし、「新しい」ハイブリッドアプローチはどうでしょうか。

次のようになります。

ユーザーがリスト/投稿を下/上にスクロールしているかどうかを含めます。

ユーザーがactiveの場合、自動ロードしないでください。新しい更新の数のみをページの上部に表示します(ただし、ページと一緒にスクロールします)ので、ユーザーは通知を受け取り続けますが、気が散ることはありません。

ユーザーがactiveでない場合、特定のlimitの新しい投稿/更新の数に達する前にnotify-only Twitterアプローチを実行します。その制限に達したら、新しいアイテムの10%程度をロードします。 Twitterのスタイルで。ただし、神のために、ページを完全に更新しないでください。また、膨大な量の新しいアイテムをロードすることは確かに厄介です。

このアプローチでは、制限カウントと新しい読み込み率の間の正確な「fung-shui」を見つけ、ユーザーのフィードバックを通じて最適化する必要があります。

1
kmonsoor