D.off (디오프)

한도에 닿으면 잠기고, 문장 한 줄을 따라 쓰면 다시 열리는 스크린타임 앱

0 팔로워

1 / 8

소개

안드로이드 스크린타임 앱 D.off(디오프)입니다. 혼자 만들었고, 2026년 8월 6일에 Google Play에 출시했습니다. 한도에는 "5분 더" 버튼을 안 뒀습니다. 스크린타임 앱은 보통 한도에 닿으면 연장 버튼을 줍니다. 버튼이 있는 순간 한도는 권고가 됩니다. 그래서 D.off는 한도에 닿으면 잠그고, 나가려면 화면에 뜬 문장 한 줄을 그대로 따라 쓰게 했습니다. 명언·역사·성경·동화·심리·자기계발·마음챙김·시와 문학 8개 카테고리에 걸쳐 한국어 945문장이 앱 안에 들어 있습니다(7개 언어를 전부 합치면 6,274문장). 손으로 한 줄 옮겨 적는 동안 "그냥 열었던" 반사가 지나갑니다. 타이핑이 싫으면 운동으로 여는 길도 있습니다. 이 방식이 제가 처음은 아닙니다. 잠금 해제에 뭔가를 시키는 앱은 이미 있고, 저는 그 마찰을 "따라 쓰기"로 잡았을 뿐입니다. 마찰이 벽은 아닙니다. 주 1회 30분짜리 비상 패스는 글자 없이 열립니다(엄격 모드를 켜면 이 통로도 닫힙니다). 한 앱을 30분·60분 연속으로 쓰면 뜨는 휴식 알림에는 "10분 더" 버튼이 있는데, 이건 한도가 아니라 넛지라 미룰 수 있게 뒀습니다. 한도 자체에는 연장이 없습니다. 무료로도 핵심 루프는 다 돌아갑니다 — 앱 그룹 2개(그룹당 앱 1개)·일일 한도·기본 통계. 프리미엄은 월 2,900원 / 연 21,900원 / 평생 69,000원이고, 체험 7일은 카드 없이 됩니다. iOS는 아직입니다. 현재는 안드로이드만 지원합니다.

포스트

Elpis Studio

Elpis Studio

현직 프리랜서 개발자로, 혼자 앱 만드는 스튜디오입니다. 스크린타임 앱 D.off을 운영 중, pieceful, sobershiled 개발 중에 있습니다.

스크린타임 앱을 만들었는데, 한도에 닿아도 "5분 더" 버튼이 없습니다. 대신 화면에 뜬 문장 한 줄을 따라 써야 다시 열립니다.

안드로이드 앱 D.off를 8월 6일에 Play에 올렸습니다. 혼자 만들었고 출시 5주 차입니다. 기능 목록 대신, 왜 이렇게 만들었는지와 그동안 뭘 틀렸는지를 적습니다.

스크린타임 앱은 보통 한도에 닿으면 연장 버튼을 줍니다. 버튼이 있는 순간 한도는 권고가 됩니다. 그래서 D.off는 한도에 닿으면 잠그고, 나가려면 화면에 뜬 문장 한 줄을 그대로 따라 쓰게 했습니다. 명언·역사·성경·동화·심리·자기계발·마음챙김·시와 문학 8개 카테고리, 한국어 945문장이 앱 안에 들어 있습니다. 손으로 한 줄 옮겨 적는 동안 "그냥 열었던" 반사가 지나갑니다. 그 다음에 한 번 더 고르게 하는 게 목적입니다. 사용 시간을 알려주는 앱보다, 한도를 넘기려는 순간 한 번 더 생각하게 만드는 앱을 만들고 싶었습니다. 타이핑이 싫으면 운동으로 여는 길도 있습니다.

