
💡 읽기 전 필요한 지식 💡
- 모바일 앱이 "기획 -> 개발 -> 출시"의 단계를 거친다는 정도의 큰 그림
- 듀오링고 같은 학습 앱을 한 번이라도 써본 경험
- "타겟 사용자"나 "문제 정의"라는 말이 어떤 의미인지에 대한 가벼운 감
📖 읽고 나면 얻을 수 있는 것 📖
- 좋은 제품은 기능이 아니라 "문제 정의"에서 출발한다는 것을 이해하게 된다
- 톨리(tolli)라는 앱이 왜, 누구를 위해 만들어졌는지 알게 된다
- 추상적인 슬로건 하나가 실제 화면 설계로 어떻게 번역되는지 감을 잡게 된다
5월부터 필자는 대학교의 창업팀에 개발자로 합류하게 되었다.
필자는 항상 좋은 문제정의를 가지고 공감과 해결하고 싶은 의욕과 함께 개발을 하고 싶었고,
MVP를 빠르게 만들어 배포하고, 실제로 사용자들과 직접 만나고 발로 뛰어 서비스를 가꾸어 나가는 경험을 하고 싶었다.
마침, 우아한테크코스에 필자와 모든 방면에서 생각하는게 같고, 추구하는 방향성이 같은 '지오'라는 개발자가 있었다.
이 친구와 충분한 라포를 형성했고, 정말 좋은 서비스를 함께 만들어나가고 싶은 마음이 컸어서 지오에게 많은 설득을 한 것 같다.
지오도 지오만의 얻어가고 싶어하는 부분이 있을 거고, 지오 또한 저와 같이 이 서비스의 문제정의에 공감하고 애정을 가졌으면 좋겠는 마음에 계속해서 산책하며 설명해주고, 설득했다.
결국 지오도 합류하게 되었고 그렇게 우리의 개발 여정이 시작하게 되었다.
시작은 기능이 아니라 불편함
모든 크리스천들은 동의할 것이다.
성경을 외우고 싶다.
하지만 막상 기존에 출시되어있는 성경 암송앱을 하나씩 다운받아 들어가보면 해야할 것이 너무 많다.
- 로그인을 하고,
- 어떤 구절을 외워볼지 고르고,
- 진도를 설정하고,
- 계획을 세운다.
이 모든 과정이 시작도 하기 전에 나 뿐만 아니라 니즈가 있는 모든 사용자들을 불편하고 지치게 만든다.
그냥 이런거다.
앱이 무겁다.
어느 순간부터는 "오늘도 해야 하는데..."라는 의무감만 남고 끝나는거다.
그러다 문득 Z세대를 보면 느끼는게 있다.
이들은 무언가를 진득하게 오래 붙자고 있지 않는 것 같다.
대신 지하철에서, 줄을 서서, 잠들기 직전의 1분 같은 짧은 틈을 무수히 많이 가지고 있다.
그래서 생각을 뒤집어보면, 사용자를 앱 안으로 끌어들여 오래 붙잡아두는 대신,
일상의 작은 틈마다 가볍게 스며드는 앱이 있다면???
앱 안에 가두지 않는다.
스며들게 한다.
지금 돌아보면 이 슬로건이 사실상 앱의 전부였지 않았나 싶다.
이후의 모든 설계 결정은 이 문장에 맞는지 아닌지로 판단하게 되었던 것 같다.
문제 정의: 무엇이 진짜 문제였을까?
성경암송앱은 이미 좋은 앱들이 시장에 풀려있다.
진짜 문제는 "이미 있는데도 잘 안쓴다"는 것.
그 이유는 앞전에 말한 것과 같이 앱이 무겁고 진입할 때마다 해야 할 일이 많아서 의무처럼 느껴지는 데에 있었다.
그래서 해결방안을 "기능을 더하는 것"이 아니라 "덜어내는 것"으로 잡은 것이다.
한 번 들어와서 모든 걸 끝내야 한다는 부담을 없애고,
대신 작은 시간 하나하나가 누적되어 일상적인 순간에 말씀이 자연스럽게 떠오르도록 만드는 것, 이게 목표이다.
억지로 외우게 하는 것이 아닌 반복을 통해 스며들게 하는 학습을 만드는 것이다.
타겟: Z세대, 그리고 "1분"
타겟은 명확히 Z세대이다.
그리고 그들에게 다가가는 키워드로 "가볍게"와 "1분"이 정해졌다.
듀오링고를 봐보자. 그들은 외국어 학습을 게임처럼 가볍게 만들었다.
tolli 또한 듀오링고처럼 성경 암송을 부담 없이 짧게 할 수 있는 경험으로 만들 수 있는것이다.
핵심 질문은 단 하나이다. "어떻게 하면 억지로 외우게 하지 않고 자연스럽게 다가갈 수 있을까?"
현재 상태, 목표 상태를 수치화해서 정의하지 않고, 장애물과 제약조건을 분석하진 않았지만
디자인 씽킹에서의 How Might We? 질문을 통해 여러 해결책으로 열어놓은 것이다.
이게 우리의 문제정의이다.
7단계 학습 플로우
tolli의 핵심은 결국 학습 플로우라고 생각한다.
한 구절을 외우는 과정을 단계적으로 가려가며 반복하는 흐름으로 설계되었다.
아래에 정리를 해보겠다.
- 첫 화면에서는 아무 부담 없이 그냥 말씀을 읽게한다.
- 그 다음 단계에서는 블록을 탭하면 단어가 하나씩 나오고, 각 단어의 뜻을 볼 수 있다.
- 이후 단계로 갈수록 글자가 25%, 50%, 75%, 100% 순서로 가려지고
- 다음 단계로 초성만 주어져서 모음 키보드로 글자들을 완성시키게된다.
- 마지막 단계에서는 직접 녹음을 할 수 있게 했다.
0단계부터 7단계까지 진행하는 도중에 나가버리면 저장되지 않고 처음부터 다시하도록 함.
(작은 마찰이지만, 한 번 시작하면 끝까지 한 구절에 집중하게 만드는 장치)
사실 오프더레코드지만,
마지막단계에서는 녹음을 하고, 녹음본 기반으로 STT로 텍스트를 변환한 후,
평가 로직을 넣어 완료버튼을 활성화 시키는 "평가"기능이었다.
다만 이 과정이 MVP로 생각했을 때는 과하다고 생각을 했고,
우리가 MVP를 만들어서 확인하고 싶은 부분은 이 기능이나, 학습플로우 자체를 고도화시키는 것보다는
이 학습플로우를 쉽게 만들어놓고 사용자들이 과연 이 앱을 사용할것이냐를 묻고 싶었다.
따라서 그냥 녹음만 하는 과정으로 바뀌었다!
const STEP = {
READ: 0, // 그냥 읽기
TAP_WORD: 1, // 단어 탭 + 뜻 보기
HIDE_PARTIAL: 2,// 일부 가리기
HIDE_MORE: 3, // 더 가리기
VOWEL_ONLY: 4, // 모음만 노출
HIDE_ALL: 5, // 전부 가리기
RECORD: 6, // 녹음 / 타이핑
} as const;
위 코드를 통해 학습 플로우의 각 단계를 이해하기 쉽게 숫자 상수로 정의해봤다.
이 단계 구조를 실제로 어떻게 분리하고 다른 개발자와 나눠서 개발했는지는 이후 학습 플로우 설계편에서 자세히 다룰 예정!
정리
제품은 기능 목록이 아니라 한 문장의 태도에서 출발한다는 점을 개인적으로 깨달았다.
"스며들게 한다"를 집중해보자.
이 문장을 통해, 화면, 단계 설계, 그리고 "도중에 나가면 처음부터"라는 사소한 규칙까지 전부 결정해주지 않았을까? 라는 생각이 든다.
개발하면서도 사명감을 가지고 Z세대에게 말씀 한 구절 한 구절이 남아 있을 수 있도록, Z세대가 아니라도 그럴 수 있도록,
이 슬로건을 끝까지 붙잡아보려 했고, 앞으로도 그래볼 생각이다.
다음 글에서는 이 기획을 실제로 구현하기 위해 어떤 기술 스택을 골랐는지,
왜 React Native와 WebView를 함께 쓰는 하이브리드 구조를 택했는지를 다뤄보려고 한다.