가내수공업 개발, 앱 런칭을 앞두고 (1)

joyeon
6 min readOct 2, 2014

지난 4월에 전 회사의 퇴사를 앞두고 게임 런칭, 대략 2년간의 회고라는 포스트를 남겼었다. 그때도 그렇게 느꼈지만 지금 읽어봐도 글에 괜한 비장함이 느껴지는데 아무래도 평소에 글을 거의 쓰지 않고 가끔 한번씩 쓰다보니 불필요한 힘이 들어가는 것 같다. 하하

어쨌든 그 다음 달인 5월 말에 예정대로 회사를 나왔다. 전전 회사를 다니던 시점부터 정말 쓸데없이 오래 계속 고민해왔던 일들이 있었는데 그 중 굵직하게 뽑자면

• 무작정 해외에 나가서 일을 해보자.
• 혼자 혹은 케미가 잘 맞는 팀으로 개인 개발을 해보자.

이 두가지 정도를 얘기할 수 있을 것 같다. 그 이유는 이것들이 나 나름의 개발자로써의 지속적 삶을 위한 과정이라고 생각했기 때문이다. (이유는 기회가 되면 얘기해보기로 하고) 아무튼 나는 이 두가지를 다 해보려고 하고 있다.

1번을 위한 준비는 따로 진행하면서 2번을 위해 케미가 잘 맞는 것 같은 친구와 뭔가(?)를 만들어보기로 하고 아늑한 집 사무실(방구석 사무실이라고도)에서 가내수공업을 시작했다. 무엇을 만들자 라는 구체적인 계획은 없었는데 계획이 없는 것에 대해 별로 불안하지 않았던 이유는 우리 둘 다 혼신의 힘과 리소스를 쏟은 프로덕트 하나를 내놓자 라는 것보다 작은 완성들을 통해 지속적으로 생존할 수 있는(어떤 상황에서도 꾸준히 만들 수 있는) 환경을 천천히 만들자는 것에 동의했기 때문이다. 그래서 7월부터 스스로도 굉장히 잉여롭게 느껴지는 앱을 만들기 시작했는데 그 앱이 이제 곧(리뷰가 끝나면) 출시될 ”Pixcel” 이다.

아이템 설정

앞서 얘기한 것과 같이 퇴사 후에도 우리는 정말 무엇을 만들지에 대해 아무런 생각이 없었다. 방향이 있었다고 한다면 ‘빨리 완성할 수 있는 것’, ‘우리 스스로도 만들면서 즐거울 것’ 정도? 그래서 픽셀 애니메이팅 앱이라는 굉장히 마이너한 컨셉을 걱정하면서도 즐겁게 빠르게 완성해서 만들기에 대한 감을 잡자라고 결론을 내고 시작했다. (그래서 늘 잉여롭게 잉여앱을 개발 중이라고 얘기하고 다님)

시간관리

아무래도 삶과 일의 경계가 모호하다보니 어느 한 쪽에 치우칠까 걱정이 되어서 나는 초반부터 개인적으로 진행하는 일을 모두 포함해 GTD로 관리했다. 처음에는 둘이지만 스크럼을 할까 했는데 하루에도 끊임없이 얘기하며 진행하다보니 크게 필요성을 못 느껴 차용하지 않았다.

6월 말부터 첫 등록을 앞두고 있는 지금까지 앱을 완성하는데 3개월 정도의 시간이 걸렸다. 초반에는 프로토타입을 만들어 놓고도 혹시 이 프로젝트가 아닌 다른 일을 진행하게 되지 않을까 싶은 생각이 들어 집중하기 어려웠는데 프로젝트가 점점 모습을 갖추게 되면서 서로 생각하고 있는 바가 또렷해져서 쉽게 집중할 수 있었다. 그래서 당연히 프로젝트를 시작하고 첫달-두번째 달은 개발 외에도 마음의 여유가 있어 집안이 늘 깨끗했는데 최근 1–2주는 일에 집중하느라 설거지가 며칠씩 쌓여있고 그랬다. (하지만 회사를 다닐 땐 이 정도는 예사)

