모든 글

사적인 습관 트래커, 그리고 그게 필요한 이유

대부분의 목표 추적은 남에게 보이고 싶어 한다고 가정해요. 남들에게 보여줄 연속 기록 숫자, 공유할 배지, 같은 일을 하는 다른 사람들의 피드요. 어떤 목표에는 효과가 있어요. 사람들이 가장 신경 쓰는 목표에는 잘 통하지 않아요.

누구에게도 말하지 않은 목표는 흔한 경우예요.

사람들이 알리지 않는 목표들

사람들이 실제로 목표 앱에 사진을 넣는 대상을 생각해보세요. 아직 살 수 없는 집. 원한다는 게 부끄러운 몸. 한 번도 가본 적 없는 나라. 직장을 그만두는 것. 관계를 끝내는 것. 합격 못 할지도 모르는 자격증이요.

이런 것들에는 공통점이 있어요. 사람들에게 말하는 데는 대가가 따른다는 거예요. 원하지 않은 의견을 부르거나, 이루어지지 않으면 공개적인 실패를 만들어요. 많은 연구와 상식 모두 목표를 발표하면 완주할 가능성이 낮아질 수 있다고 말하는데, 발표 자체가 진행처럼 느껴지기 때문이에요.

그러니 조용히 무언가를 향해 나아가는 사람은 숨기고 있는 게 아니에요. 현명한 거예요. 그런 목표를 위한 앱은 한 명의 독자를 위해 만들어져야 해요.

"사적"이라고 불리는 세 가지 다른 것

이 단어는 서로 거의 관계없는 세 가지 주장에 쓰이고, 어떤 앱의 마케팅이든 믿기 전에 구분해볼 가치가 있어요.

아무도 수집하지 않아요. 데이터는 어디로도 전송되거나 팔리거나 광고에 쓰이지 않아요. 이건 회사에 관한 이야기예요.

전송 중에도 저장 중에도 아무도 읽을 수 없어요. 기기를 벗어나는 게 있다면 먼저 암호화되고, 회사는 키를 가지고 있지 않아요. 이건 엔지니어링에 관한 이야기예요.

옆에 있는 누구도 볼 수 없어요. 누군가 잠금 풀린 휴대폰을 집거나, 노트북을 슬쩍 보거나, 손에 들고 있는 홈 화면을 읽는 상황이요. 이건 있는 공간에 관한 이야기예요.

세 번째가 실제로 일어나는 일이고, 거의 아무도 다루지 않는 것이기도 해요. 앞의 두 가지에 완벽한 답을 가지고 있어도 배우자가 사진을 보려고 휴대폰을 집었는데 앱이 열려 있으면 아무 소용이 없어요.

잠금이 다뤄야 하는 것

여기가 대부분의 구현이 너무 일찍 멈추는 지점이에요. 앱을 잠그는 건 쉬운 부분이에요. 정보는 다른 세 곳에서 새요.

홈 화면 위젯. 앱의 핵심이 매일 보는 위젯이라면, 그 위젯이 바로 새는 구멍이에요. 누구든 휴대폰을 슬쩍 보면 잠금을 풀지 않고도 목표를 볼 수 있어요.

알림. 잠금 화면에 여정 이름을 알려주는 알림은 잠금 자체를 무의미하게 만들고, 잠금 화면 미리보기는 대부분의 사람에게 기본적으로 켜져 있어요.

앱 스위처. 앱을 바꿀 때 시스템이 스위처에 보여줄 화면 스냅샷을 찍어요. 목표가 스냅샷에 찍힌다면 잠금은 장식일 뿐이에요. 이건 진짜로 까다롭고 부주의한 구현이 실패하는 지점이에요.

네 가지 모두에 답하지 못하는 잠금은 창문이 열린 집의 현관문 잠금과 같아요.

사람들이 이걸 꺼버리게 만드는 함정

하루 만에 누구든 잠금을 포기하게 만드는 설계 실수가 하나 있어요.

사진을 고르려면 앱을 떠나야 해요. 사진 선택 화면, 카메라, 공유 시트는 별개의 프로그램이라서 앱 입장에서는 방금 자리를 뜬 거예요. 자리를 뜨는 즉시 잠긴다면 "사진 선택"을 누르는 순간 방금 하던 바로 그 작업에서 잠기게 돼요. 매번요.