마찰이 벽은 아닙니다. 주 1회 30분짜리 비상 패스는 글자 없이 열립니다(엄격 모드를 켜면 이 통로도 닫힙니다). 정말 급한 순간에 앱이 문장을 요구하면 사람은 그 앱을 지우거든요. 한 앱을 30분·60분 연속으로 쓰면 뜨는 휴식 알림에는 "10분 더" 버튼이 있는데, 이건 한도가 아니라 넛지라 미룰 수 있게 뒀습니다. 한도 자체에는 연장이 없습니다.

물론 이 방식이 제가 처음은 아닙니다. 잠금 해제에 뭔가를 시키는 앱은 이미 있고, 저는 그 마찰을 "따라 쓰기"로 잡았습니다.

출시 5주 차 숫자는 작습니다. 최근 28일 스토어 방문 114, 설치 클릭 19. 38개국에 라이브지만 규모는 이 정도고, 작은 숫자라 그대로 적습니다.

제일 이상했던 버그 — 사용자가 곧 공격자입니다

최근에 기기 시계를 앞뒤로 옮기면 앱의 시각 판정이 같이 움직인다는 걸 발견했습니다. 주간 비상 패스, 오늘 사용량, 수면 잠금 세 군데였습니다.

남의 데이터가 새는 보안 문제는 아닙니다. 사용자가 곧 저인 앱에서, 사용자가 자기 앱을 속일 수 있었던 문제입니다. 그래도 자기통제 도구의 값어치는 "마음먹으면 뚫린다"와 "네 번 탭하면 뚫린다" 사이에서 갈린다고 봐서, 시각 판정을 기기 시계에서 떼어냈습니다. 서버에서 한 번 받아온 기준 시각에 부팅 이후 경과 시간을 더해 "지금"을 만들고, 기기 시계는 아예 읽지 않습니다.

여기서 한 대 맞았습니다. 웹뷰를 고치고 끝난 줄 알았는데, 실제로 앱을 막는 건 네이티브 서비스였고 그쪽엔 신뢰할 시각을 읽어올 통로조차 없었습니다. "고쳤다"를 실행 경로 끝까지 따라가지 않으면 절반만 고친 겁니다. 코드는 들어갔고, 실기기에서 시계를 돌려보는 검증과 배포는 다음 릴리스에 남아 있습니다.

더 부끄러운 쪽 — 한국 사용자가 영어 스크린샷을 보고 있었습니다

등록정보 텍스트는 7개 언어로 번역해 뒀는데 스크린샷과 그래픽은 한 벌뿐이었습니다. Play는 언어별 자산이 없으면 기본 언어(영어) 자산을 모든 지역에 그대로 씁니다. 한국에서 검색한 사람은 첫 화면으로 영어 UI 스크린샷을 보고 있었습니다. 몇 주 동안요.

7개 언어로 다시 찍어 56장을 올렸습니다. 위의 방문 114 → 설치 클릭 19 사이에서 샌 몫이 일부 있다고 봅니다. "번역했다"와 "현지화했다"는 다른 일이었습니다.

무료로도 핵심 루프는 다 돌아갑니다 — 앱 그룹 2개(그룹당 앱 1개)·일일 한도·기본 통계. 프리미엄은 월 2,900원 / 연 21,900원 / 평생 69,000원이고, 체험 7일은 카드 없이 됩니다. 평생권을 넣은 건 자기통제 앱이 사용자에게 영원히 과금하는 구조가 이해상충처럼 느껴져서입니다.

사용자를 막는 제품은 기능보다 마찰의 세기를 정하는 일이 더 어렵습니다. 너무 약하면 그냥 누르고, 너무 강하면 그냥 지웁니다. 여러분이라면 어디까지가 자기통제에 도움이 되는 마찰이고, 어디부터는 "이건 그냥 벌이다"라고 느끼실 것 같나요?

Product Hunt에는 9월 9일 자로 같은 앱이 올라갑니다. 거기는 영어로 짧게 쓰는 자리라, 한국어로 하고 싶은 이야기는 여기 적었습니다.

D.off (디오프)

한도에 닿으면 잠기고, 문장 한 줄을 따라 쓰면 다시 열리는 스크린타임 앱

0
3

댓글

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.