소프트웨어 디자인에서 가장 지키기 어려운 미덕은 ‘절제’입니다. 화면 피로를 완화하기 위한 앱을 만들 때 이 문제는 더욱 중요해집니다. 만약 눈 휴식 앱 자체가 자극적인 색상, 복잡한 그래프, 요란한 알림으로 가득하다면, 해결하려던 문제를 도리어 키우게 됩니다.
지난 몇 달간 우리는 초기 프로토타입 단계였던 Easy Eyes를 iOS, iPadOS, tvOS, visionOS를 아우르는 단정하고 일관된 멀티플랫폼 앱으로 발전시켰습니다. 이번 글에서는 인터페이스 재설계, 애니메이션 엔진 튜닝, 공간 컴퓨팅 구현, 그리고 오프라인 데이터 아키텍처에 얽힌 엔지니어링 결정을 공유합니다.
1. 2026년 크리스털 미니멀 재설계: 차분함을 최우선으로
초기 시험 버전에는 상세한 대시보드와 복잡한 꺾은선 그래프, 다양한 진행률 막대가 포함되어 있었습니다. 하지만 사용자 테스트 결과, 앱을 열었을 때 쉬어가기는커녕 추가적인 인지적 부담을 느끼는 경우가 많았습니다.
2026년 봄, 우리는 과감한 크리스털 미니멀 재설계를 단행했습니다:
- 시간대별 단일 추천 카드: 홈 화면 상단에는 현재 시간에 가장 알맞은 연습(아침의 추적 운동, 점심의 20-20-20 원거리 보기, 저녁의 호흡 등) 딱 한 가지만 제시됩니다. 메뉴를 뒤질 필요 없이 즉시 시작할 수 있습니다.
- 자극을 줄인 4가지 크리스털 테마: Dusk(차분한 슬레이트 블루), Ember(은은한 코퍼), Warm(부드러운 골드), Paper(밝은 라이트 모드). 어두운 방에서 열어도 눈부심이 없도록 채도와 대비를 정밀하게 조율했습니다.
- 조용한 체크인: 세션이 끝나면 백그라운드에서 조용히 저장되며, 요란한 폭죽 애니메이션이나 강제 평가 팝업이 뜨지 않습니다.
재설계된 홈 화면: 시간대에 맞는 명확한 동작 하나만을 제시하여 불필요한 시각적 소음을 제거했습니다.
2. 부드러운 빛 구체와 해부학적 눈꺼풀 렌더링 엔진
안구 운동과 호흡 연습에서 애니메이션의 부드러움은 신경 이완에 직접적인 영향을 미칩니다. 프레임 드롭이나 갑작스러운 가속이 발생하면 눈에 반사적인 미세 안구운동(microsaccades)이 유발되어 부드러운 추적의 이완 효과가 깨집니다.
우리는 SwiftUI 위에 두 가지 전용 렌더링 엔진을 구축했습니다:
- LitSphere 빛 구체 엔진: 부드러운 추적, 8자 그리기, 공명 호흡에 사용됩니다. CoreGraphics / Metal 기반의 다층 방사형 그래디언트와 정밀한 삼각함수 및 무한대 방정식을 결합하여 120Hz ProMotion 화면에서 극도로 매끄러운 움직임을 구현했습니다.
- BlinkCanvas 눈꺼풀 렌더 엔진: Kim 등의 연구(2020)에 기반한 완전한 깜빡임 모드를 위해 개발되었습니다. 딱딱한 진행 막대 대신 해부학적 눈꺼풀 곡선을 애니메이션화하여 1초 감기, 2초 부드럽게 유지, 1초 뜨기의 자연스러운 리듬을 안내합니다.
3. Apple Vision Pro에서의 공간 케어 (Easy Eyes Vision)
Apple Vision Pro의 출시는 디지털 눈 건강에 새로운 질문을 던졌습니다. 패스스루 헤드셋을 장시간 착용하면 눈 피로가 발생하지만, 동시에 공간 컴퓨팅은 실제 방 안의 깊이를 활용한 시각 훈련이라는 새로운 가능성을 엽니다.
우리는 visionOS 전용 Easy Eyes Vision 경험을 설계했습니다:
- 반투명 유리 플로팅 컨트롤: 컨트롤 창이 시선 아래에 부드럽게 떠 있어 실제 방의 시야를 가리지 않습니다.
- RealityKit 3D 빛 구체: 원근 초점 연습 중 3D 구체가 사용자 앞 0.5m에서 3m 사이의 실제 방 공간을 부드럽게 오가며 자연스러운 폭주와 깊이 이완을 돕습니다.
- 투명한 광학적 안내: 헤드셋 디스플레이의 광학적 초점 거리가 고정되어 있음을 명시하며, 진정한 20-20-20 휴식을 위해 헤드셋을 벗고 6m 밖을 바라볼 것을 안내합니다.
4. 오프라인 우선 동기화 아키텍처
눈 휴식은 비행기 안, 지하철, 또는 집중을 위해 인터넷을 끊어둔 시간 등 오프라인 상태에서 자주 이루어집니다. Easy Eyes는 어떤 상황에서도 즉시 켜지고 작동해야 합니다.
우리는 신뢰성 높은 오프라인 우선 동기화 메커니즘을 설계했습니다:
로컬 큐 기반 동기화
11가지 모드의 애니메이션, 타이머, 고음질 음성 가이드가 앱 번들 내에 100% 오프라인으로 내장되어 있습니다. 완료된 세션 기록은 먼저 로컬 영구 큐에 안전하게 저장된 뒤, 네트워크가 연결될 때 Safafish 서버와 자동으로 동기화됩니다.
또한 처음 앱을 설치한 사용자는 가입 없이 게스트 모드로 모든 기능을 이용할 수 있습니다. 나중에 Apple 계정이나 이메일을 연결하더라도 그동안 쌓인 연속 기록과 배지는 유실 없이 그대로 승계됩니다.
5. App Store 출시 준비와 앞으로의 계획
2026년 8월 말 현재, Easy Eyes는 6개 언어(한국어, 영어, 중국어, 일본어, 스페인어, 프랑스어, 우크라이나어) 현지화를 완료하였으며, VoiceOver 및 Dynamic Type 등 접근성 지원 테스트를 마쳤습니다.
App Store 심사 준비(ASC App ID: 6802504215)가 차질 없이 진행 중입니다. Easy Eyes는 구독이나 광고가 없는 출시 시 $0.99 평생 1회 구매 방식으로 배포될 예정입니다.
개발 과정을 응원해 주신 모든 분께 감사드립니다. App Store에서 곧 뵙겠습니다!