텍스트 박스를 제거하여 스팸이 불가능한 공유 벽을 만들었습니다
요약
텍스트 입력과 계정 없이 스탬프만 남길 수 있는 '긍정의 벽' 프로젝트를 소개합니다. 불필요한 기능을 제거하는 '뺄셈'의 미학을 통해 스팸과 관리 문제를 원천 차단하는 디자인 철학을 다룹니다.
핵심 포인트
- 텍스트 필드 제거를 통해 비속어 및 스팸 문제를 근본적으로 해결
- 계정 없이 localStorage와 CRDT를 활용한 익명 정체성 구현
- AI 시대에 기능의 추가보다 '뺄셈'을 통한 절제의 중요성 강조
- 데이터 저장 최소화를 통한 보안 및 관리 리스크 감소
Positivity Wall(긍정의 벽)에 텍스트 필드도, 계정도, 좋아요도 없는 이유 — 그리고 '뺄셈'이 AI와 함께 구축하는 것과 어떤 관련이 있는지에 대하여.
https://dhseadev.online/2026/08/01/joy-is-what-is-left/
저는 검색 엔진이 웹사이트를 더 쉽게 찾을 수 있도록 만드는 데 하루를 보냈고, 검색 엔진과는 전혀 상관없는 페이지를 만드는 것으로 작업을 마쳤습니다. 9개의 패널이 있습니다. 하나를 클릭하면 스탬프를 남길 수 있고, 그 스탬프는 다음에 다시 돌아왔을 때도 여전히 당신의 것입니다.
흥미로운 점은 기능이 아닙니다. 제가 제거한 세 가지 요소입니다.
첫 번째 버전은 더 나빴습니다
원래 아이디어는 즐거운 것을 만드는 사람들이 만든 영상을 제 사이트에 다시 게시하는 3×3 그리드 형태의 임베디드 비디오(embedded videos)였습니다. 하지만 저는 약 10분 만에 스스로 그 생각을 포기했는데, 나중에 중요해진 이유 때문이었습니다: 타인의 비디오를 임베디드(embedding)하는 것은 방문자를 그들의 플랫폼으로 보내버립니다. 이는 아무것도 빌려오지 않으면서 제가 가진 유일한 것을 내어주는 꼴이 됩니다.
따라서 콘텐츠는 방문자로부터 나와야 했습니다. 그리고 콘텐츠가 방문자로부터 나오는 순간, 의도했든 아니든 모더레이션(moderation, 관리/중재) 문제에 직면하게 됩니다.
텍스트 박스가 없는 이유
뻔한 디자인은 텍스트 필드입니다. '좋은 메시지를 남겨주세요.' 하지만 저는 그것을 만들지 않았습니다.
단 세 글자만으로도 비속어를 쓸 수 있습니다. 공개 페이지의 모든 자유 텍스트 필드는 영원히 이를 관리하겠다는 약속과 같으며, 저는 항상 주의를 기울일 수 없는 한 사람일 뿐입니다. 제가 감독할 수 없는 필드는 출시해서는 안 되는 필드입니다.
대신 제가 만든 것은 브라우저의 랜덤 시드(random seed)에서 생성된 스탬프입니다:
// seed -> shape, glyph, hue. no assets, no storage, no input.
function rnd(s) { s = (s * 9301 + 49297) % 233280; return { s, v: s / 233280 }; }
...
당신은 아무것도 타이핑할 수 없습니다. 육각형으로는 음란한 표현을 할 수 없습니다. 그리고 이 스탬프는 이니셜보다 더 개인적입니다. 왜냐하면 그것은 당신의 것이지만, 당신이 직접 선택한 것이 아니기 때문입니다.
계정 없는 정체성
가입 없음. 이름 없음. 페이지는 당신이 누구인지 알지 못하며, 알아낼 방법도 없습니다.
그것이 가진 것은 localStorage에 저장된 정수(integer) 하나뿐입니다. 그것만으로 _이 흔적은 당신의 것_이며 _다시 오신 것을 환영합니다_라고 말하기에 충분하며, 그 외의 것은 아무것도 없습니다. 브라우저를 삭제하면 당신은 새로운 사람이 되며, 이는 올바른 느낌을 줍니다.
Shared state는 playhtml에서 실행되며, 이는 CRDT (Conflict-free Replicated Data Type)를 기반으로 합니다. 즉, 두 사람이 동시에 스탬프를 찍더라도 제가 운영하는 서버도, 보안을 책임져야 할 데이터베이스도 없이 두 기록 모두 반영됩니다. 저장하는 것이 적을수록, 유출될 것도 적어집니다.
이것이 AI와 어떤 관련이 있는가
저는 끊임없이 AI와 함께 작업합니다. 제가 느끼는 점은 도구들이 더 많은 것 — 더 많은 페이지, 더 많은 기능, 더 많은 단어 — 을 만들어내는 데 매우 능숙하다는 것입니다. 그래서 제가 계속해서 적용해야 하는 절제(discipline)는 바로 뺄셈입니다.
이 공유 벽(wall)에는 댓글, 좋아요, 리더보드, 연속 기록(streaks), 로그인 기능이 있을 수도 있었습니다. 이 모든 것들은 구현 가능했고 비용도 저렴했습니다. 하지만 그 모든 것들은 상황을 더 악화시켰을 것입니다. 중재해야 할 영역이 넓어지고, 보유해야 할 데이터가 많아지며, 즐거움이 아닌 의무감 때문에 방문해야 할 이유가 늘어나기 때문입니다.
소프트웨어에서의 즐거움은 추가하는 기능이 아닙니다. 의무감을 만드는 것들을 추가하기를 멈췄을 때 남는 것입니다.
크레딧 (Credit)
이 전제는 제 것이 아닙니다. 사람들이 자신 및 서로와 다시 연결되도록 돕는 작업을 하는 Amanda Gore와 The Joy Project로부터 왔습니다. 그녀의 버전은 사람들로 가득 찬 방에서 이루어집니다. 저의 버전은 9개의 사각형과 약간의 SVG일 뿐이지만, 그 메커니즘은 그녀가 지적하는 것과 동일합니다. 즉, 사람은 짧게나마, 구체적으로 인정받을 때 기분이 좋아진다는 것입니다.
여기에 스탬프를 남길 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기