„이 사이트가 방금 업데이트되었습니다“ 팝업이 짜증스럽습니다

저는 디스커스(Discourse) 포럼의 일반 사용자이며, 보통 여러 탭을 열어 여러 토론을 동시에 진행합니다. 문제는 디스커스가 업데이트를 감지할 때마다 모든 탭에서 동일한 팝업이 표시된다는 점입니다. 한 탭에서 새로고침을 클릭해도 다른 모든 탭이 새로고침되지 않습니다(최소한 Firefox 87/macOS에서는). 그래서 포럼이 같은 질문을 지루할 정도로 반복해서 묻게 됩니다.

두 번째 문제는 솔직히 저에게는 별다른 관심사가 아니라는 것입니다. 릴리스에 자부심을 가지고 있고, 업데이트를 위해 영리한 ServiceWorker 메커니즘이 구현되어 있다는 것을 알고 있습니다. 하지만 이 팝업이 보여주는 긴급성의 정도까지 저에게 영향을 미치는 사안은 아닙니다. 보통 무엇이 변경되었는지조차 구별하기 어렵습니다. 제가 하고 있던 일을 모두 중단하고 즉시 업데이트해야 한다는 느낌을 받지 않습니다. 만약 이 업데이트들이 실제로 긴급한 보안 업데이트라면, 그렇게 명시적으로 알려주거나, 아예 묻지 않고 새로고침을 진행해야 합니다.

이 팝업은 저에게 결정을 요구하지만, 이 결정을 내리기 위한 정보나 맥락도, 그리고 이를 긴급한 중지로 제시할 만한 근거도 제공하지 않습니다.

11개의 좋아요

다른 단일 페이지 애플리케이션(SPA)에서는 덜 눈에 띄는 "페이지를 업데이트하세요"라는 문구를 사용하는 선행 사례가 있습니다.

13개의 좋아요

사이트를 활발하게 사용 중이시라면 이 알림은 절대 표시되지 않습니다. 우리는 전환(transition)을 가로채기 때문입니다.

이 알림은 JavaScript 페이로드가 변경되고 업데이트 이후 여러 시간이 지난 경우에만 표시됩니다.

사용자 X가 업데이트 Y에 관심이 없다는 것을 알려주는 시스템을 구축하는 것은 현실적으로 어렵습니다. 업데이트 Y에는 사용자 X의 핵심 워크플로우에 대한 수정 사항이 포함될 수 있기 때문입니다.

다만, 매우 활발하게 사용하는 사이트에서 탭을 여러 개 열어두고(탭 호딩) 하루에 여러 번 업데이트가 이루어지는 경우 frustrate할 수 있다는 점은 이해합니다.

결론적으로, 여러분의 frustrate함을 이해하지만, 여러분의 사용 사례에 대해 상황을 개선할 수 있는 쉬운 변경 사항이 있는지 확신할 수 없습니다.

6개의 좋아요

이 알림 팝업이 혼란스럽다는 데 동의합니다. 보통 이 알림을 보면 새로운 콘텐츠가 있다는 생각이 먼저 듭니다. 하지만 실제로는 새로운 게시물이 아니라 Discourse가 업데이트된 것입니다.

사용자가 결정하도록 묻지 않고 Discourse만 업데이트하는 방법이 있을까요?

2개의 좋아요

문제는 여러분이 무언가를 진행 중인 상황일 수 있다는 점입니다.

예를 들어, 백그라운드 탭에 있고… 다른 토픽에 대해 작성기를 열어두지 않은 상태라면… 그리고 스크롤 위치를 유지할 수 있다면… 그리고 업데이트로 인해 분산 서비스 거부 공격(DDoS)이 발생하지 않도록 보장할 수 있다면(단계적 처리, 무작위 타임아웃) 말이죠.

상황이 복잡해집니다. 투명한 업데이트가 안전하도록 보장하려면 며칠간의 작업이 필요할 것으로 보입니다.

또한… 배포가 많은 사이트의 경우 중간 버전의 로딩을 강제하기 때문에 트래픽이 증가하게 됩니다.

5개의 좋아요

음, 제가 설명하는 문제를 단순히 문구를 “이 사이트를 구동하는 앱이 업데이트되었습니다.” 정도로 변경해서 개선할 수 있을 것 같습니다.

2개의 좋아요

