「このサイトは更新されました」というポップアップは迷惑だ

私は Discourse フォーラムの常連ユーザーで、通常は多数のタブを開いて複数の議論を並行して行っています。問題なのは、Discourse が更新を検出すると、すべてのタブで同じポップアップが表示されてしまうことです。一つのタブで「更新」をクリックしても、他のタブは更新されません(少なくとも Firefox 87/macOS では)。そのため、フォーラムは飽きもせず同じ質問を繰り返してきます。

2 つ目の問題は、正直なところ、これは私が気にしない細部だということです。リリースに対して誇りを持っており、更新には巧妙な ServiceWorker の仕組みが組み込まれていることは理解しています。しかし、このポップアップが示すほどの緊急性は私にはありません。何が変更されたのかすら分からないことが多いです。私がやっていることをすべて中断して、即座に更新する必要があるとも感じません。もしこれらの更新が本当に期限を過ぎた緊急のセキュリティ更新であるなら、それを明確に伝えるべきでしょう。あるいは、単に確認なしで自動更新するべきです。

このポップアップは私に決定を迫りますが、その決定を下すための情報や文脈、そしてなぜこれを緊急の割り込みとして提示する必要があるのかという正当な理由は一切提供されていません。

「いいね!」 11

他のシングルページアプリケーションでは、より目立たない「ページを更新してください」という表現が先行事例として存在します。

「いいね!」 13

サイトを積極的に利用している場合は、このアラートは表示されません。遷移を制御しているためです。

JavaScript ペイロードが変更され、更新から数時間が経過した場合にのみ表示されます。

「ユーザーXは更新Yを気にしていない」と判断するシステムを実装することは現実的ではありません。更新Yには、ユーザーXの重要なワークフローを修正する内容が含まれている可能性があるからです。

ただ、非常に活発に利用しているサイトがあり、多数のタブを保持したまま、1日に何度も更新が行われる状況であれば、確かにイライラすることはお察しします。

結論として、あなたの不満は理解しましたが、あなたの利用ケースを改善するための簡単な変更策は見当たらないようです。

「いいね!」 6

この通知ポップアップは混乱を招くと思います。通常、これを見ると、新しいコンテンツがあるのだろうとまず考えます。しかし実際には、Discourse のアップデートであり、新しい投稿があるわけではありません。

ユーザーに判断を迫ることなく、Discourse を更新する方法はありませんか?

「いいね!」 2

問題は、あなたが今何かの最中かもしれないということです。

もしかすると、バックグラウンドのタブにいて、別のトピックの作曲画面が開かれていない場合、スクロール位置を保持でき、アップデートによってサイトに対して分散型サービス拒否攻撃(DDoS)が発生しないことを保証できる(段階的適用やランダムなタイムアウトなど)かもしれません。

しかし、これは複雑になり、透明性のあるアップデートが安全であることを保証するには、おそらく数日間の作業が必要になるでしょう。

また、頻繁にデプロイを行うサイトの場合、中間バージョンの読み込みを強制するため、トラフィックが増加する可能性があります。

「いいね!」 5

はい、おそらく「このサイトを運営しているアプリが更新されました。」という文言に変更するだけで、私が説明している問題を改善できるかもしれません。

「いいね!」 2

@codinghorror が述べているように、コピーの改善は間違いなく大歓迎です :heart:

「いいね!」 4

それは、使用中のタブには決して表示されません。他のすべてのタブに表示され、メインのタブでクリックしていてもその状態のままです。

「いいね!」 3

アプリが更新されるたびに、このポップアップが表示されます。私も複数のタブを開いていることが原因なのかもしれません。これはパワーユーザー的な行動で、しかも稀なケースだと思います。サイトは最先端のものでもない限り、それほど頻繁に更新されるわけではありません。そのため、この質問全体がそれほど重要ではなく、多くの時間を割く価値がないのかもしれません。

しかし、このメッセージはもう少し状況を詳しく説明するように改善できると思います。提案としてプルリクエストを作成しました。

このサイトはソフトウェアのアップグレードを受けました。最新バージョンを今すぐ取得しますか?

「いいね!」 4

これは方向性は正しいと思います。ただし、私としては(これが何のことか知らなかった場合)、「何かをダウンロードしてインストールする必要がある」という印象を与え、一部のユーザーを遠ざけてしまうかもしれません。

このサイトはソフトウェアのアップグレードを受けました。最新バージョンを表示するために再読み込みしますか?

再読み込み 後で

「いいね!」 6

なるほど、その指摘は的を射ていますね。自分がアクセスしているサイトがアプリだと気づいていない人にとって、「ソフトウェア」という言及は混乱を招くかもしれません。どちらかというとフィッシングの手口のようにも聞こえますね :thinking:

「いいね!」 1

正直に言って、この問題に遭遇するとは驚きました。サイト所有者はどのくらいの頻度でサイトを更新しているのでしょうか?