어서 빨리 완성을 하고 싶어라는 마음은 늘 있지만 이 프로젝트가 전부가 아니라 앞으로 쭉 장거리 달리기를 해야 한다고 생각하며 여유를 잃지 않으려고 한다. 개인 개발을 하며 여유를 잃는다면 개인 개발이 가질 수 있는 큰 장점을 잃는 것이란 생각이 든다.

개발

Swift

프로젝트를 막 시작하려고 했던 6월에 애플의 새 개발 언어인 Swift가 공개되었다. 아무래도 앞으로는 Swift를 쓸 일이 많을 듯 해서 규모가 크지 않은 이 프로젝트에 한번 도입해보자 하고(당연히 프로그래밍은 혼자 할테니)혼자 결정을 내리곤 다짜고짜 Swift로 개발을 시작했다. 언어 공개에 맞춰 툴(Xcode)도 beta 상태로 계속 업데이트 되었으니 새 베타 버전이 나올때마다 문법이 변경되기도 하고, 무엇보다 아직 거의 사용되지 않은 언어여서 troubleshooting이 쉽지 않았다. 그렇지만 Objective-C와의 호환이 원활했고 다행히 Cocoapods는 사용할 수 있었기에 버리지 않고 계속 사용했다. 계속 베타버전이다보니 이런 문제가 있기도 했고 Xcode GM 버전이 나오기 바로 전 버전에서는 이런 식으로 SourceKit 이 다운되면서 코드 인덱싱을 못해주는 문제가 있어서 굉장히 불편했다. 하지만 베타를 사용해보려면 어쩔 수 없다고 생각하며 그냥 개발했다. :-) 정식 버전이 나오면서 비교적 안정화된 현재로써는 잘 한 결정이라고 생각된다.

오픈소스 사용과 PaaS

많이들 하는 얘기지만 오픈 소스 문화에 기여하는 많은 개발자 분들 덕에 정말 혼자서 하는 개발이 훨씬 수월해졌다는 사실을 새삼 체감했다. 회사를 다니면서 이전 프로젝트들에서도 오픈소스 라이브러리를 종종 사용해왔지만 이번 프로젝트를 하면서는 다양하고 적극적으로 사용해볼 수 있었다. 감사한 마음으로 나도 이번에 만든 픽셀 에디터 등을 오픈소스로 공개해볼까 고민하면서도 두려워(?)하는 중이다.

우리 앱은 한마디로 모바일로 여러개 캔버스를 도트로 찍고 그것들을 편집해서 애니메이션을 만드는 툴이다. 아무래도 툴의 성격이 짙다보니 서버에서 할 수 있는 일들보다 편집 기능에 초점을 맞추고 단지 만든 결과를 메시지나 SNS 등 여러 군데에 공유할 수 있는 정도로만 구현해야겠다 생각하고 만들었다. 그러다가 거의 막판에 테스트 해주신 주변 분들의 의견을 듣고 사용자가 만든 작품을 서버에 보낼 수 있게 동의하는 경우, 서버로 보내 우리가 추천할만한 작품을 게시해 주는 정도의 소극적 기능을 추가했다. 이 기능을 위해 PaaS 서비스인 Parse를 사용했는데 사용이 정말 간편하다. 처음에는 AWS S3 스토리지로 파일을 바로 업로드하게끔 했는데 Parse와 비교해보니 공짜로 제공해주는 서비스가 Parse 쪽이 더 좋아서 Parse를 사용했다. 참고로 Parse의 경우 초당 30Request 이하, 파일 스토리지 20GB 이하, DB 스토리지 20GB 이하, 데이터 전송량 2TB 이내인 경우 무료로 쓸 수 있다. 푸시 메시지 수신자도 1만명까지는 무료. 서버와 주고받을 내용이 크지 않은 우리 앱으로써는 당분간 넉넉히 사용할 수 있지 않을까 싶다. :-)

쓰다보니 길어져서 여기에서 끊고 2부로 나눠서 쓰고 싶어졌다.(…) 다음 글에서는 가내수공업을 하니 좋았던 점, 아쉬웠던 점 등에 대해 내 생각과 팀메이트인 친구의 생각을 물어보고 정리해 볼까 한다.

그럼 현재 리뷰를 기다리고 있는 Pixcel 앱의 동영상 프리뷰를 소개하며..

다음에 계속-

http://pixcel.amblee.so/post/98810082278

--

--