Code Metaphor

Programming, Writing, Reading, Thoughts…

이 블로그는 더이상 운영되고 있지 않습니다. 단지 예전 URL을 유지하는 용도로만 남아 있습니다. 새 블로그의 주소는 blog.dahlia.kr입니다.

Archive for September, 2008

서비스를 만든다는 것은 발견하는 것

Saturday, September 13th, 2008

오늘은—정확히는 지금 0시가 지났으니 어제—매 금요일이 그렇듯 야간개발팀이 한 자리에 모였다. 오늘의 대화는 최근을 통틀어 가장 열정적이었고, 덕분에 난 기분이 매우 좋다. 그래서 장문의 자화자찬 포스팅을 하려고 한다. 읽기 거북할 것 같다면 얼른 이 포스팅을 닫으시라!

작년 이맘때쯤, 김재석 선배(shinvee)와 대화를 하다 우연히 도메인에 대한 주제가 나왔다. 나는 poll.it이라던가 vote.it 따위의 도메인을 찾아보고 있다고 했고, 웬일인지 선배는 내게 그 도메인을 구하면 자기가 써도 되겠느냐고 했다. 이유를 물으니, 자기가 하나의 투표 서비스를 구상하고 있다는 것이었다.

나도 투표 서비스를 생각하고 있었다. 왜 투표였냐면, 구현하기 그다지 어려울 것 같지 않았기 때문이다. 당시 나는 미투데이를 보고 감명을 받은 상태였고—지금은 다소 비대해졌지만, 미투데이는 당시 굉장히 미니멀(minimal)한 서비스였다—어떤 서비스든 간에 그렇게 작고 예쁜 서비스를 만들어보고 싶다는 욕심을 갖고 있었다.

참 평범한 발상이었다. 사용자가 질문 하나와 몇 개의 문항을 입력해서 투표를 하나 만들면, 그것이 사이트 메인에도 보이고, 사용자는 YouTube 동영상처럼 그것을 임베드하여 다른 곳에서도 링크할 수 있게 하자는 것이었다. 말 그대로 투표 서비스였다.

내가 그 얘기를 하자 재석 선배가 반문했다. “그럴 필요 있어? 좋냐 나쁘냐만 있어도 충분하잖아?” 나는 그 아이디어가 굉장히 충격적으로 들렸다. 내가 생각한 내용도 충분히 미니멀하다고 생각해서 흡족해하고 있었는데, 이것은 그야말로 극단적 미니멀리즘(minimalism)이 아닌가! 나는 그 말을 듣자마자 도메인이고 자시고 간에 그 서비스를 꼭 같이 개발하고 싶다고 졸랐다. (그리고 내가 기획했던 투표 서비스는 깡그리 잊어버렸다.) 사실 말이야 그냥 선배지만, 재석 선배와 나와의 인연은 나름대로 길다. 이미 고등학교 때부터 함께 게임 제작 동아리를 만들었었고, 자유로운 선린인터넷고등학교의 분위기 안에서 하루가 멀다하고 밤을 새거나 오후 11시까지 KFC에서 회의나 작업을 하여 의기가 투합된 상태다. 다소 구체적인 생각은 달라도 의도는 통하는 사이였다. 재석 선배는 당연히 즐겁게 수락했다. 이것이 VLAAH 개발의 스타트가 된다.

선배가 처음 VLAAH를 기획했을 때의 동기는 어찌보면 무척 유치하다. 디시인사이드 디워 갤러리에서 눈팅을 하던 재석 선배는, 아무리 봐도 자신의 주변에는 디까가 디빠보다 많은데, 디갤에서는 수적으로 동등해 보이는 것이 이상했다. 그래서 어느날 글을 남긴다. “디까는 까, 디빠는 빠라고 댓글 달아라. 머릿수로 정정당당히 대결하자.” 어차피 댓글은 중복으로 달 수도 있고, 별로 통계적으로 신뢰할만한 결과가 나올 리가 없다. 재석 선배는 이런 경우, 사람들이 어떤 주제에 대해 대체로 좋아하는 편인가 싫어하는 편인가에 대해 알고 싶어했다.