@codinghorror 님이 말씀하신 대로, 문구 개선은 정말 환영합니다 :heart:

4개의 좋아요

_사용 중인 탭_에는 절대 표시되지 않습니다. 모든 다른 탭에 표시되며, 메인 탭에서 여기저기를 클릭하더라도 그대로 남아 있습니다.

3개의 좋아요

앱이 업데이트될 때마다 이 팝업이 계속 뜨는 걸 볼 수 있습니다. 혹시 여러 탭을 열어두는 내 습관 때문인지 궁금합니다. 이건 파워 유저의 행동 패턴인 것 같고, 그런 경우가 흔하지도 않은 것 같습니다. bleeding edge를 추구하는 사이트가 아니라면, 사이트가 그렇게 자주 업데이트되지 않으니까요. 그래서 이 질문 자체가 많은 시간을 할애할 만큼 중요하지 않을 수도 있습니다.

하지만 현재 상황을 조금 더 잘 설명할 수 있도록 문구를 개선할 수 있을 것 같습니다. 제안하기 위해 방금 풀 리퀘스트를 만들었습니다.

이 사이트가 방금 소프트웨어 업그레이드를 받았습니다. 최신 버전을 지금 받아 보시겠습니까?

4개의 좋아요

제 생각에는 올바른 방향이지만, 제 경우(이것이 무엇에 관한 것인지 몰랐다면) 무언가를 다운로드해서 설치해야 하는 것처럼 읽혀서, 일부 사용자들이 주저할 수 있을 것 같습니다.

이 사이트가 방금 소프트웨어 업그레이드를 받았습니다. 최신 버전을 보려면 새로고침하세요.

새로고침 나중에

6개의 좋아요

맞아, 좋은 지적이야. 해당 사이트가 앱이라는 걸 모르는 사람들은 소프트웨어라는 표현에 혼란을 느낄 거야. 거의 피싱 상황처럼 들리니까. :thinking:

1개의 좋아요

솔직히 이런 상황이 발생하다니 놀랍네요 – 사이트 소유자가 얼마나 자주 사이트를 업데이트하나요?

이 메시지에 "개선"을 위해 기술 용어를 추가하는 건 별로 좋아하지 않습니다. WhatsApp이 하는 방식과 꽤 비슷해 보이거든요:

업데이트 가능 – 클릭하여 WhatsApp 업데이트

이 사이트가 방금 업데이트되었습니다. 최신 버전을 보려면 새로고침하시겠습니까?

아마 이렇게 변경할 수도 있겠네요

업데이트가 있습니다. 지금 업데이트하시겠습니까?

더 좋은 문구가 있다면 어떤 것이든 좋습니다.

4개의 좋아요

제 사용 패턴에 도움이 될 구체적인 개선 사항은, 어떤 탭에서든 '예’를 클릭하면 모든 탭을 다시 로드하는 것입니다.

5개의 좋아요

이건 좀 의문스럽네요… 40개 탭이 Discourse를 동시에 호출하면 즉시 레이트 리밋에 걸리잖아요. 게다가… 왜 그렇게 트래픽을 몰아넣는 건지…

5개의 좋아요

질문자(OP)의 불만은 정당합니다. 저도 이 문제를 자주 겪는데, 동작 방식이 직관적이지 않고 OK나 CANCEL을 선택했을 때 어떤 일이 벌어지는지 전혀 명확하지 않습니다. 이는 Discourse의 특이점 중 하나로, 저는 수년간 적응해서 더 이상 신경 쓰지 않고 있었습니다. 다른 사람이 이 문제를 지적하는 것을 본 것은 이번이 처음입니다. 이는 문제이긴 하지만, 메타(meta)처럼 업데이트가 잦은 사이트에서 주로 파워 유저들에게만 영향을 미치기 때문에, 저는 점차 '적은 것이 더 나은 것(less is more)'이라는 생각에 동의하게 되었습니다. @codinghorror님이 제안하신 것처럼 언어를 더 단순화할 의사가 없다면, 아무것도 하지 않아도 된다고 생각합니다.

