글이 안 풀리는 날에도 그날을 남기는 방법이 있다. 사진 한 장이 영어 100자보다 많은 것을 기억하게 해준다.
일기를 매일 쓰기로 한 사람이 결국 부딪히는 벽은 분량이 아니다. 할 말이 없는 날 이다.
오늘 출근하고, 회의하고, 점심 먹고, 또 회의하고, 집에 와서 누웠다.
영어로 옮기든 한국어로 옮기든 두 줄 이상 안 나온다.
이런 날 사용자는 보통 "오늘은 패스"하고, 패스가 두 번 쌓이면 일주일을 빠진다.
우리는 이 문제의 답을 글이 아니라 사진에서 찾았다.
사진이 영어보다 많은 걸 기억한다
심리학자 Dan Schacter의 The Seven Sins of Memory(2001)에서
자주 인용되는 효과 중 하나가 picture superiority effect다.
동일한 정보를 텍스트로 받았을 때보다 이미지로 받았을 때
사람이 훨씬 더 잘 기억한다는 현상이다.
1년 뒤에 작년 5월 29일을 떠올릴 때, 그 날 점심을 영어로 묘사한 두 줄보다
점심 사진 한 장이 훨씬 많은 걸 되살린다.
그래서 Three Lines의 일기에는 사진을 5장까지(무료는 2장) 첨부할 수 있다.
본문 안에 inline으로 흘리는 게 아니라, 일기 하단의 가로 갤러리에 따로 모아 두는 식이다.
글이 짧은 날엔 사진이 주인공이 된다.
"이 사진 너무 크다"라는 말을 안 듣고 싶었다
여기서부터는 엔지니어링 이야기다. 사진 첨부 기능을 만들고
우리 부부가 첫 사용자가 되어 보니 곧바로 문제가 드러났다.
iPhone에서 찍은 사진은 보통 4MB~8MB다. 우리가 처음 정한 업로드 한도는 5MB였고,
사용자(아내)는 사진을 올릴 때마다 "5MB 이하의 사진만 올릴 수 있어요" 라는 메시지를 받았다.
한 번이면 짜증, 세 번이면 안 쓴다.
해결은 두 단계로 나눠 갔다:
- 자동 리사이징. 5MB가 넘는 사진을 고르면, 업로드 전에 클라이언트(브라우저)가 알아서
canvas로 다시 그려서 5MB 밑으로 줄인다. - 하한 없이 줄이기. 처음엔 줄여도 안 되는 경우에는 거부했는데,
어떤 사진이든 결국 5MB 밑으로 들어가게 알고리즘을 다시 짰다.
긴 변 2048px에서 시작해서, 안 되면 70%씩 줄이고, 그 안에서
품질을 0.85에서 0.4까지 낮춘다. 64×64 픽셀까지는 절대 가지 않지만,
가는 데 도달하기 전에 무조건 들어간다.
이게 작은 결정처럼 보이지만, "앱이 나를 거절하지 않는다" 는 감각은 매일 쓰는 사람에게 결정적이다.
여러 장, 한 번에
다음 문제는 한 장씩 올려야 한다는 것이었다. 여행에서 돌아온 날 사진이 5장인데,
한 장 올리고 기다리고, 다음 장 올리고 기다리는 흐름은 사람을 떠나게 한다.
지금은 사진 선택창에서 여러 장을 한꺼번에 선택할 수 있고,
갤러리에는 업로드 중인 사진이 미리보기 + 회전 스피너로 곧장 나타난다.
사용자는 "지금 뭐가 어떻게 진행되고 있는지"를 가린 채 기다리지 않는다.
실수로 누른 X 버튼
마지막은 사용자 인터페이스 안전성. 사진을 추가하려고 손가락을 옮기다가
옆에 있던 기존 사진의 X 버튼을 잘못 누르는 일이 있었다.
클라이언트가 한 번의 탭으로 사진을 지워 버리면, 사용자가 잃은 건 단지 사진이 아니라
그 사진을 다시 고르고 다시 업로드해야 하는 의지다.
그래서 지금은 두 번 탭이 필요한 삭제다.
첫 번째 탭: 사진 위에 빨간 오버레이 + "삭제 확인" 글자. 두 번째 탭(3초 안에): 정말 삭제.
그 안에 탭하지 않으면 자동 해제. 우리는 한 번 실수해도,
한 번 더 의식적으로 누르지 않는 한 데이터가 사라지지 않는 흐름을 원했다.
매일 쓰기 위한 앱을 만들면서 알게 된 것: "잘 쓰기"보다 "안 떠나기"가 훨씬 어렵다.
그래서 사진 한 장이 글 한 줄을 대신해 주는 흐름, 큰 사진이 거절당하지 않는 흐름,
실수가 데이터를 지우지 않는 흐름 — 이런 작은 결정들이 결국 일기를 1년 동안 쓰게 만든다.
다음 편에선 그렇게 모은 1년치 기록을 어떻게 다시 만나는지 이야기해 본다.
다음 편: 5편 — Memories, 흘러간 날을 다시 만나는 법.

'🧠 AI, 인공지능 > 웹&앱 개발' 카테고리의 다른 글
| [일기앱 제작기] 3편 - AI는 선생이 아니라 도우미다. (0) | 2026.05.30 |
|---|---|
| [일기앱 제작기] 2편 — 하루 한 편이라는 작은 약속 (0) | 2026.05.28 |
| [일기앱 제작기] 1편 — 아내를 위해 영어 일기 앱을 만들기로 했다 (0) | 2026.05.27 |
| UI/UX 혁명: 구글 스티치(Google Stitch) vs 클로드 디자인(Claude Design) 완벽 분석 (0) | 2026.04.23 |
| 회식장소 어디로하지? 진짜 맛집은 어딜까? → 돼트워크로 해결완료! (0) | 2026.04.07 |