측정이 실제로 어디에서 이루어지는지 생각해 보세요. 신호 안테나가 한 칸만 뜨는 마트의 신선식품 코너, 지하실 다용도실, 차고, 아파트 세대 사이의 계단실 등이 있습니다. 측정 앱이 서버를 필요로 한다면 정작 필요한 바로 그 장소에서 무용지물이 되고 맙니다. 그렇기에 아키텍처 설계에서 가장 타협할 수 없었던 첫 번째 원칙은 바로 이것이었습니다. 모든 캡처, 분석, 결과 저장은 네트워크가 꺼진 상태에서도 작동해야 합니다. 기능이 제한되는 오프라인 모드가 아니라, 이것이 기본 모드입니다. 애초에 기능이 하향될 만한 온라인 모드 자체가 존재하지 않습니다.

기기 내 처리가 실제로 주는 이점

측정 방식을 바꾸는 속도

휴대폰에서 자체적으로 분석을 수행하여 1초 미만에 결과가 나옵니다. 이 짧은 응답 시간은 단순히 보이기 위한 것이 아닙니다. 작업 흐름 자체를 바꿉니다. 멜론을 두드려 값을 확인한 후, 다른 부분을 다시 두드려 바로 비교해 보세요. 자전거 바퀴의 스포크 32개를 단 몇 분 만에 전부 튕겨보며 확인할 수 있습니다. 매 측정마다 서버를 거쳐야 한다면 단 한 번만 측정하고 운에 맡기겠지만, 즉각 확인이 가능하다면 다섯 번 측정하여 정확히 알 수 있습니다. 측정 도구는 반복적인 탐색을 돕는 유용한 도구여야 합니다.

정책이 아닌 아키텍처로 보장되는 개인정보 보호

집 안에서 녹음된 마이크 데이터는 외부로 절대 전송될 필요가 없는 데이터의 전형적인 예입니다. Sentio에서는 실제로 외부로 전송되지 않습니다. 원시 오디오는 기기 내에서 처리되며, 추출된 특징들만 기기에 저장됩니다. 로그인 후 명시적으로 동기화를 누르지 않는 한 휴대폰을 벗어나는 데이터는 없으며, 로그인하지 않고도 앱의 모든 기능을 완벽하게 사용할 수 있습니다. 개인정보 처리방침은 기업이 사용자의 데이터를 어떻게 처리하겠다고 약속하는 문서이지만, 오프라인 아키텍처는 아예 그러한 약속들 대부분을 불필요하게 만듭니다.

제품의 가치를 훼손하지 않는 비용 구조

클라우드 기반 추론은 측정이 발생할 때마다 공급업체에 비용을 발생시키며, 이는 결국 구독제, 이용 제한, 또는 광고 도입으로 이어지기 마련입니다. 반면 기기 내 추론은 사용 횟수에 따른 비용이 발생하지 않으므로 사용량을 제한해야 한다는 압박감이 없습니다. 이처럼 보이지 않지만 확실하게 사용자에게 이익이 되는 구조 덕분에, 한계 비용이 0인 당사의 앱은 사용자가 원하는 만큼 마음껏 측정할 수 있도록 지원합니다.

카탈로그는 휴대폰에 저장되고 클라우드는 복사본일 뿐입니다

사용자가 측정하는 모든 데이터(대상, 사용 사례, 측정, 레이블)는 로컬 카탈로그로 분류되며, 로컬 데이터베이스가 항상 신뢰할 수 있는 단일 소스가 됩니다. Google로 로그인하면 오직 한 가지 기능만 추가됩니다. 클라우드의 데이터를 가져오고 로컬 데이터를 전송하는 수동 동기화를 통해 두 번째 기기나 웹 뷰어에서도 동일한 카탈로그를 볼 수 있게 해줍니다. 수동 동기화는 제한 사항이 아닌 유용한 기능입니다. 동기화가 백그라운드에서 실행되어 원치 않는 혼란을 주는 대신, 사용자가 요청하는 시점에 어느 방향으로 작동하는지 명확히 파악할 수 있는 일련의 흐름으로 진행됩니다.

웹 뷰어에 대한 당연한 귀결: 브라우저 기반의 내보내기 뷰어도 동일한 규칙을 따릅니다. 내보낸 번들을 열면 브라우저 내에서 완전히 해석되어 로컬 파일만 읽을 뿐, 그 어떤 것도 외부로 절대 업로드하지 않습니다.

정직함을 유지하게 만드는 제약 조건

오프라인 우선 정책에는 보이지 않는 또 다른 장점이 있습니다. 바로 안일한 엔지니어링을 방지한다는 점입니다. 원시 오디오에 거대한 클라우드 모델을 적용하는 방식으로 엉성한 기능 구성을 포장할 수 없습니다. 모든 기능은 휴대폰의 CPU에서 1초 내에 실행되어야 하므로 분석 알고리즘을 가볍고 해석 가능하며 물리학적 근거를 갖추도록 설계해야 합니다. 블랙박스 임베딩 대신 공명 주파수와 감쇠비를 사용하고, 절대적인 측정 레벨 대신 동일 수신기 비율을 사용하는 식입니다. 이러한 특성들은 기기별 보정 없이도 다른 휴대폰 모델로 그대로 이식할 수 있는 특성들이며, 제약 조건과 고품질 구현이라는 목표가 같은 방향을 가리키게 만듭니다. (이 설계 규칙에 관한 자세한 내용은 도구 개요 및 두 대의 휴대폰을 사용한 측정 포스트를 참조하세요.)

오프라인 우선이 의미하지 않는 것

그렇다고 클라우드에 반대한다는 뜻은 아닙니다. 몇 달 동안 쌓아온 카탈로그는 백업과 보조 화면이 필요하기에 동기화 기능이 존재하는 것입니다. 또한 모델이 전혀 개선되지 않는다는 뜻도 아닙니다. 사용자가 실측 자료(ground-truth) 라벨과 함께 기꺼이 제공한 측정값을 바탕으로 분류기를 중앙에서 학습시키고 — 이른바 데이터 세트 플라이휠입니다 — 이렇게 학습된 분류기는 앱으로 다시 전달되어 언제나처럼 기기 내에서 로컬로 작동합니다. 네트워크는 사용자의 일정에 맞춰 지식을 이동시키는 도구일 뿐입니다. 실제 측정은 사용자의 손안에서 이루어집니다.