저는 오히려 왜 우리가 파워 유저들은 여러 탭을 여는 필요성을 느끼는지에 대해 더 궁금합니다. 그 필요성을 줄이기 위해 Discourse에 어떤 개선을 할 수 있을까요? 제 경우엔 보통 초안(draft) 때문입니다. 시간이 좀 걸리는 게시물을 작성하다가 제가 참여한 다른 게시물에 대한 알림이 오면, 컨트롤+클릭으로 해당 게시물로 이동해서 처리합니다. 하지만 그러다 보면 딴 길로 새서(rabbit hole) 또 다른 알림이 오거나 처리가 필요한 게시물을 보게 되면 다시 같은 일을 반복하게 되며, 이 과정은 끝없이 이어집니다. 1~2시간 후면 여러 탭이 열려 있는 자신을 발견하게 되고, 그때서야 다시 하나씩 돌아가며 게시물을 마무리하고 탭을 닫아야 합니다. 메타 사이트는 다른 사이트보다 업데이트가 더 잦고, 제가 하루 중 대부분을 여기서 보내기 때문에 이 경고가 자주 표시됩니다.

3개의 좋아요

모달이어야 하나요? 브라우저에는 중요한 업데이트를 위한 팝업이 있지만, 보통 화면 구석에 표시되며 전체 페이지를 막지는 않습니다. Falco의 WhatsApp 예시도 더 나은 것 같습니다.

헤더에 무언가를 넣을 수 있을까요?

16개의 좋아요

좋은 아이디어네요. 훨씬 더 좋아 보이고, 사용자에게 덜 방해가 되는 것 같습니다.

여기서 핵심은 실제 시급성이 얼마나 되는지입니다. 예를 들어 크롬을 일주일 동안 업데이트하지 않아도 큰 문제는 없잖아요. 이 목업 배너 버전도 비슷하게, 초안을 마무리하거나 다른 일을 처리하는 동안 잠시 무시할 수도 있을 것 같습니다.

Discourse 업데이트 후 즉시 페이지를 새로고침하지 않으면 사이트가 깨지는 경우가 실제로 존재합니까? 제 생각에는 그게 유일한 이유라고 생각합니다. 즉, 전체 화면 모달을 사용하는 것이 합리적인 유일한 상황은 바로 그 경우입니다.

1개의 좋아요

크롬(또는 Discourse)의 경우 항상 그런 것은 아닙니다… 해당 업데이트가 보안 업데이트일 수 있으며, 이를 적용하기 전까지는 취약점에 노출되어 있을 수 있습니다.

두 경우 모두 업데이트를 하기 전까지 사용자에게 영향을 줄 수 있는 문제가 발생할 수 있지만, sam이 언급했듯이 각 사용자에게 대해 이를 판단하도록 하려면 엄청난 복잡성이 추가됩니다.

3개의 좋아요

맞습니다. 하지만 말씀하신 대로 실제로는 모든 가능성을 고려할 수 없으며, 사용자인 제 입장에서는 크롬을 언제 업데이트할지 스스로 결정하는 것을 훨씬 선호합니다. 업데이트가 적용될 때마다 즉시 브라우저를 재시작해야 한다면 정말 번거롭게 느껴질 것입니다.

제가 묻고 싶은 것은, 사용자가 중요하게 여기는 문제를 해결하기 위한 Discourse 업데이트와 별개로, 서로 다른 버전의 앱이 열린 탭으로 존재하는 상황이 그 자체로 문제를 일으킬 수 있는지에 대한 것입니다. (제 생각에는 전자의 경우 배너나 일종의 알림이 정당화되며, 후자의 경우 팝업으로 즉시 강제 실행하는 것이 정당화됩니다.)

모달을 제거할 수도 있지만, 무시될 경우 예외적인 상황에서 몇 가지 심각한 문제가 발생할 수 있다는 점이 우려됩니다.

  • 초안 저장 기능이 중단될 수 있습니다.
  • 게시물을 제출한 후, 그것이 휴지통으로 이동하여 영구적으로 사라질 수 있습니다.
  • 주제의 읽기 시간 추적 기능이 중단될 수 있습니다.
  • 좋아요 등록이 중단될 수 있습니다.
  • 내비게이션이 깨져 링크를 클릭해도 화면이 멈추는 현상이 발생할 수 있습니다.

상상할 수 있는 모든 일이 일어날 수 있습니다.

실제로는 탭을 얼마나 많이 쌓아두었는지, 그리고 서버 업데이트 사이에 얼마나 오랜 시간이 흘렀는지에 따라 크게 달라집니다.

예를 들어, 4년 만에 업데이트된 인스턴스를 생각해 보세요.

3개의 좋아요