이 규칙은 앱이 직접 연 선택 화면이 사용자가 자리를 뜬 것과 다르다는 걸 알아야 해요. 사소해 보이지만, 사람들이 계속 켜두는 기능과 한 번 끄고 다시는 켜지 않는 기능의 차이를 만들어요.

나머지 절반은 지연 시간이에요. 방 안의 누군가가 걱정된다면 즉시 잠기는 게 맞아요. 체크인하고 메시지에 답하러 넘어갔다가 10초 뒤 돌아왔는데 새로운 인증 요청이 뜬다면 짜증이 나요. 그건 쓰는 사람만이 내릴 수 있는 선택이라서 설정 항목이어야 해요.

Reveal the Dream이 하는 방식

이 앱은 체크인할 때마다 한 조각씩 벗겨지는 커버 뒤에 목표 사진을 두기 때문에, 이 질문의 사적인 버전은 유난히 문자 그대로예요. 목표는 사진이고, 누군가는 볼 수 있거나 볼 수 없거나 둘 중 하나예요.

처음 두 종류의 개인정보 보호는 기본이고 비용이 들지 않아요. 계정이 필요 없고, 여정, 체크인, 사진은 기기에만 남아요. 선택적인 두 가지가 서버에 닿아요. 기기를 떠나기 전에 암호화되어 저희 쪽에서는 읽을 수 없는 Premium의 크로스 플랫폼 동기화, 그리고 한 플랫폼에서 다른 플랫폼으로 구독을 옮기고 여정이나 사진은 절대 함께 옮기지 않는 선택적 이메일 로그인이에요.

앱 잠금은 세 번째 유형이고, Premium 기능이에요. 무엇으로 잠금을 해제하는지는 기기마다 달라요. 그렇지 않다고 하면 어딘가에서는 거짓이 되기 때문이에요. 아이폰, 아이패드, Mac에서는 Face ID나 Touch ID, 안드로이드에서는 지문이나 얼굴, Windows에서는 직접 설정한 비밀번호예요. Apple과 안드로이드에서는 실패하면 기기 비밀번호로 넘어가서, 지문 인식 실패로 자신의 목표에서 잠기는 일은 없어요.

Windows 앱이 설정 카드에서 스스로 분명히 밝히는 것 하나가 있고, 이 페이지도 그걸 부드럽게 표현해서는 안 돼요. 거기서 잠금은 화면을 가리는 용도이지 암호화가 아니에요. 책상 옆을 지나가는 사람을 막을 뿐이에요. 기기를 통째로 가져가서 파일을 뒤지는 사람에 대한 이야기가 아니고, 그렇게 믿게 만드는 앱이라면 그건 느낌을 파는 것뿐이에요.

켤 때 위젯과 알림도 함께 가릴지 한 번 물어봐요. 이 질문에는 일부러 기본값을 두지 않았어요. "앱만"으로 짐작하면 홈 화면에 사진이 떠 있는데도 사적으로 보호받고 있다고 믿게 돼요. "위젯도"로 짐작하면 위젯이 설명 없이 빈 화면이 되어 버그처럼 보여요. 가리기를 켜면 위젯은 잠긴 카드를 보여주고, 알림은 여정 이름을 언급하지 않으며, 짝지어진 워치에는 사진 없이 진행 횟수만 전달돼요.

즉시 잠글지 1분 후에 잠글지도 선택할 수 있고, 사진 선택 화면을 여는 건 앱을 떠난 걸로 치지 않아요.

분명히 말해둘 가치가 있는 두 가지가 있어요. 안드로이드에서는 앱 잠금을 켜면 앱 스위처를 포함해 앱 스크린샷도 함께 막혀요. 안드로이드에서 스위처 스냅샷에 목표가 나오지 않게 하는 유일한 방법이고, 실제로 치르는 대가라서 켜기 전에 보게 될 설정 카드에 그렇게 적혀 있어요. 아이폰은 커버가 제때 표시될 수 있는 별도의 창에 그려져서 그 대가를 치르지 않아요.

그리고 구독이 끝나도 잠금은 계속 켜져 있어요. 켜는 데만 Premium이 필요해요. 카드 유효기간이 만료됐다고 해서 사적인 앱이 저절로 잠금 해제된 걸 발견하는 사람은 없어야 해요.

홈페이지에서 설치하지 않고도 내 사진으로 앱을 써볼 수 있고, Premium에 포함된 다른 것들을 보거나 이 앱의 바탕이 된 비전 보드 아이디어에 대해 읽어볼 수 있어요.