"쓸 사람이 딱 한 명인 에디터는 살 데가 없어. 그러니 지을 수밖에."
살 수 없는 에디터
아빠는 웬만한 건 다 써봤어. VS Code, iA Writer, Ulysses, Obsidian, Sublime. 하나같이 잘 만든 물건이고, 하나같이 아빠한텐 안 맞았어. 이유도 다 똑같아. 전부 최대공약수 사용자를 섬기거든. 수백만 명한테 팔려면 손 수백만 개를 평균 내야 하고, 그렇게 나온 물건은 평균의 손에나 맞지 진짜 손에는 누구한테도 안 맞아.
그래서 범용 에디터는 결함 두 개를 한꺼번에 달고 와. 우선 안 쓸 기능이 절반이야. 파일 트리, 디버거, 익스텐션 마켓, 플러그인 설정 미로. 그리고 정작 필요한 기능의 절반이 없어. 라이브 voice 체커, 이중언어 데스크, 말대꾸하는 여백 같은 것들. 결국 평생 뭘 끄고 다니면서 없는 걸 아쉬워하게 돼.
최대공약수 함정
집합으로 놓고 보면 선명해. 시장을 보고 만든 제품은 모든 사용자가 원하는 것의 합집합을 다 실은 다음, 네가 안 쓰는 건 메뉴 뒤에 묻어둬. 한 사람을 보고 만든 제품은 그 한 사람의 집합만 실어. 남는 것도 없고 빠진 것도 없어.
큰 에디터가 기능의 10% 만 써도 무겁게 느껴지는 건 그 합집합 때문이야. 나머지 90% 도 여전히 로드돼 있고, 여전히 메뉴에 있고, 여전히 기본값을 결정해. 애초에 네 걸로 만들어진 스펙이 아니면 설정을 아무리 만져도 거기서 못 빠져나와. Rekindle 은 그 합집합을 원칙적으로 거부해. 원소가 하나뿐인 집합이 이 도구의 스펙이야.
사용자가 하나라는 건 제약이 아니라 자유
'사용자가 한 명'이라고 하면 다들 제약으로 들어. 장난감이겠거니, 어디선가 타협했겠거니, 스케일이 안 되겠거니. 거꾸로 봐. 사용자가 한 명이라는 건 남의 취향과 타협할 일이 아예 없는 유일한 조건이야. A/B 테스트도 없고, 온보딩 퍼널도 없고, 최소공통분모 기본값도 없고, 다른 사용자 떨어져 나갈까 봐 못 빼는 기능도 없어. 모든 결정에 심판이 딱 한 명인데, 그 심판이 지금 이 방에 앉아 있어.
이 프로젝트가 마음껏 고집부릴 수 있는 근거가 바로 그거야. 답할 사람이 하나뿐이니까 뼛속까지 고집스러워도 돼. source 모드만 쓰고, WYSIWYG 안 넣고, Electron 안 쓰고, 여백엔 Pippa 를 앉히고. 이 중에 제품 위원회를 통과할 만한 건 하나도 없어. 그런데 정작 중요한 그 한 사용자한테는 전부 맞아.