그러니까 처음 VLAAH의 목적 자체는 특정 케이스에 대한 간편한—그러나 그닥 진지하지는 않은—통계적 지표였다.

강남역 근처 카페를 전전하며 우리는 프로토타입을 구현하기 시작했다. 구현하는 가운데 서비스에 대한 우리의 관점은 점점 변하기 시작한다. 실제로 우리가 만든 프로토타입을 하루 종일 가지고 놀다보니 어떤 주제에 대한 다수의 여론보다는, 사용자 개인의 취향 집합이 형성된다는 점을 발견했던 것이다. 그리고 이것은 굉장히 의미있는 발견이었다. 서비스를 만들어가는 가운데, 서비스에 대한 우리의 철학도 얄팍하나마 형성되기 시작했다. 정말 좋은 서비스는 만들어지는 가운데 발견되는 것이다. 좋은 서비스는 최소화된 형식(form) 가운데 많은 본질 혹은 속성, 형질을 갖는다. 우리가 그 형식에 대해 생각해낼 때, 우리는 그 형식이 지닌 많은 속성 가운데 하나를 통해 그 형식을 이끌어낼 뿐이다. 나머지 속성들은 처음에는 보이지 않지만 시간이 지남에 따라 ‘발견되어’진다. 우리가 처음에 주시했던 VLAAH의 속성은 간단한 통계적 지표였지만, 제작되는 중에 개인의 취향 집합과 그것(취향)의 공유라는 좀더 크고 중요한 속성을 발견했던 것이다.

결국 VLAAH는 처음 기획 방향과는 달리 굉장히 독특한 형태의 SNS라는 모습으로 드러나기 시작했다. 만드는 우리 자신도 VLAAH가 마치 비밀을 한가득 안고 있는 고대 문명의 유적과 같이 느껴졌다. 우리는 제작과 발견의 중간에서 희열을 느끼기 시작했다.

결국 선린인터넷고등학교 게임 제작 동아리의 핵심 멤버1가 모두 모여버렸다. 이름이 없어서 야간개발팀이라는 별명이 생겼다. 달개미(lunant)라는 이름은 몇달 뒤에나 정해졌다. 그리고 다같이 이 종잡을 수 없는 형식의 서비스를 발굴해내기 시작했다. 그러면서 또 하나의 속성을 발견했는데, VLAAH에서의 투표 행위가 가장 기본적으로는 자신을 표현하는 굉장히 간단한 방법이 된다는 사실이였다. 글을 쓰거나 그림을 그리거나, 동영상을 올리는 등의 UCC로 자신을 표현할 수도 있다. 개발자라면 코드로도 자신을 표현할 수 있겠다. 하지만 일반적인 관점에서, 모든 사람들이 다 글을 잘 쓰거나 그림에 재주가 있지는 않다. 그러나 무엇을 좋아하고 싫어하는지와 같은 호불호의 집합은 누구에게나 존재한다. 사람이 하는 대부분의 일은 물리적으로 주변 사물에 변형을 가하는 것이 아니면, 실제로는 연속적이고 경계가 없는 것들을 나누고 분류하여 이름짓고 가치를 부여하는 것이다. VLAAH의 플러스와 마이너스라는 행위는 사람이 본능적으로 하는 지적 행위의 요약판이라고 할 수 있다. 내가 어떤 것을 좋아하고 싫어하는지만 표현해도, 사람들이 나에 대해 많은 부분을 알 수 있게 돕는다. 기쁜 것은 플러스와 마이너스는 클릭 한번으로 이루어진다는 것이다!

약 1년이 지난 지금까지 VLAAH에서 우리가 발견한 굵직한 본질은 이것들이다. 그리고 VLAAH라는 서비스가 정말 좋은 서비스라면, 앞으로도 굉장한 속성들이 발견되고 우리의 서비스에 대한 통찰도 깊어질 것이다. 나와 다른 야간개발팀 사람들은 VLAAH에 대해 확신하고 있다—기대 정도가 아니라. 왜냐하면, 하나의 형식으로부터 이렇게 많은 속성들이 발견되었다는 것이 굉장히 좋은 징조라고 보기 때문이다.

