디지털 디톡스 앱
오랜만의 앱 제작기다. 앱 기획 관련하여 마지막으로 글을 쓴 게 2023년 말이다. 새로운 앱을 마지막으로 만든 건 2023년 초로 더 전이다. 2018년부터 앱 기획을 왕성하게 했는데 작년에는 흐름이 뚝 끊겼다.
사실 그쯤 온라인 기획에 흥미가 떨어지고 있었다. 앱을 만드는 일이 전만큼 설레지 않았다. 그렇다고 기획이란 일까지 내게서 멀어진 건 아니었다. 오히려 다른 방면으로 왕성해졌다.
2024년에는 공간 기획에 도전했다. 출판전야라는 이름의 서재를 만들고 운영하는 일에 힘을 쏟았다. 거의 모든 게 처음이라 다른 일에 신경 쓸 여력이 없었다.
기획이라는 공통분모를 갖고는 있지만 온라인과 오프라인의 세계는 달랐다. 오프라인 기획이라는 신세계를 몸소 경험하며 희로애락을 느꼈다.
동시에 온라인 기획이라는 세상을 바깥에서 바라보는 시간도 가질 수 있었다. 특히 노(怒)와 애(哀)를 느낄 때 내가 익숙함에 속아 온라인 기획의 소중함을 잊어버렸다는 생각을 많이 했다.
두 세계를 모두 경험하며 각각의 장단점을 알게 됐다. 온라인 기획과 오프라인 기획. 둘 중 뭐가 더 좋아라고 물었을 때 답하기 어려웠다.
결국 2024년 12월 나는 둘 다 하기로 마음을 먹었다. 둘 다 하면 상호보완이 되어 아쉬운 점을 상쇄해 줄 테니까. 앱 하나 만들기를 새해 결심에 넣었다.
그 결심이 씨앗이 되어 결실을 맺은 게 지금부터 이야기할 앱 ETA다.
뭘 만들까?
나부터 쓸 앱
비행기 모드
누구랑 만들까?
노가다? WHY NOT!
Copilot
Anti-Viral Viral
로그라인 개발
바다를 건너
청천벽력
온보딩
여정을 시작하며
원래는 앱을 만들 때 누구랑 만들까라는 질문이 선행했다. 다시 말해 팀을 먼저 구한 후 뭘 만들지 고민했다.
왜일까. 아무래도 당시엔 앱을 만든다는 것 자체만으로도 설렜기 때문이 아닐까 싶다. 나랑 같이 앱 만들어 준다고? 오케이 합류! 이런 마인드였다.
그렇게 두 차례 팀 사이드 프로젝트를 하며 배운 게 있다. 바로 팀원들과 브레인스토밍하여 멋진 아이디어를 도출하는 게 도시 전설에 가깝다는 점이다.
머리를 맞대고 고민하며 이거 어때요, 저거 어때요 하지만 대개 아래와 같이 대화는 종결된다.
아 이미 비슷한 앱 있네요.
사람들 생각하는 거 다 비슷하네요.
이런 흐름으로 대화가 몇 차례 반복되면 팀은 마의 구간에 빠진다. 이른바 마가 뜨는 마의 구간이다. 침묵 속에서 각자의 마음에 우리 지금 뭐 하고 있는 거지라는 회의감이 싹튼다.
이 구간에서 벗어나려면 누군가가 마도를 잡고 아이디어를 발굴해 오는 수밖에 없다. 그리고 보통 그 누군가는 기획자가 된다.
다음 모임 전까지 팀원들의 침묵을 잠재울 멋진 아이디어를 가져가야 한다는 부담감에 어깨가 무거워진다. 머리를 쥐어뜯어 고민해서 정리한 아이디어를 하나 가져간다.
아이디어를 들은 팀원들의 표정이 알쏭달쏭하다. 짧은 시간 안에 좋은 아이디어가 나오기 힘들 테니 당연한 일이다.
그럼에도 일단 GO를 외치는 경우가 적지 않다. 이미 팀원들은 '할 일'에 굶주려 있기 때문이다. 일단 모였으니 얼른 뭐라도 합시다라는 심리가 작용한다.
처음엔 각자의 의지가 충만하니 어느 정도 진도가 나가지만 그것도 잠시다. 함께 바라보는 목표가 기대감을 품게 해야 불꽃을 유지할 수 있다. 우리가 만드는 앱이 잘 될 거라는 믿음이 필요하다.
아이디어가 별로면 그 믿음을 줄 수 없다. 오히려 아이디어가 실체화될수록 별로인 점이 드러나 의욕을 저하시킬 수 있다.
헤맬 거면 육지에서 헤매는 게 낫다. 출항하고 바다 한복판 위에서 헤매면 그건 표류다. 육지에서처럼 마음 내키는 대로 하선하기 어렵다. 이미 어느 정도 만든 앱이라는 기회비용이 있기 때문이다.
저번에 진행한 앱 프로젝트가 위의 흐름으로 흘러갔다. 최종적으로 앱을 출시하긴 했으나 너무 오래 걸렸고 과정도 지지부진했다.
나뿐만 아니라 팀원들에게도 힘든 시간이었다는 걸 알기에 이번엔 다르게 접근하기로 마음먹었다. 뭘 만들지를 먼저 정하고 팀원을 찾자.
지금까지 다양한 온라인 프로덕트를 만들었지만 그중 내가 잘 쓰고 있는 건 거의 없다. 많은 분들이 사용해 주신 감정 다이어리 앱 모지또도 정작 나는 잘 사용하지 않았다.
내가 기획자라서가 아니라 진짜 필요해서 쓰고 싶은 앱을 만들고 싶었다. 시장 조사가 아닌 내가 해결하고 싶은 나의 문제에서 시작한 이유다.
마침 당시 스스로가 스마트폰 중독이 아닌가 생각을 할 때였다. 작업을 하거나 책을 읽다가도 습관적으로 스마트폰을 켜서 카톡이나 인스타그램에 들어갔다.
스마트폰 사용 습관이 뇌를 녹이는 느낌이 들었다. 가만히 두면 뇌 주름이 다 펴져 멍청해질 것 같았다. 머리를 써서 먹고살고 있으니 어찌 보면 생계가 걸린 문제였다.
디지털 디톡스 앱을 만들기로 하고 시장 조사를 했다. 익히 들어서 알고는 있었지만 스마트폰 중독 문제는 나만의 문제가 아니었다.
스마트폰이 우리의 시간과 정신을 좀먹는 문제는 생각보다 심각했다. 우리나라만 해도 국민 4명 중 1명이 스마트폰 과의존 증후군이라 하니 사회 문제라 이를 만했다.
또 하루 스마트폰을 4시간 이상 사용한 그룹은 그렇지 않은 그룹보다 우울 증세, 자살 시도 비율이 20%나 높다고 했다. 디지털 네이티브인 10대에겐 더 심각한 문제로 보였다.
널리 알려지고 개개인에게도 와닿는 문제여서 그런지 앱스토어에는 디지털 디톡스 관련 앱이 많이 보였다. 그만큼 수요가 있다는 걸 테니 긍정적으로 생각하기로 했다.
디지털 디톡스 앱은 대개 스크린타임 API와 같이 OS에서 제공하는 앱 차단 기능을 기반으로 했다. 사용자가 설정한 시간 동안 특정 앱 혹은 전체 앱을 차단하는 식이다.
OS에서 제공하는 기능을 바탕으로 하기 때문에 앱 간의 기능 차이가 커 보이지 않았다. 그럼에도 포레스트, 터닝과 같은 앱은 눈에 띄었다.
앱 차단 외에 메모, 도움 되는 앱 설정, 통계, 미션 등 다양한 기능들을 제공하는 것은 물론 나무/캐릭터 키우기와 같은 게이미피케이션 요소도 잘 입혔다.
후발 주자로서 위의 앱들과 기능적으로 어떤 차별성을 가져갈 수 있을지 고민했지만 쉽지 않았다. 이미 두 앱이 디지털 디톡스 앱에 필요한 기능들을 훌륭하게 제공하고 있었다.
그렇다면 포기해야 할까? 그렇지 않다. 기능은 중요하지만 전부가 아니다. 내가 스마트폰 중독을 해결하기 위해 위의 앱들을 채용하고 있지 않았다는 점이 그 (지극히 개인적인) 근거였다.
물론 두 앱을 전에는 몰라서 그런 거 아니냐고 물을 수도 있다. 근데 앱 리서치를 하며 알게 된 후에도 두 앱을 리서치 용도 외에는 잘 사용하지 않았다.
문제 해결에 필요한 기능을 다 갖추고 있어도 적어도 내게는 닿지 않은 것이다. 나는 이 이유가 사용자와 서비스 간의 랑데부에 있다고 봤다.
랑데부
우주를 유영하는 두 물체가 접촉하는 것
초속 수십 킬로미터로 날아다니는 두 물체의 상대 속도가 0이 되어야 함
상대 속도가 0이 되려면 같은 방향으로 같은 속도로 움직여야 함
위의 정의에서 중요한 건 두 물체의 방향과 속도를 조절하여 상대 속도가 0이 되어야 한다는 점이다. 그렇지 않으면 랑데부를 못한다. 우주선에 얼마나 많은 기능이 있든 접촉이 안 되면 도킹은 물 건너간다.
사용자와 앱도 랑데부를 위해서 방향과 속도를 맞춰 상대 속도가 0이 되어야 한다. 그렇다면 여기서 방향과 속도는 무엇을 의미할까? 생각보다 단순하다.
방향 : 문제 해결 방향
속도 : 문제 해결 속도
디지털 디톡스 앱에 대입해서 보면 방향은 앱 차단 및 부가 기능을 통해 스마트폰 중독을 해결한다로 볼 수 있겠다. 나 또한 이러한 방향성에 공감하고 따르기로 했다.
쟁점은 속도다. 문제 해결 속도가 빠르면 빠를수록 좋은 거 아니냐고 물을 수 있다. 맞는 말이다. 만약 모두가 그 속도에 따라갈 수 있다고 한다면 말이다. 목적지가 같아도 페이스가 다르면 합류하기 어렵다.
사용자마다 처한 상황이 다르고 이에 따라 문제를 대하는 태도도 다르다. 시험을 앞둔 수험생과 퇴근 후 쉬면서 책을 읽는 직장인의 치열함이 같을 수 있을까.
시중에 나온 디지털 디톡스 앱들의 속도는 내 기준으로는 좀 빠르게 느껴졌다. 앱을 쓰다가 디지털 디톡스에 실패하면 낙오했다는 죄책감이 생겼고 그게 포기의 계기가 되기도 했다.
보다 가볍고 재밌게 접근할 수 있는 디지털 디톡스 앱, 그래서 내가 자주 쓸 것 같은 앱을 만들어 보자는 생각이 들었다. 그런 앱을 만들면 나와 비슷한 다른 누군가도 써 주지 않을까?
물론 누군가가 봤을 때는 너무 개인의 감에 기댄 기획 방법이라 할 수도 있겠다. 근데 난 기획자면 자신의 감을 어느 정도 믿어 줘야 한다고 생각한다.
감이라는 것도 결국 개인의 경험 데이터가 쌓여 만들어진 통찰력이고, 자신의 감을 믿고 써 줘야 녹이 슬지 않고 오히려 날이 설 수 있다.
기존의 앱들보다 가볍고 재밌게 만들기. 이는 무겁고 지난한 고민을 필요로 한다. 마음의 여유를 갖고 답이 나올 때까지 한 두 달 정도는 고민을 달고 살아야겠다고 생각했다.
그런데 이게 웬일 아이디어는 생각보다 금방 나왔다. 1월 초에 다녀온 홍콩 여행 덕이었다. 디지털 디톡스를 생각하다 홍콩 갈 때 비행기를 탄 기억이 떠올랐다.
인터넷이 안 되니 가져간 책을 읽었다. (넷플릭스, 유튜브 다운로드하는 건 귀찮았다.) 비행기 모드에선 자연스레 디지털 디톡스가 되는 느낌이었다.
이때 여정을 컨셉으로 한 디지털 디톡스 앱 아이디어가 나왔다. 비유가 사용자들의 인식 체계에 잘 녹아들 수 있을 것 같았다.
기능
비행기를 타는 동안 네트워크를 사용한 앱 사용이 어렵다.
디지털 디톡스 시간 동안 앱을 차단한다.
의미
비행기를 타고 새로운 세상으로 넘어간다.
디지털 디톡스를 하며 스마트폰 화면에서 벗어난다.
비유를 사용했을 때의 효과가 마음에 들었다. 여정은 우리에게 설렘을 안긴다. 낯선 환경에서 새로운 세상뿐만 아니라 일상 중에 미처 발견하지 못한 스스로의 모습 또한 알게 된다.
스마트폰의 유혹을 참는 의지가 필요한 일에 여정이라는 컨셉을 입혀서 설레는 일로 만들 수 있지 않을까. 적어도 자기 계발보다는 여행이 사람들에게 더 가볍고 재밌게 느껴질 거라 생각했다.
위에서 말한 것 외에도 비행기, 여정을 메타포로 앱에서 활용할 수 있는 지점이 많아 보였다. 머리에 번쩍하고 번개가 치는 느낌이 들더니 파바박하고 시냅스들이 연결되는 쾌감이 있었다.
앱의 이름도 번뜩하고 떠올랐다. 마치 계시를 받듯 앱 이름은 ETA로 해야겠다는 생각이 들었다. 당시 뉴진스 기사가 많이 보여서 그랬는지도 모른다. (좋은 방향으로 난 건 아니었지만..)
Estimated Time of Arrival, 즉 도착 예정 시간의 준말인 ETA. 나는 뉴진스를 통해 처음 알았다. What's your ETA라는 훅이 지금도 머릿속을 맴돈다.
발음하기 쉽고 여정을 컨셉으로 한 앱이기에 ETA라는 이름이 찰떡 같이 달라붙는 느낌이었다. 또 뉴진스가 해서인지 더 힙하게 느껴졌다. 아저씨 다 됐다.
디지털 디톡스에 맞춰 ETA에 살짝 변주를 주기로 했다. Estimated Time of Awareness. 여기서 Awareness는 내외적 자각 및 각성을 의미한다.
디지털 디톡스는 결국 과도한 연결로 손상된 자각 능력을 회복하는 일이라 생각한다. 우리의 앱이 그런 역할을 해 주길 바랐다. 사람들이 세상 그리고 자기 자신과 다시 연결될 수 있도록.
What's your ETA?
뭘 만들지가 정해졌으니 누구랑 만들지가 관건이었다. 피그마에 후다닥 피칭용 자료를 정리하고 인스타그램에 팀원 모집글을 올렸다.
감사하게도 모집글을 보고 연락 주신 분들이 계셨다. 생각한 아이디어와 결이 맞는 디자이너, iOS 개발자, 백엔드 개발자 분에게 피칭을 하기로 했다.
아이디어를 듣고 마음에 들면 팀에 합류하는 게 조건이었다. 긴장이 됐지만 사람들이 아이디어를 흥미롭게 느낄지 확인할 수 있는 기회였다.
또 자신이 선택한 아이디어라면 더 열정적으로 임하지 않을까라는 생각도 들었다. 전에 본 어떤 책에서도 사람들에겐 자신이 내린 선택을 정당화하는 심리 기제가 있다고 했다.
공유한 자료에는 아래의 정보를 넣었다.
내 소개
내가 주목한 문제(스마트폰 중독)
경쟁사 조사(디지털 디톡스 앱)
차별화 포인트
앱 컨셉과 레퍼런스
주요 기능과 화면
다행히 아이디어를 듣고 다들 흥미로워하셨다. 같이 하고 싶던 분들의 반응이 좋으니 뿌듯했다. 최종 합류 전 서로의 작업 속도, 희망 출시 일정도 얘기했는데 잘 맞았다.
생각보다 팀이 빨리 그리고 잘 세팅되어 탄력이 붙었다. 바로 기획서를 치기 시작했다. 마가 뜰 새가 없었다.
앱 상세 기획이 진행되며 팀원들과의 논의가 활발하게 이루어졌다. 우리는 ETA 앱이 사용자에게 진짜 여정을 떠난 듯한 경험을 선사하길 바랐다.
우리는 여행을 떠날 때 아래와 같은 순서를 밟는다.
1. 여행지 공항으로 가는 티켓 발권
2. 비행기 탑승
3. 목적지 도착 및 여행
위의 흐름에 맞춰 앱의 시나리오와 화면 기획을 잡았다. 각 단계별로 화면을 구성했는데 세 번째 단계가 어려웠다. 어떻게 목적지에 도착하여 여행했다는 감각을 줄까.
목적지 도착 화면에서 여행지의 사진과 설명을 보여 주기로 했는데 문제는 사진을 얻는 방식이었다. 처음에 생각한 건 Google Place API를 활용하는 거였다.
Google Place API에 특정 장소의 사진을 내려 주는 필드가 있었다. 개인적인 추측이지만 피크민도 그 API를 활용하여 엽서 기능을 제공하지 않나 싶었다.
어떤 사진이 내려오는지 보려고 로컬에서 도시 샘플을 넣어 Google Place API를 호출해 봤다. 결과는 만족스럽지 않았다. 사진 품질이 별로거나 엉뚱한 사진이 나오는 경우도 있었다.
또 사진 개수가 충분히 내려오지 않는 것도 단점이었다. 사용자가 한 도시를 여러 번 여행할 수도 있을 텐데 매번 같은 사진을 내려 주면 재미가 없을 게 분명했다.
사용자가 이번 여정에선 어떤 사진을 얻을 수 있을지 기대를 품게 하고 싶었다. 그러려면 사진 퀄리티가 좋은 건 물론 개수도 여러 개여야 됐다.
호출 Limit 초과 시 과금이 필요한 점도 걸려 결국 Google Place API는 포기할 수밖에 없었다. 그렇다면 여행지 사진을 어떻게 구할 것인가.
머릿속에 떠오르는 건 하나뿐이었다. 직접 여행지 사진을 하나하나 수집하여 아카이빙 하는 것.
리스트업 한 공항의 개수가 대략 450개, 이는 곧 450개 도시의 여행지 사진을 찾아야 한다는 것을 의미했다. 그것도 도시마다 여러 개의 사진을.
상당한 노가다가 예정된 일이었다. 그렇게까지 해야 되나 싶다가 동시에 WHY NOT이라는 생각이 들었다. 내가 뭐라고, 노가다 좀 할 수 있지. 배달의민족도 처음엔 전단지 긁어모아서 데이터를 수집했는데.
매일 20개 도시의 사진을 모으면 최소 한 달 안, 넉넉 잡아도 두 달 안에는 마무리할 수 있었다. 퇴근하고 매일 Unsplash를 둘러보며 여행지 사진을 모았다.
사진을 모으면서 한 가지 문제를 발견했는데 내가 그 도시에서 어떤 게 유명한지 잘 모른다는 거였다. 생전 처음 보는 도시들이 특히 그랬다.
이 문제를 해결하기 위해 AI를 활용해 각 도시를 설명하는 콘텐츠를 먼저 만들었다. 아래와 같이 스프레드 시트에 생성형 AI 플러그인을 붙여서 진행했다.
각 도시 설명을 먼저 확인하고 사진을 모으니 편했다. 사용자도 도시 설명과 사진이 연결되어 있으니 더 실감 나는 경험을 할 수 있을 것으로 보였다.
여행자가 돌아다니며 남긴 사진처럼 느껴지도록 사진 순서에도 신경을 썼다. 사진의 획득 순서를 정할 때 아래 요소를 고려했다.
시간의 흐름이 느껴지게
직전 사진은 아침이었는데 다음 사진이 바로 저녁이 되는 건 지양했다. 아침 - 낮 - 해 질 녘 - 밤 - 새벽. 이런 선형적인 시간에 맞춰 순서를 잡았다.
스팟별로 묶어서
우리는 보통 스팟(구역) 단위로 여행한다. 종로 - 압구정 - 잠실. 이런 식으로 같은 스팟으로 보이면 인접한 순서로 구성했다.
그냥 모으는 것도 노가다인데 조건까지 추가가 되어서 까다로웠다. 특히 잘 모르는 도시는 위의 조건에 맞춰 사진을 구하고 나열하는 게 더더욱 어려웠다.
그럼에도 힘들다는 생각은 들지 않았다. 오히려 방구석에서 여행하는 느낌이 들었다. 사진을 보며 언젠가 꼭 가고 싶은 곳도 생겼다. 우리 사용자들도 나와 같은 경험을 하면 좋겠다.
ETA 앱에서는 관리해야 되는 콘텐츠가 많다. 특히 도시 사진, 설명 등은 앱의 하이라이트라 할 수 있는 여정 결과 화면에서 표시되기에 특별 관리가 필요하다.
처음엔 목업 데이터 용도로 콘텐츠 초안만 잡아서 서버에 올렸다. 이후 틈틈이 콘텐츠를 다듬고 출시 직전에 서버에 업데이트를 요청할 계획이었다.
스프레드 시트에서 콘텐츠를 다듬던 중 서버 개발자 님이 어드민이 필요한지 물어보셨다. 아직 앱 출시도 안 했는데 어드민을 만들어 준다고? 사이드 프로젝트에선 처음 경험하는 일이었다.
부담되지 않냐고 했더니 클로드와 함께 하면 금방 할 수 있을 것 같다고 하셨다. 실제로 개발자 님은 일주일 만에 어드민을 만들어 오셨다.
공항과 도시의 콘텐츠를 관리할 수 있는 기능뿐만 아니라 우리 앱 컨셉에 맞는 귀여운 도메인과 이름도 갖고 있었다. 나는 이런 작은 재치들이 고리타분함을 물리치는 부적이라 생각한다.
도메인 : Control Tower
어드민 이름 : Copilot
어드민이 생긴 덕분에 콘텐츠 관리가 쉬워졌다. 어드민에서 수정하면 개발 중인 앱에서 곧바로 확인할 수 있었다. 사이드 프로젝트를 하며 이런 호사를 누려도 되나 싶을 정도로 편리했다.
특히 마음에 든 건 여정 결과 화면에서 활용되는 도시 색상을 관리하는 기능이었다. 우측에 UI 적용 샘플을 보여 줘서 어떤 색이 어울릴지 가늠하기 수월했다.
이 어드민이 아니었다면 아래와 같이 진행해야 됐을 것이다.
1. 색상 변경
2. 서버 개발자 님에게 변경 요청
3. 앱에서 변경 내용 확인
400개에 달하는 도시 색상을 위의 과정을 거쳐 하나하나 잡아야 했다면 꽤나 고됐을 게 분명하다. 나뿐만 아니라 서버 개발자 님도 번거로웠을 테고.
메인 기능 개발 때문에 정신없었을 텐데 기획자를 위한 어드민을 선뜻 만들어 주셔서 감사했다. 또 개발자 님의 개발을 도와준 클로드에게도.
요새 앱에서는 사용자의 바이럴을 유도하는 장치를 잘 활용한다. 앱의 하이라이트가 되는 화면 혹은 특정 요소를 SNS 등으로 공유하도록 유도한다.
우리 앱도 그렇게 하고 싶었으나 문제가 있었다. ETA가 디지털 디톡스 앱이라는 점이었다.
디지털 디톡스 앱에서 SNS에 무언가를 공유하도록 유도하는 건 맞지 않았다. 기껏 디지털 디톡스를 하며 세상에 눈을 떴는데 다시 스마트폰 화면 속으로 집어넣는 꼴이니까.
그렇다고 바이럴을 포기하기는 아쉬웠다. 입소문은 앱을 사람들에게 알릴 수 있는 가장 좋은 방법이니까. 돈은 안 들면서도 가장 탁월한 효과를 가진다.
고민하다가 Flighty라는 앱의 Live Share라는 기능을 봤다. 내가 탑승할 비행기의 여정 정보를 공유하는 기능이었다. 비행기를 타면 연락이 어려우니 사전에 공유하는 용도로 보였다.
공유 기능은 아래와 같이 링크, 텍스트, 사진 등 다양한 방식으로 제공됐다. (레퍼런스로 삼아 보며 상당히 만듦새가 좋은 앱이라 느꼈다.)
특히 눈에 띄는 건 링크 공유였다. 해당 링크에 들어가면 웹페이지 내에서 여정 진행 상황을 확인할 수 있었다. 비행기가 어디쯤 왔는지, 언제 도착하는지 등의 정보가 보였다.
이거다 싶었다. 우리 앱에서도 여정을 시작하면 연락이 어려우니 사전에 링크 형태로 주위에 공유할 수 있도록 하면 좋겠다는 생각이 들었다.
여정 선택과 여정 진행 사이에 여정 준비 화면을 추가해 여정 공유 기능을 제공하기로 했다. 실제 여정에서도 온보딩하고 이륙하기까지 시간이 있으니 여정 준비 상태가 어색하지 않았다.
카카오톡 등에 공유된 링크로 들어가면 Flighty처럼 여정 진행 상황을 확인할 수 있다. 또 ETA 앱 다운로드 버튼도 제공한다.
여정 공유 기능을 위해 웹 프론트 개발이 필요했는데 서버 개발자 님이 맡아 주셨다. 어드민에 이어 선뜻 나서 주셔서 감사했다.
여정 공유 기능을 통해 크게 두 가지 목표를 달성할 수 있다.
여정 진행 상황을 주위에 알리기
ETA 앱 알리기
디지털 디톡스라는 카테고리 특성상 SNS로 바이럴 하는 게 맞지 않아 고민이 있었는데 오히려 우리 앱에 어울리는 방식을 찾아 뿌듯하다. 컨셉이 단순 껍데기가 아닌 기능과 혼연일체가 되는 느낌!
최초 기획은 머릿속에서 돌린 시뮬레이션의 산물이다. 사용자가 느끼길 바라는 감각을 염두에 두고 앱의 각 화면을 구성한다. 사실상 상상의 나래인 셈이다.
사용자가 실제로 그 화면을 접했을 때 기획자가 의도한 대로 느낄지는 기획자 본인도 모른다. 이상과 현실은 다른 법이니까.
기획자의 실력에 따라 이상과 현실의 격차를 좁힐 수는 있다. 문제는 그게 좀처럼 쉽지 않고 리스크가 크다는 점이다.
기획자의 실력을 믿고 앱을 다 만들고 봤더니 결과물이 의도한 바와 딴판이라면? 이때는 이상과 현실의 격차를 좁히기 어렵기에 기획자는 팀원들의 얼굴을 볼 낯이 없다.
더 안전한 방식은 로그라인 개발이라 생각한다. 로그라인 개발? 처음 들어 보는 말이다. 당연하다. 내가 글을 쓰며 마음대로 만든 말이니까.
로그라인
로그라인은 핵심 줄거리를 간결하게 요약한 문장으로, 주인공, 갈등, 목표, 주요 사건을 포함해야 합니다. 효과적인 로그라인은 25~50 단어 내외로 작성하며, 독자의 흥미를 유발하는 요소를 강조하는 것이 중요합니다.
짧게 말해 로그라인은 한 줄 컨셉이고, 로그라인 개발은 앱의 컨셉과 가장 결부된 부분만 먼저 개발하는 방식을 말한다.
얼핏 들었을 때 MVP, 프리토타이핑 개발과 유사한 개념인 것 같다. 비슷하긴 한데 나는 초점이 조금 다르다 생각한다.
MVP, 프리토타이핑 : 구현된 제품의 '기능'이 시장에서 통하는지 확인
로그라인 : 구현된 제품의 '컨셉'이 기획자의 의도한 바와 맞는지 확인
이번에 ETA는 로그라인 개발 방식으로 만들었다. 컨셉에서 코어가 되는 여정 과정을 먼저 만들고 기획자가 의도한 경험을 주는지 살폈다.
첫 시도는 실패였다. 실제 앱으로 써 보니 머릿속으로 상상한 것과 느낌이 달랐다. 문제는 여정을 선택하는 화면에 있었다. 내 상상과는 달리 화면이 난해하게 다가왔다.
이상 : 어디 갈지 정하는 설렘
현실 : 당최 어디 갈지 모르겠는 난감함
팀원들에게 헛발질해서 죄송하다고 하고 다른 안을 검토했다. 팀원들과 2주 정도 고민을 한 끝에 새로운 방향이 정해졌고 곧바로 수정 개발에 들어갔다.
제발 이번에는 우리의 상상이 현실이 되기를 바라며 앱을 열었다. 다행히 좀 써 보니 이번에는 이상과 현실의 격차가 크지 않았다.
선택지가 많아 혼란스러운 기존 안보다 하나의 선택지에 집중하는 새로운 안이 훨씬 더 마음에 들었다. 시간이 강조되어 디지털 디톡스 앱의 기능성도 사는 듯했다.
만약 이러한 지점을 앱을 다 만들고 살폈다면 어땠을까.
일단 문제를 발견하는 것 자체도 어려웠을지도 모른다. 문제들이 서로 덕지덕지 엉겨 붙어 있으면 환부가 어딘지 정확히 짚어 내기 어렵다.
문제를 발견하더라도 고치는 데 시간과 노력이 훨씬 많이 들어갔을 것이다. 특히 문제가 된 게 핵심 기능이면 하나의 화면뿐만 아니라 서비스 전체적으로 수정이 필요할 수도 있다.
무엇보다 그때는 팀원들에게 고쳐달라고 말하기가 더 어렵다. 지난한 마라톤을 달려오느라 이미 지칠 대로 지쳤을 테니까.
MVP, 프리토타이핑의 관점으로 보면 아무래도 기능 중심적으로 보게 될 여지가 크다. 일단 MVP의 정의 자체도 최소한의 기능만 가진 제품이다.
기능의 제공 여부는 머릿속에서 판단하기 쉽지만 컨셉은 그렇지 않다. 컨셉은 머릿속 시뮬레이션만으론 실제로 어떨지 판단하기 어렵다.
기능 중심의 앱이라면 MVP, 프리토타이핑의 관점으로만 살펴도 되겠지만 ETA는 그런 앱이 아니다. 컨셉이 중요한 앱에서는 컨셉이 의도대로 구현되었는지 체크하는 게 중요하다.
개발 리소스를 적게 들이면서 단기간 내 예비 사용자 풀을 확 늘릴 수 있는 법은 뭘까. 바로 해외 진출이다. ETA는 해외로의 여정을 떠나기로 했다.
앱을 처음 만들 때부터 로컬라이제이션을 염두에 뒀다. 모지또를 만들며 한 차례 경험하기도 했고 오프라인 기획을 해 보니 해외로 쉽게 나갈 수 있는 온라인 기획의 장점이 더 부각되어 보였다.
특히 요새는 AI가 번역을 잘해 주니 로컬라이제이션을 못 할 이유가 없다고 생각한다. 더더욱이 앱에서는 어려운 단어가 잘 쓰이지 않기에 AI 번역만으로도 충분하다.
그래도 ETA에는 텍스트 콘텐츠가 많아서 로컬라이제이션 할 때 애를 먹었다. 처음엔 스프레드 시트에 생성형 AI 플러그인을 연결해서 번역했는데 API 호출에 따라 요금이 꽤 많이 나왔다.
결국 내 chatGPT에 아래와 같이 하나하나 물어보면서 스프레드 시트에 복붙 했다. 꽤나 멍청한 방식인데 역시 머리가 나쁘면 몸이 고생한다. (누군가 더 좋은 방법을 아신다면 이 중생을 구해 주세요..)
1차 출시 언어는 아래와 같다. 앞으로 점점 늘려가야지.
한국어
영어
일본어
중국어 간체/번체
프랑스어
독일어
스페인어
우리 팀원들이 해외 어디에 가서든 내가 이 앱 만들었어하고 자랑할 수 있으면 좋겠다.
해외에서 이미 성공한 앱을 카피 혹은 참고해서 국내에 얼른 출시한다. 내가 선호하는 스타일은 아니다. 설령 그 방식이 안전하고 많은 돈을 벌어다 준다고 해도.
욕심일 수 있겠지만 내가 만든 게 세계 최초이길 바랐다. 그럴 수 있다면 성공하지 못해도 괜찮았다. 어쨌든 세상에 없던 걸 만든 거니까. 그런 마음으로 여태 기획을 해 왔다.
그런 나에게 청천벽력 같은 소식이 들려왔다. 앱 출시를 한 달 정도 남긴 시점이었다. 앱 리서치 고수인 친구가 내게 카카오톡을 보내왔다. 우리가 만들고 있는 앱과 비슷한 앱을 발견했다고.
바로 메시지에 적힌 앱을 다운로드해서 써 봤다. FocusFlight라는 이름부터 컨셉을 짐작하게 하는 디지털 디톡스 앱을 떨리는 마음으로 열었다. 제발 우리 앱이랑 달라라, 별로여라 하면서.
내 바람과 달리 FocusFlight의 컨셉과 완성도는 나를 단번에 좌절시켰다. 내 머릿속에 그린 이데아, 즉 이상적인 형태를 구현해 놓은 듯했다.
다른 한편으로는 신기하기도 했다. 나랑 거의 똑같이 생각한 사람이 지구상에 존재하다니. 단순 앱 컨셉만 비슷한 게 아니라 화면 구성도 상당히 닮아 있었다.
앱 출시 일자를 보니 2025년 1월 27일이다. 우리 팀이 ETA 앱 킥오프를 할 때 여기는 앱 오픈을 준비하고 있었다. 한 발 늦었구나 싶었다. 기능은 둘째치고 컨셉까지 같다니 내게는 치명상이었다.
심지어 두 명이서 만든 결과물이었다. 이런 멋진 앱을 단 둘이서 만들다니. 지구 다른 편에 있는 얼굴도 모르는 사람에게 열등감을 느꼈다.
(사실 iOS 개발자는 구글링 해서 트위터 ID를 찾아 얼굴을 알기는 한다..)
앱의 공정률이 80% 정도가 되는 상황에서 팀에게 말해야 할까. 모르는 게 약이라 던데 말하면 괜히 사기를 저하시키는 게 아닐까. 순식간에 여러 생각이 머리를 스쳤다.
5분 정도 고민을 하다가 결국 이야기하기로 했다. 거의 다 만든 만큼 완주는 해야 하고 완주를 해야 한다면 더더욱 함께 이겨 낼 방법을 찾아야 한다.
팀원들도 앱을 써 보고는 나랑 비슷한 반응을 보였다. 유려한 인터랙션과 디테일을 보며 감탄하면서도 눈물을 흘렸다. 이 사람들 뭐야 하면서..
팀원들과 앱을 써 보며 찬찬히 살펴보니 FocusFlight와 ETA는 비슷한 점이 많았지만 서로 간에 유의미한 차이도 있었다. 바로 여정 결과 화면이었다.
FocusFlight는 여정 진행 화면을 유려하게 구성한 것과 달리 여정 결과 화면은 비교적 심플하게 잡았다. 결과 화면은 텍스트와 Confetti 애니메이션 정도로 꾸며졌다.
FocusFlight는 결과보다는 과정의 즐거움에 초점을 맞춘 듯했다. 과정이 즐거우면 사용자가 그걸 다시 즐기기 위해 반복해서 여정을 떠날 테니까.
우리의 접근 방식은 달랐다. 우리는 여정 결과 화면이 앱의 하이라이트라 생각했다. 앱을 사용한 보상을 주는 화면이니 여정 진행 화면보다 더 신경을 썼다.
또 디지털 디톡스 앱의 임무는 일정 시간 동안 사용자가 휴대폰 화면을 보지 않도록 하는 것이다. 사용자가 보지 않을 화면보다 볼 화면에 집중하는 게 나을 거라 봤다.
여정이 설레는 이유는 비행기 탑승보다는 도착지에 대한 기대에 있지 않을까. 도착지에 어떤 세상이 펼쳐져 있을지 궁금한 마음이 여정을 시작하게 할 거라 믿었기에 도시 콘텐츠를 공을 들였다.
비록 컨셉은 같지만 사소한 지점이 아닌 앱의 하이라이트를 다르게 본다는 점에서 희망이 보였다. 더 신경 써서 잘 만들어 보자는, 오히려 좋아 마인드의 팀원들에게도 도움을 받았다.
우리 앱이 유일무이하게 시작하지는 않았지만 유일무이한 앱으로 만들고 싶다. 그런 마음을 되새기고자 경쟁 관계의 앱의 이름을 대놓고 써 놓았다. 꼭 이기고 싶다!
게 섯거라.
FocusFlight를 발견한 후에는 조바심이 생겼다. FocusFlight에서 여정 결과 화면에 힘을 쓰는 업데이트를 하지 않을지 조마조마했다.
IT 업계에서 일하면 얼굴도 모르는 지구 반대편 사람에게 경쟁의식을 느껴야 한다는 피로감이 있다. IT 프로덕트가 가진 확장성이라는 동전의 뒷면이겠다.
통제할 수 없는 일에 불안감을 느끼지 말자. 마인드 컨트롤을 하고 마음을 다잡았다. 앱 완성이 코 앞이라 보다 목표에 집중할 수 있었는지도 모른다.
오픈 스펙을 모두 개발한 후에는 한 자리에 모여 오프라인으로 작업을 했다. 원격으로는 확인하기 어려운 진동 피드백을 조율하고 디자인 디테일을 잡았다.
그 뒤로도 팀원들은 완성도를 높이기 위해 퇴근하고 새벽까지 작업을 했다. 팀원들의 고생이 쌓일수록 우리의 앱이 사랑받길 바라는 마음도 커졌다.
앱 출시를 앞두고 잠이 잘 오지 않았다. 만들면서 우리의 앱에 너무나도 익숙해져 사람들에게 ETA가 어떻게 받아들여질지 감이 안 왔다.
최악은 무관심인데 슬프게도 대부분의 사이드 프로젝트가 마주하는 결과다. 그것만은 피하고 싶어 이번 글에서 간략하게나마 앱 소개를 하려 한다. (기획 의도를 한 스푼 곁들여..)
앱 로고
앱 로고는 비행기 창문에서 영감을 받았다. 비행기 창문 밖으로 새로운 세상이 펼쳐지듯, 앱 아이콘이 화면 밖에 펼쳐진 세상으로 나가는 창문이 되길 바랐다.
시작 공항 선택
사용자는 최초 로그인 시 스타팅 포인트를 선택한다. 디지털 디톡스의 난이도를 고려해 주위에 1시간 이내의 도착지가 많은 허브 공항 위주로 고를 수 있게 했다.
메인(홈)
여행 앱으로 디지털 디톡스 앱의 정체성을 드러내기 위해 시간을 강조했다. 각 도착지마다 얼마의 시간이 걸리는지 티켓에 크게 표시했다.
또한 메인 화면에서 최대한 빠르게 디지털 디톡스를 시작할 수 있도록 잡았다. 티켓을 아래로 당기면 해당하는 도착지로의 여정, 즉 디지털 디톡스를 시작한다.
티켓을 발권하는 설렘을 주고 싶어 아래로 당기는 인터랙션을 도입했다. 티켓을 아래로 내릴 때 미세한 떨림을 느낄 수 있다.
티켓을 누르면 해당 도시의 상세 정보를 확인할 수 있는 바텀시트가 올라온다. 이전에 방문한 곳이면 도시 설명, 수집한 도시 사진이 표시된다.
이후에는 친구 기능을 도입해 재미를 더할 계획이다. 술래잡기나 특정 목적지까지 먼저 도착하기처럼 친구들과 함께 즐길 수 있는 미션을 추가하고 싶다.
여정 준비
디지털 디톡스를 시작하기 전에 여정 정보를 확인하고 친구에게 공유할 수 있는 단계다. 친구에게 여정 현황 웹페이지를 공유할 수 있는 기능이 제공된다.
친구는 공유된 웹페이지를 통해 여정 현황을 확인하고 앱 다운로드를 할 수 있다. 위의 Anti-Viral Viral에서 설명한 화면이다.
여정 중
비행기가 출발지를 떠나 도착지까지 가는 여정을 그리는 화면이다. 디지털 디톡스가 진행 중인 단계로 앱 차단이 ON으로 설정된다.
지금은 iOS의 기본 앱을 제외하면 모두 차단된다. 이후에는 사용자가 차단 앱 리스트를 커스텀할 수 있도록 개선할 예정이다.
앱의 핵심 화면이지만 아이러니하게도 유저가 이 화면을 자주 보지 않는 게 맞다고 생각한다. 화면 밖을 보게 하는 게 우리의 목표니까.
이에 따라 라이브 액티비티를 반드시 오픈 스펙에 추가하려고 노력했다. 여정 중에는 잠금 화면이 유지되길 바라는 마음이다.
여정 결과
과업을 마친 사용자가 보상을 받는 우리 앱의 하이라이트 화면이다. 다음 과업으로 이어지게끔 충분한 보람을 주는 것을 핵심으로 삼았다.
우선 화면 상단에는 여행지의 대표 사진과 현지어로 웰컴 인사를 표시한다. 여행지에 실제로 도착했다는 느낌을 주고 싶었다.
도착한 도시가 어떤 곳인지 알 수 있도록 설명과 추가 사진을 제공한다. 같은 보상이 반복되면 흥미가 떨어지기에 방문할 때마다 새로운 사진을 받을 수 있도록 했다.
지금은 사진 확대가 되지 않아 불편한데 빠른 시일 내로 개선할 예정이다. 이외에도 사용자에게 보람을 줄 수 있는 여권 스탬프, 친구에게 피켓 남기기 등의 기능을 준비하려고 한다.
Passport
간단한 여정 통계와 닉네임 변경, 앱 평가하기 등 부가기능을 제공하는 화면이다. 사실상 지금은 Passport라고 하기엔 민망하고 MY 화면이라 보는 게 맞겠다.
이후에는 여정 기록을 더 풍성하게 보여 주고 싶다. 수집한 사진을 앨범으로 잘 보여 주고 여권 스탬프 수집과 같은 요소를 활용해 장기적으로 사용자를 동기부여하고자 한다.
앱 소개 영상
영상에선 우리 앱의 강점인 여정 결과 화면을 강조했다. 여러 도착지의 여정 결과 화면을 보여 준다.
쓰고 보니 앞으로 하고 싶은 것들이 많다. 마음 한 편에는 조금만 더 준비해서 나가자는 생각도 있었는데 그러다 보면 출시가 계속 미뤄질 게 분명했다.
한 번 마침표를 찍고 지금까지 쓴 문장이 사람들에게 어떻게 읽히는지 평가를 받아 보려고 한다. 이 글이 사람들을 우리가 쓴 첫 문장에 데려다 주면 좋겠다.
저희의 앱은 아래 링크에서 다운로드 받을 수 있어요.
아쉽게도 현재는 iOS만 제공된답니다!
- ETA 앱스토어
앱 출시를 얼마 안 남기고 FocusFlight가 국내에서 바이럴이 됐다. 인스타그램, 틱톡, 유튜브 등 다양한 채널에서 FocusFlight를 볼 수 있었다.
제품이 좋으면 어떻게든 알려지는 게 역시 맞았다. 국내 로컬라이제이션도 되지 않은 앱이 앱스토어 랭킹 최상위권에 들어왔다.
마음을 다잡으려 노력했지만 쉽지 않았다. 올해의 내게 ETA는 아주 큰 축이었는데 그게 흔들리니 마음에 부침이 많았다.
항구에 묶인 채 앞서간 배를 바라보고 있는 심정이란. 심지어 그 배가 빠르고 근사하기까지 하다. 단톡방에서 말하지 않았지만 팀원들도 힘든 시간을 보냈을 것이다.
다행히 앱의 완성도가 높아지면서 상황이 나아졌다. 우리 앱에도 충분히 매력이 있다고 생각하며 힘을 낼 수 있었다. 녹록지 않은 과정을 거쳐 태어나서인지 우리의 앱이 더 소중하게 느껴진다.
더 나은 결과물이 나온 건 FocusFlight라는 경쟁 앱의 존재 덕분이라고 우리끼리 얘기했다. 막바지에 완성도를 끌어올리느라 모두의 진이 빠졌다. (현업과 병행하느라 더더욱..)
이제 우리도 배를 띄워 여정을 시작한다. 여전히 조바심이 들기는 하지만 승부욕도 생긴다. 경쟁에서 밀리고 싶지 않다는 마음이 우리와 ETA를 성장시키지 않을까 싶다.
속도보다는 방향으로 승부를 보고 싶다. 속도로 이기기는 어려워 보이기도 하고 적성에 맞지도 않다. 같은 곳에서 출발했더라도 방향이 조금만 다르면 큰 차이가 나니까 그 점에 걸어 보려고 한다.
우리가 나아간 그 지점이 사용자와 더 가까운 곳에 있으면 좋겠다. 나를 포함한 우리 모두가 작은 화면 밖에 펼쳐진 진짜 세상을 발견하길 바란다.
Bon Voyage!
FocusFlight 덕에 우리 앱의 완성도만 높아진 게 아니었다. 스스로도 변화의 필요성을 느꼈다. 알을 깨고 나와야 한다는 위기감이 생겼다.
FocusFlight는 단 두 명이 개발한 앱이다. 우리 팀은 네 명인데 어떻게 둘이서 이런 앱을 만들었는지 신기했다. 특히 기획자도 없는데 이 정도의 컨셉을 구현했다는 게 놀라웠다.
사실 그렇게 생각한 것 자체가 내 한계였다. 나는 왜 그 팀에 기획자가 없다고 생각한 것일까. 내 머릿속에 기획자, 디자이너, 개발자와 같은 역할 틀이 정해져 있었기 때문이다.
나는 여태까지 그 틀에 맞춰서 스스로의 성장을 판단해 왔다. 나는 기획자니 기획만 잘 갈고닦으면 된다고 여겼다. 현업에서도 그 기술로 돈을 벌고 있기도 하고.
틀은 방향을 제시하면서 동시에 제한하기도 한다. 어쩌면 2023년 즈음에 IT 서비스 기획에 흥미가 떨어진 건 틀의 제약으로 성장이 정체되었기 때문일지도 모른다.
생판 모르는 FocusFlight의 개발자 둘이 내 사고의 틀을 부쉈다. 그들은 스스로를 기획자이자, 디자이너이자, 개발자로 여기며 크로스보더 성장을 거듭했을 것이다. 나 또한 그러고 싶어졌다.
올해가 많이 남지 않았지만 혼자 앱 만들어 보는 것을 목표로 삼았다. 기획, 디자인, 개발 모두 나 혼자 진행하며 크로스보더 성장을 하고 싶다. AI의 도움을 받을 수 있는 시대니 전만큼 어렵지도 않다.
참 신기하다. 작년 이맘때의 나는 IT 서비스 기획에 큰 흥미를 느끼지 못했는데 지금은 혼자 앱을 만들어 보겠다고 하고 있으니. 매해가 예측 불가한데 그게 마음에 든다.
왠지 앞으로는 더 변화무쌍해질 것 같다.
파이팅!