아이폰 가계부 어플, 벤토이(VENTOY) 3년 개발 경험담

2015. 12. 28. 07:30chat

    :: 아이폰 전용 가계부 앱 VENTOY - 벤토이 가계부 ::

    아이폰 앱스토어 : https://itunes.apple.com/kr/app/ventoy-bentoi-gagyebu/id1059378863

    오랜만에 블로그 포스팅을 합니다. 핑계겠지만 지난 3년 반의 시간동안 개인적인 프로젝트를 진행하게 되어, 블로그 활동을 잠정적으로 중단하고 있었습니다. 오늘 이렇게 제 블로그를 통해 결실을 소개할 수 있게 되어 기쁘게 생각합니다.

    제목부터 유난스럽게 개발 기간을 강조한 이유는, 개발에 ‘개’자도 모르는 생판 초짜들이 긴 시간과 많은 시행착오를 겪어가며 결과물을 내놨기 때문입니다. (전국 방방곡곡에 계신 개발자 여러분, 존경합니다.) 혹, SW 개발에 대한 목표나 꿈을 가지고 계신분들이 보시고 긍정적인 자극과 도전하실 수 있는 계기가 된다면 큰 기쁨이 될 것 같습니다.

    우선 저희 팀을 간단하게 소개해드리면, 디자이너(팀 대표)는 UI-디자인-프론트앤드 개발을 담당했고, 마케터는(본인) DB-서버-백앤드 개발을 분담해서 진행했습니다. 저희 두 사람은 2000년대 초에 엔트리브(&손노리)의 MMORPG 트릭스터 온라인의 공식 팬사이트인 ‘트릭월드’ 라는 자체 커뮤니티 사이트를 만들어서 공동 운영해왔습니다. 당시 고등학교를 갓 졸업한 게임을 굉장히 사랑하는 청춘들이었죠. (물론 지금도 마찬가지이구요) 아쉽게도 이 게임은 서비스를 종료했고, 저희 커뮤니티도 운영을 종료하여 현재 방명록만 남아있는 상태입니다.

    10년간 게임 커뮤니티 운영 경험을 통해 서비스 운영을 직-간접적으로 배울 수 있었고, 이는 사업에 대한 관심으로 이어졌습니다. 그래서 이제는 재미있고 사람들에게 도움이 되면서 수익 실현도 동반하고 지속 성장이 가능한 서비스를 직접 만들어 보기로 의기투합 하였습니다. 여러가지 비즈니스 아이디어가 오가던 중에, 평소 돈관리와 가계부 작성에 관심이 많던 디자이너가 스마트폰용으로 재밌는 UI와 게임 요소를 가미해서 ‘가계부’ 앱을 만들어보자는 아이디어가 선택되어 본격적인 기획을 시작했습니다.

    :: 기획 당시 UI 아이디어 노트 ::

    우선 기존의 단순 셀 입력 방식에서 벗어나 계좌에서 돈이 이동하는 흐름을 (이체를 하거나 지출을 하거나 수입이 들어오는 등) 직관적으로 표현하기 위해 Drag UI를 기획하게 되었습니다. 기획 당시엔 스마트폰 시대로 접어들면서, 가계부에서도 터치를 이용해 재밌는 경험을 줄 수 있을거라 확신했습니다.

    그리고, 기존 가계부들은 대부분 지출이나 이체 수입 등이 발생했을 때의 금액 기록에만 집중할 뿐, 무엇을(what) 사고 벌었는지에 대한 기록과 관리를 할 수 없어서 불편했습니다. 즉, 내가 그동안 커피를 얼마나 마셔왔고 담배를 얼마나 샀는지 가계부를 통해 알 수가 없던거죠. 이 점에 착안해서 나온 것이 ‘아이템’ 입니다. 이 아이디어는 게임을 좋아하는 두 사람의 경험에서 나올 수 있던 아이디어 였습니다.

    사실 가계부라는 것이 써보신 분은 잘 알겠지만, 굉장히 번거롭고 어렵습니다. 그런데 이런 요소까지 세분화해서 기록하게 되면 더 복잡해서 이용자들이 쉽게 포기하게 될지도 모르죠.

    :: 인벤토리와 아이템 기획부터 실제 구현까지 ::

    하지만, 가계부 만만치 않게 복잡하고 어려운 게임이 있지만 사람들이 몰입하고 빠져듭니다. 아이템을 모으는 재미나 목표설정, 성장에 대한 즉각적인 보상 등이 게임을 반복적으로 이용하고 즐기는 동기를 부여하고 있다는 점에서 착안하여 가계부의 세부 지출-수입 항목들을 ‘아이템’으로 만들어서 관리하도록 기획했습니다. 즉, 내가 실제로 지출한 담배와 초콜릿 등이 가계부 내에서 아이템이 되어 모으고 관리하게 되는거죠.

    이렇게 여러가지 게임적인 요소를 가미해서 어느정도 기획이 다듬어져 가니, 슬슬 프로토타입을 만들어 봐야겠다는 생각이 들더군요. 일단 디자이너가 웹페이지로 된 프로토타입을 만들었습니다. 원형으로 중앙에 선택된 계좌에서 각 지출 카테고리별로 드래그해서 입력 하도록 하고, 입력된 기록들은  다이어리처럼 날짜별로 분류해서 볼 수 있게 하는거죠.

    :: 첫 프로토타입 제작 당시 ::

    프로토타입도 마음에 들게 뽑힌 것 같은데, 뭔가 허전하더군요. 왜그런가 생각했더니 서비스의 심볼, 즉 마스코트가 없었습니다. 그래서 마스코트로 삼을 캐릭터를 추가로 만들었습니다. 이렇게 새 서비스의 마스코트 캐릭터 ‘로이(Roy)’가 완성되었습니다. 기획 초기엔 지금의 동물 보다는 몬스터 느낌으로 시작했던 것 같습니다.

    :: 마스코트 캐릭터 ‘로이’ 디자인들 ::

    서비스 및 브랜드 이름은 '내 인벤토리를 관리해주는 자산관리 친구(My Inventory toy)’라는 뜻에서 따와  VENTOY(벤토이)라고 지었습니다. 벤토이의 첫 서비스는 가계부 앱이 된 것이죠.

    이렇게 1년 가까이 재밌게 기획을 하고 이제 실제로 만들 단계가 되었을 때 첫 번째 현실이 다가왔습니다. 바로 ‘개발자’의 부재입니다. 저희가 느낀 것 이상으로 앱 개발은 진입장벽이 높았습니다. 두 사람 다 웹사이트 제작 경험이 있었다 하더라도 앱은 전문 개발자가 없으면 시작조차도 할 수 없겠더군요. 다행히 마케터의 대학시절 친구 개발자를 권유한 뒤 본격적으로 3인의 앱 개발이 시작되었습니다.

    일단 여기까지는,

    둘 다 웹사이트를 제작한 경험이 있으니 앱 개발은 잘 몰라도 충분히 도와가며 진행할 수 있을 것 같았고, 서로 동기를 부여해주며 잘 해쳐 나가면 중간에 흐지부지되거나 개발자가 이탈하는 등의 일은 없을 거라고 생각했습니다. 그런데...

     

    당시엔 3명 모두 각자의 생업이 있었고 주말 파트타임으로 이 프로젝트에 참여하고 있었는데, 개발자 친구의 본업이 너무 바빴습니다. 프로젝트는 아무 진척 없이 무풍지대 망망대해에 멈춰 있었고, 결국 개발자는 프로젝트에서 탈락하게 되었습니다. 덕분에 굉장히 곤란스러웠죠. 기획을 1년 가까이나 했는데, 포기해야 하나 싶은게...

    '아... 어떡하지...'

    이제 남은 것은 다시 두 사람. 원점으로 돌아가니 현실적인 문제를 또 만났죠. 개발자 없는 지금, 이 프로젝트를 포기해야하나 말아야하나. 여기서 디자이너 친구가 직접 공부해서 개발 하자는 강한 의지를 보였습니다. 개발이 싫어서 고민하던 저도 결국은 그 뜻에 동참하게 되었고, 이렇게 개발 초보 2명의 앱 개발 분투가 시작되었습니다.

    2013년도 6월부터 본격적으로 개발을 공부하며 만들기 시작했으니, 앱이 출시된 올 2015년 12월 11일까지 개발에만 약 2년 반의 시간이 소요 되었네요.


    :: 열심히 개발 중이던 여름 어느 날 ::

    풀타임으로 전환해서 새 사무실에 입주하기 전까지 근 2년간은 여러 카페를 전전하며 코딩 했습니다. 어떤 카페에서는 커피 몇 잔 시켜놓고 너무 오래 앉아 있는다고 눈치를 주는 통에 쫓겨 나기도 하고, 새 보금자리를 발견하여 안도하기도 하면서 그렇게 앱이 완성되어 갔습니다. (이 글을 빌어 이수역 카페코헨에 감사의 뜻을 전합니다. 그리고 역시 눈치 없이 작업하는데는 스타벅스가 최고입니다.)

    이론으로만 배웠기에 피부로 와닿지 못하던 개념들, MVC가 무엇인지, 포인터는 어떻게 쓰는건지, 그리고 왜 삼각함수 같은 수학공식이 필요한지 체감하게 되는 등 힘겨운 여정이었지만 돌아보면 다 뿌듯하고 즐거운 기억들만 남게되는 것 같습니다.

    두 사람의 협업에 있어서도 때로는 사소한 걸로 의견 대립이 발생하기도 했고, 개념파악이 안된 채 ‘개발자의 언어’로 의사소통하는 것이 얼마나 힘든지도 배울수 있던 귀중한 3년 반의 시간이었습니다.

    :: 3년간 기획부터 개발, 출시까지 메인 디자인 변천사 ::

    사실 모든 SW나 서비스 개발 과정이 그렇지만, 초반에 계획한 그대로 실행되는 것은 별로 없더군요. 만들다가 뒤엎고 잠시 잊고 지낸 옛날 아이디어를 다시 가져오는 등 여러가지 시행착오를 거쳐가며 드디어 앱을 완성했습니다. 앱스토어에 내가 만든 앱이 올라갔을 때의 그 감동이란... :-)

    앱 출시에 대한 감동도 잠시, 이제야 겨우 서비스를 위한 ‘시작점’을 통과한 것이기에 앞으로 가야할 길이 험난하기만 합니다. (출시와 동시에 심각한 버그와 부족한 기능으로 숨가쁘게 업데이트를 해야 했구요) 출시 때 느낀 그 감동과 사명감으로 한 걸음씩 나아가고자 합니다.

    :: 카드 지출 플로우차트 기획 노트 (정작 개발 시작하고나선 DFD는 거의 쓸 일이 없었지만...) ::

    SW 개발을 시작하고 싶은 분들에게

    혹, 이 글을 읽고 계씬 분들 중에 '나도 개발 공부를 시작하시고 싶다.' 생각하시는 분이 계신다면, 제 경험을 토대로 드릴 수 있는 팁은 다음 정도가 될 것 같습니다. 물론 정답은 아니니 '그랬구나' 정도로만 봐주시면 좋겠습니다.

    1.이론적인 공부는 한도 끝도 없습니다. 일단 중요한 것은 만들고자 하는 '목표'를 설정하고 무조건 시작하시고 실행하세요. 간단한 계산기 프로그램이라도 좋습니다. 제 경우에도 당장 앱 제작을 시작한 건 아니고, 예제로 가계부를 준비하기 위해 여러가지 금액 입력, 계좌 생성 등 작은 프로그램을 만들어 가며 실력을 쌓아갔습니다.

    2.성향에 따라 다르겠지만, 대체적으로 혼자보다는 둘이 더 나았습니다. 함께 공부하고 진행할 파트너가 있으면 서로 꾸준하게 동기부여와 자극도 되고 지치지 않았습니다. 개발을 시작하기로 결심한 뒤로는 단 한 번도 서로 포기하자는 말을 꺼낸 적도 없었구요.

    3.스스로 코딩할 수 있게 될 때까지 초반에는 전문 개발자와 스터디를 구성해서 시작하는 것도 나쁘지 않습니다. 위 영상처럼 저희도 개발 초기엔 다른 개발자 친구와 3~4명이서 스터디를 하면서 직-간접적으로 배웠습니다.

    4.오늘날은 정말 공짜로 개발을 배우기에 축복받은 환경입니다. 모르는 건 구글신이 검색하면 대부분 답해주니까요. 대신 영어로 검색하셔야 합니다. (특히 stackoverflow에서 많은 질문과 답변 게시물이 검색 됩니다.)

    5.국내에도 개발 커뮤니티가 많이 있습니다. 아이폰 개발의 경우 국내 '맥부기'라는 네이버 카페에서 도움을 많이 받았습니다. 서버쪽 언어나 기본 개념은 생활코딩에서 시작하시면 큰 도움을 받으실 수 있습니다. 특히, 생활코딩은 페이스북 그룹도 존재하니, 질문을 올리시면 개발자분들이 친절하게 답변해 주시기도 합니다.

    6.개발 초보는 선 구현, 후 최적화입니다. 만들면서 최적화 생각하면 개발 속도가 느려지더군요. 일단 어떻게든 돌아가게 만드시면, 그 쯤 실력이 올라가 있어서 최적화도 할 수 있게 됩니다. (사실 초반엔 최적화 생각하면서 만들 짬도 안됐었지만...)

    아, 무엇보다 개발을 하다보면 성취감에 대한 기쁨이 굉장히 크더군요. 특히, 막혀있던 것이 풀릴 때 그 쾌감이란...ㅋ 아무쪼록 개발에 관심이 있거나 막연하게 목표를 가지고 계신분들에게 조금이나마 시작하실 수 있는 계기가 되면 좋겠습니다. 감사합니다. :-)

    :: 바로 이런 희열감을 말이죠. ::


    맨 위로