글을 마무리하기 전에 정 반대의 경우를 말해보려 한다. 내가 작년에 딱 두 달 일했던 알바 이야기이다. SNS 서비스였고, 그곳의 기획자 겸 팀장은 이런 이야기를 자꾸 했다. “싸이월드는 우리의 안방 문화고, 블로그는 서양의 광장 문화야.” 이게 무슨 뻘소리인지 모르겠지만, 어쨌든 그 사람은 나름대로의 그 통찰을 발전시켜 이런 기획을 했다. 안방 문화도 중요하고, 광장 문화도 중요하다. 그 둘을 아우르는 서비스가 필요하다. 그래서 해결책은? 블로그의 프로필 이미지를 누르면 미니홈피가 뜨게 했다. 블로그에도 사진을 올릴 수 있고, 미니홈피에도 올릴 수 있지만, 그 둘은 상관 없이 동작한다. 이 서비스와 VLAAH의 차이는 명백하다. 전자는 둘 혹은 하나일지도 모를 속성(기능)을 위해 두 형식을 빌렸고, 후자는 하나의 형식만으로 서너가지의 속성을 도출해냈다. 디자인하기 힘드므로 닉네임 길이를 여덟 글자 이하로 제한하자고 하는 등의 이상한 기획으로 떡칠이 되어있던 그 서비스가 지금 어떻게 되고 있는지는 별 관심이 없다. 다만 저런 서비스들을 볼수록 VLAAH에 대한 자신감과 확신만 커질 뿐이다.

조만간 VLAAH는 초대장과 함께 국제화된 버전을 오픈할 것이다. 이미 모든 작업이 완료되어 있다. 서버에서 svn up과 마이그레이션 스크립트만 돌리면 된다. 나는 우리가 경험한 서비스의 희열을 다른 사람들과 공유할 생각에 들떠있다.

덧. 미투데이 그룹 인터뷰에 야간개발팀이 나왔다.


  1. 재석 선배와 나 외에, (들어온 순서대로) 동기 강성룡(xym), 후배 이흥섭, 이동근 선배. 

MetaBBS용 초성 올려 쓰기 플러그인

Monday, September 8th, 2008

수아파파 님의 초성 올려 쓰기 Python 모듈인 Chovis를 보고 재미있어서 MetaBBS용 플러그인으로 만들어봤다. Chovis의 PHP 버전을 사용했다.

소녀가 속삭이듯이, 이리 들어와 앉으라고 했다. 괜찮다고 했다. 소녀가 다시, 들어와 앉으라고 했다. 할 수 없이 뒷걸음질을 쳤다. 그 바람에, 소녀가 안고 있는 꽃묶음이 망그러졌다. 그러나, 소녀는 상관없다고 생각했다. 비에 젖은 소년의 몸 내음새가 확 코에 끼얹혀졌다. 그러나, 고개를 돌리지 않았다. 도리어 소년의 몸기운으로 해서 떨리던 몸이 적이 누그러지는 느낌이었다.

(다들 아시겠지만, 황순원의 “소나기”에서 인용.) 위 글의 초성을 올려 쓰면 이렇게 된다.

손역아 솏악읻읏이, 일이 들어와 앉을악오 했다. 괜찮닥오 했다. 손역아 닷이, 들어와 앉을악오 했다. 할 수 없이 뒷걸음질을 쳤다. 그 발암에, 손역아 안고 있는 꽃묶음이 망글엊였다. 글언아, 손연은 상관없닥오 생각했다. 비에 젖은 손연의 몸 내음색아 확 코에 끼얹혖였다. 글언아, 곡앨을 돌맂이 않았다. 돌이어 손연의 몸기운을오 햇어 떨릳언 몸이 적이 눅을엊인은 늒임이었다.

LangDev에 적용했다가 너무 사악한(;;) 플러그인이라 5분도 안되서 다시 내렸다. 만든게 아쉬워서 여기에 공개한다. 내년 만우절이 되면 LangDev에 적용해볼까 생각중.

  • 다운로드: Chovis.php
  • Subversion 사용: svn export http://svn.dahlia.kr/CodeKata/metabbs_plugins/Chovis.php

Powered by WordPress. Styled by Hong, MinHee. XML Feed, Comments XML Feed.