このメッセージに「改善」のために技術用語を付け加えるのはあまり好きではありません。むしろ、WhatsApp が行っていることとかなり似ていると思います。

\u003e アップデート利用可能 – クリックして WhatsApp をアップデート

\u003e このサイトは直近で更新されました。最新バージョンを取得するために今すぐリフレッシュしますか?

以下のように変更することもできます。

\u003e アップデート利用可能。今すぐアップデートしますか?

より自然な表現であれば、どのような文案でも歓迎します。

「いいね!」 4

私の使用パターンにとって役立つ具体的な改善点として、いずれかのタブで「はい」をクリックしたときに、すべてのタブを再読み込みすることです。

「いいね!」 5

これについては確信がありません……40個のタブでDiscourseにアクセスすると、即座にレート制限がかかります。それに、なぜあそこまでトラフィックを集中させる必要があるのでしょうか?

「いいね!」 5

OP の不満はもっともです。私もよく遭遇しますが、その動作は直感的ではなく、OK または CANCEL を選択したときに何が起こるのか全く明確ではありません。これは Discourse の奇妙な点の一つで、私は長年慣れ、もはや気にしなくなりました。これが他人の不満として初めて見られたのは今回が初めてです。確かに問題ですが、影響を受けるのはメタのような頻繁に更新されるサイトのパワーユーザーに限られるため、私は「シンプルであることが最善」という考えに賛成しつつあります。@codinghorror が提案しているように、さらに言語を簡素化したい場合を除き、何らかの対応をする必要はないと思います。

むしろ興味深いのは、なぜ私たちパワーユーザーの多くが複数のタブを開く必要があると感じるのかという点です。Discourse にどのような改善を加えれば、その必要性を減らせるでしょうか?私にとっては、主にドラフトの問題です。時間のかかる投稿の途中に、自分が関与している別の投稿に関する通知が届き、それを処理するためにコントロールキーを押しながらクリックして移動します。しかし、その先が「ラビットホール」になり、別の通知が届いたり対応が必要な投稿を見つけたりすると、また同じことを繰り返すことになります。これを無限に繰り返します。1〜2 時間経つと、多くのタブが開いており、それらを一つずつ戻って投稿を完了し、タブを閉じなければならなくなります。メタは他のサイトよりも頻繁に更新され、私は一日の大半をここで過ごしているため、この警告を頻繁に受けます。

「いいね!」 3

モーダルにする必要がありますか?ブラウザには重要な更新のためのポップアップがありますが、通常は隅に表示され、ページ全体をブロックするわけではありません。Falco の WhatsApp の例もより良いようです。

ヘッダーに何かを配置することはできませんか?

「いいね!」 16

素晴らしいアイデアですね、見た目もずっと良くなり、邪魔になることも減ります。

ここでの本質的な疑問は、実際の緊急性がどの程度かということです。例えば、Chrome を 1 週間更新しなくても大きな問題はありません。このモックアップのバナー版についても同様に、下書きを仕上げるためにしばらく無視してしまうかもしれません。

Discourse の更新後、即座にページをリフレッシュしないとサイトが破損してしまうようなケースはありますか?それが、完全なモーダル takeover が意味をなす唯一の理由だと思います。

「いいね!」 1

Chrome(または Discourse)の場合、それが「常に」真実とは限りません。更新がセキュリティ更新であり、適用されるまで脆弱な状態が続く可能性があります。

どちらの場合も、更新するまで何かが破損して影響が出る可能性がありますが、sam が指摘した通り、各ユーザーごとにその判断を下そうとすると、複雑さが山のように増大してしまいます。

「いいね!」 3

その通りですが、ご指摘の通り実際にはすべての可能性を考慮することはできません。ユーザーとして、私はChromeの更新タイミングを自分で決めたいと考えています。更新が入るたびにブラウザを即座に再起動しなければならないのは、確かに面倒だと感じるでしょう。

私が知りたいのは、ユーザーにとって重要な問題を修正するDiscourseの更新とは別に、アプリの異なるバージョンでタブが開かれている状況そのものが問題を引き起こす可能性があるかどうかです。(私には前者はバナーや何らかの促しで対応すべきであり、後者はポップアップを使って即座に強制更新すべきだと感じています。)

モーダル化を解除することも可能ですが、無視された場合に、例外的な状況で実際の問題が発生する可能性があることが懸念されます。

  • 下書きが保存されなくなる
  • 投稿を送信した後、それがゴミ箱に送られ、永遠に失われる
  • トピックの読了時間が追跡されなくなる
  • 「いいね」が登録されなくなる
  • ナビゲーションが破損し、リンクをクリックしてもフリーズする可能性がある

可能性は無限大です。

これは、タブをどれほど大量に保持しているか、そしてサーバー更新の間隔がどれほど長いかによって大きく異なります。

例えば、4 年ぶりに更新されたインスタンスを想像してみてください。

「いいね!」 3