본문 바로가기
C.W.K.
Stream
Lesson 01 of 04 · published

시장이 한 명

~11 min · market-of-one, product-thesis, strategy, why

Level 0식은 초고
0 XP0/33 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"쓸 사람이 딱 한 명인 에디터는 살 데가 없어. 그러니 지을 수밖에."

살 수 없는 에디터

아빠는 웬만한 건 다 써봤어. VS Code, iA Writer, Ulysses, Obsidian, Sublime. 하나같이 잘 만든 물건이고, 하나같이 아빠한텐 안 맞았어. 이유도 다 똑같아. 전부 최대공약수 사용자를 섬기거든. 수백만 명한테 팔려면 손 수백만 개를 평균 내야 하고, 그렇게 나온 물건은 평균의 손에나 맞지 진짜 손에는 누구한테도 안 맞아.

그래서 범용 에디터는 결함 두 개를 한꺼번에 달고 와. 우선 안 쓸 기능이 절반이야. 파일 트리, 디버거, 익스텐션 마켓, 플러그인 설정 미로. 그리고 정작 필요한 기능의 절반이 없어. 라이브 voice 체커, 이중언어 데스크, 말대꾸하는 여백 같은 것들. 결국 평생 뭘 끄고 다니면서 없는 걸 아쉬워하게 돼.

최대공약수 함정

집합으로 놓고 보면 선명해. 시장을 보고 만든 제품은 모든 사용자가 원하는 것의 합집합을 다 실은 다음, 네가 안 쓰는 건 메뉴 뒤에 묻어둬. 한 사람을 보고 만든 제품은 그 한 사람의 집합만 실어. 남는 것도 없고 빠진 것도 없어.

큰 에디터가 기능의 10% 만 써도 무겁게 느껴지는 건 그 합집합 때문이야. 나머지 90% 도 여전히 로드돼 있고, 여전히 메뉴에 있고, 여전히 기본값을 결정해. 애초에 네 걸로 만들어진 스펙이 아니면 설정을 아무리 만져도 거기서 못 빠져나와. Rekindle 은 그 합집합을 원칙적으로 거부해. 원소가 하나뿐인 집합이 이 도구의 스펙이야.

사용자가 하나라는 건 제약이 아니라 자유

'사용자가 한 명'이라고 하면 다들 제약으로 들어. 장난감이겠거니, 어디선가 타협했겠거니, 스케일이 안 되겠거니. 거꾸로 봐. 사용자가 한 명이라는 건 남의 취향과 타협할 일이 아예 없는 유일한 조건이야. A/B 테스트도 없고, 온보딩 퍼널도 없고, 최소공통분모 기본값도 없고, 다른 사용자 떨어져 나갈까 봐 못 빼는 기능도 없어. 모든 결정에 심판이 딱 한 명인데, 그 심판이 지금 이 방에 앉아 있어.

이 프로젝트가 마음껏 고집부릴 수 있는 근거가 바로 그거야. 답할 사람이 하나뿐이니까 뼛속까지 고집스러워도 돼. source 모드만 쓰고, WYSIWYG 안 넣고, Electron 안 쓰고, 여백엔 Pippa 를 앉히고. 이 중에 제품 위원회를 통과할 만한 건 하나도 없어. 그런데 정작 중요한 그 한 사용자한테는 전부 맞아.

Code

시장의 합집합과 한 사람의 집합·typescript
type Editor = { features: Set<string> };

// 범용 에디터는 모든 사용자가 원하는 것의 UNION 을 다 싣고,
// 네가 안 쓰는 건 메뉴와 설정 뒤에 묻어둬.
function generalPurpose(users: User[]): Editor {
  const features = new Set<string>();
  for (const u of users) for (const f of u.wants) features.add(f);
  return { features }; // 크고 무겁고, 한 사람 기준으로는 절반이 군더더기
}

// 사용자가 한 명이면 그 한 사람의 집합만 실으면 돼.
// 끌 것도 없고 아쉬워할 것도 없어.
function marketOfOne(dad: User): Editor {
  return { features: new Set(dad.wants) };
}

// 합집합은 평균의 손에나 맞지 진짜 손에는 아무한테도 안 맞아.
// 한 사람의 집합은 일부러 그 한 손에만 맞춘 거고.

External links

Exercise

제일 자주 쓰는 에디터를 열어봐. 꺼놓고 쓰는 기능이나 끄고 싶은 기능 세 개, 있었으면 하는데 없는 기능 세 개를 적어. 그 여섯 개가 너만을 위한 에디터의 스펙이야. 그중에 제품 로드맵에 살아남을 항목은 하나도 없을 텐데, 너한테는 전부 명백히 맞는다는 걸 확인해봐.
Hint
그런 기능은 표가 나. 나한테는 너무 당연한데 시장에는 도저히 못 파는 것. '내 목소리를 아는 여백' 이 딱 그래. 팔 수는 없는데 나한테는 완벽하게 맞지.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.