슬로우 모드의 취지 자체는 정말 마음에 들지만, 우리 디스코에서 플레임워(온라인 논쟁)를 촉발하는 가장 흔한 원인을 정확히 다루지는 못합니다:
누군가 “뜨겁게” 진입합니다 — 대개는 신규 회원이거나 다른 커뮤니티에서 온 사람 — 그리고 여러 불만을 나열합니다.
기존 회원들이 다양한 동기로 원 게시자에게 말을 걸거나(또는 비난하며) 답글을 달지만, “인터넷에서 누군가가 틀렸다고 생각하는” 증후군이 가장 큰 동기가 되는 경우가 많습니다.
원 게시자는 모든 사람에게 답하고 싶어 합니다.
가장 건설적인 토론이라도 상황은 빠르게 눈덩이처럼 불어납니다.
슬로우 모드는 여기서 도움이 되지 않습니다. 왜냐하면 다 대 일(Many-to-One) 문제이기 때문입니다. 대개 신규 회원만 제한의 직격탄을 맞아 더욱 소외되는 결과를 낳습니다. 쿨다운 타이머가 흐르는 동안 여러 명이 그에게 답글을 달 수 있지만, 그는 단 한 번의 게시글로만 대응할 수 있기 때문입니다.
이러한 상황을 위해 제 도구함에 있으면 좋을 한 가지 도구는 토픽의 ‘범프(Bumping, 최신순 이동)’ 속도를 늦추는 것입니다. 기본 목록(최신순과 인기순 모두)은 이러한 “뜨거운” 토픽을 우선시합니다. 12시간에 한 번 등과 같이 범프 빈도를 제한할 수 있다면 좋겠습니다. 그러면 토픽이 완전히 목록에서 사라지는 것은 아니지만, 상당한 비중 감소가 되어 토론에 새로 진입하는 사람의 수를 줄이는 데 도움이 될 수 있습니다(적극적으로 찾아오는 사람은 상관없으니 말입니다).
그렇습니다. 하지만 수많은 메시지에 답하는 그런 괴물 같은 게시물은 토픽을 관리하는 것을 더욱 어렵게 만듭니다. 분리가 불가능해지고, 그들은 게시자를 더욱 적대적인 상태로 몰아넣는 경향이 있습니다(아니면 적어도, 거대한 텍스트 벽이라는 사실만으로 불만을 키우는 것처럼 보이는 것입니다).
실제로 Julia discourse에서 우리가 목격한 슬로우 모드의 또 다른 의도하지 않은 결과입니다. Julia discourse는 꽤 활발한 유료 호스팅 인스턴스인데, 슬로우 모드가 켜지면 일부 사람들이 새 글을 쓰는 대신 기존 글을 수정하기 시작합니다. 문제적인 사용자를 TL0로 설정할 때도 비슷한 문제가 발생합니다. 이들은 새 글을 쓸 수는 없지만 기존 글을 수정할 수는 있으므로, 그렇게 하게 되는데, 특히 사람들이 답글을 단 화를 돋우는 내용을 나중에 수정할 경우 해당 답글이 맥락에 맞지 않는 것처럼 보이게 되어 더욱 문제가 됩니다.
하지만 네, @mbauman의 제안에 분명히 동의합니다. 뜨거운 주제(핫 토픽)가 너무 자주 상단으로 올라오는 것을 방지할 수 있다면 상황을 진정시키는 데 매우 도움이 될 것입니다.
핵심 아이디어는 꽤 간단합니다: 관리자 토픽 메뉴에 “토픽 범프 제한…” 같은 이름으로 표시하면 좋겠습니다(아마 “ 범프 날짜 초기화” 항목 옆에 배치될 것입니다). 그러면 시간대를 입력하도록 요청하는 모달 박스가 나타납니다. 텍스트는 다음과 같은 내용이 될 것입니다: “이 토픽이 최신 토픽 및 기타 카테고리 목록 상단에 표시되는 빈도를 최대 X시간에 한 번으로 제한합니다.”, 기본값은 8시간 정도가 적절할 것입니다.
구현 방식에 대해서는 굳이 고집하지 않습니다. 상태 관리 방식(토픽 업데이트 시간을 범프한 마지막 게시물을 추적하고, 새 게시물의 시간이 X시간 이상 미래인 경우에만 업데이트)이거나 상태 관리가 없는 방식(유닉스 에포크 또는 첫 게시물로부터 X시간의 정수 배로 토픽 업데이트 시간을 설정)일 수도 있습니다. 아니면 다른 방식이든 상관없습니다.
사용자에게 표시되는 내용에 대해서는 100% 확신은 없지만, 반드시 사용자에게 알려야 하는 것은 아니라고 생각합니다. 대신 “미등록” 게시물 항목처럼 단순히 "이 토픽은 X시간에 한 번씩만 토픽 목록 상단에 표시됩니다."라고 표시할 수 있습니다.
다른 도구들에 관해서 말하자면, 우리는 때때로 스레드 미등록 기능을 사용하지만, 이 문제는 주로 공격적인 신규 사용자와 관련이 있습니다. 이들은 검열의 흔적에 대해 큰 불쾌감을 느낄 수 있는 유형의 사람입니다. 그리고 저는 정말로 검열/숨김/삭제를 원하지 않습니다. 핵심은 더 부드러운 개입을 통해, 그 자체로 더 많은 불만을 일으킬 가능성이 낮고, hopefully 온도를 조금 낮추는 데 도움이 되는 것입니다.
이 아이디어는 Hacker News가 업보트보다 댓글이 현저히 많은 토픽에 패널티를 부과하는 방식에서 다소 영감을 받았습니다.
네, 이 방식에서는 답변이 게시될 때 결정이 이루어지며, 이후 추가 답변이 없으면 해당 토픽은 다시 뱀프되지 않습니다. 저는 디스코urse 소스 코드에 대한 전문가가 아니므로, 만약 제 추측이 맞다면 이것이 구현하기 가장 쉬운 방법일 것입니다.
다른 가능한 동작 방식인 쿨다운 기간 이후에 뱀프하는 방식은 @eviltrout님이 말씀하신 대로, 애플리케이션이 다음 예상 뱀프 시점을 저장하고 주기적으로 대기 중인 뱀프를 수행하는某种의 스케줄러나 sidekiq 작업이 필요하기 때문에 더 많은 작업이 필요할 것입니다.
두 가지 접근 방식 모두 유효하며, 이것이 실제로 구현된다면 어느 쪽이 선택될지는 알 수 없습니다.
개인적으로 문제 있는 토픽에 추가 답변이 없다면 영원히 뱀프되지 않는 것을 개의치 않습니다. 하지만 그것은 제 의견일 뿐입니다.
주제에 "{x}분마다 한 번만 올려질 수 있음"이라는 설정이 있으며, 분 수는 0(기본값, 답글 수만큼 자유롭게 올려질 수 있음)에서 약 10,000(주당 한 번만 올려질 수 있음)까지 조정 가능합니다. 예를 들어 누군가가 60분으로 설정했다면, 해당 주제는 최대 60분 간격으로 한 번만 올려질 수 있습니다.
답글이 게시될 때, 마지막 올려진 날짜를 확인합니다:
마지막 올려진 날짜가 60분 이전이라면, 이 새로운 답글로 주제를 올려도 됩니다.
마지막 올려진 날짜가 60분 이내라면, 이 새로운 답글을 게시할 때 주제를 올리지 않습니다.
네, 이 정도면 단순하고 실행 가능해 보입니다. 다음 릴리스에 추가해 보죠 @sam@eviltrout?