Apple Watch의 Paku 앱이 편안한 호흡을 돕는 방법
2020년 9월 어느 날 아침, Kyle Bashour가 모든 샌프란시스코 주민과 마찬가지로, 밖을 내다보았더니 하늘이 주황색으로 변해 있었습니다.
녹스빌에 위치한 테네시 대학교를 컴퓨터 과학 전공으로 졸업한 Bashour는 대형 기술 기업에서 일하기 위해 베이 에어리어 지역으로 이사했습니다. 하지만 그는 주황색 하늘이라는 흥미로운 현상을 목격한 것을 계기로 iOS 개인 프로젝트를 시작했습니다. 바로, 사용자에게 가장 가까운 PurpleAir 모니터링 센서에서 가져온 대기 질 데이터를 보여 주는 ‘Paku’라는 앱 및 위젯이었습니다.
Paku
사용 가능한 플랫폼: iPhone, iPad, Mac, Apple Watch
팀 규모: 1명
소재지: 오리건주 포틀랜드
현재 포틀랜드에 살고 있는 Bashour는 “위젯이 막 완성된 상태였어요. 첫 번째 버전은 말 그대로 PurpleAir 데이터를 보여 주는 위젯일 뿐이었죠. 하루 만에 빌드해서 출시했습니다. 하지만 꽤 성공적이었고 어느 정도 관심을 끌었기 때문에 제게 계속 작업할 수 있도록 영감을 주었어요.”
그 후 몇 주 동안 Bashour는 지도 보기를 추가했고, 몇 가지 AQI 세부 정보를 ‘완성’했으며, 그래프와 푸시 알림 같은 추가 기능을 통합하기 시작했습니다. watchOS 10이 WWDC23에서 처음 선보였을 때, 그는 ‘Paku’를 해당 플랫폼에서 출시하기 위해 ‘Watch 앱 전체를 다시 작업’했습니다. 현재, iOS, iPadOS, macOS, watchOS에서 제공되는 ‘Paku’는 탐색하기 쉬운 Swift Charts, 세련된 스마트 스택 위젯, 아주 좁은 지역별로 한눈에 확인할 수 있는 대기 질 업데이트를 제공하는 탁월한 앱입니다.
“저는 대기 질 전문가라고 말할 수 없어요. 아마 평균적인 사람보다 좀 더 예민하게 접근할 뿐일 겁니다.”
‘Paku’는 여전히 개인 프로젝트로, 주로 SwiftUI를 사용하여 빌드되지만, Bashour에 따르면 일부 화면에서는 UIKit으로 래핑된 SwiftUI 보기를 사용하여 ‘맨 위에 놓는’ 방식이 적용됩니다. 이 앱은 첫날부터 WidgetKit을 지원했지만, 시간이 지나면서 MapKit, 동작 버튼, 실시간 현황, 앱 인텐트에 대한 지원을 추가했습니다. 그는 “Apple이 제공하는 API는 더 쉽고 비용 효율적입니다.”라고 말합니다.
다른 곳에서는 ‘Paku’가 Swift Actor를 사용하여 메모리 캐싱이 안전하고 손쉽게 구현되도록 합니다. “저는 백엔드에서 센서 데이터의 메모리 내 캐시를 사용합니다. 말 그대로 사전이 포함된 Swift Actor입니다. 이를 통해 센서가 업데이트될 때 데이터 경합에 대한 걱정 없이 비동기 함수를 사용하는 API 구현에서 매우 쉽게 데이터를 얻을 수 있게 되었습니다.”
게다가 이 앱은 서버 측 Swift를 활용하는데, 이를 통해 Bashour는 실시간 AQI 데이터 모니터링을 처리하기 위한 공유 모델을 설정했습니다. “빠르고, 가볍고, 메모리 사용량이 매우 적으며, 또 다른 언어를 배울 필요가 없습니다. 또한 백엔드 개발에 관심이 없는 인디 개발자나 1인 개발자에게는 아마도 더 어려웠을 작업이 실제로 가능해졌습니다.”
Bashour는 자신은 ‘디자이너가 아니며’ 코드를 통해 디자인하는 것을 선호한다고 말합니다. 그는 “watchOS가 훌륭한 디자인 언어를 갖고 있다는 점이 도움이 됩니다. 차트를 빌드하는 방법을 배우기 위해 WWDC 비디오를 시청하고 샘플 코드를 자세히 살펴봤습니다. 자세한 모든 가이드라인 덕분에 상당히 빠르고 쉽게 해낼 수 있었죠. watchOS 10은 정말 대단했습니다.”라고 말합니다.
현재, Bashour는 ‘Paku’ 사용자의 절반 정도가 Apple Watch를 사용하며, 사용자들은 앱이 성장하기만을 바란다고 말합니다. 비록 제작자는 겸손한 태도를 유지하고 있지만, 이는 한 가지 일을 매우 잘 해내고 있는 앱의 전형적인 사례입니다. 그는 “대기 질에 매우 민감한 사용자들이 하는 이야기를 들으면 기운이 납니다. 저는 대기 질 전문가라고 말할 수 없어요. 아마 평균적인 사람보다 좀 더 예민하게 접근할 뿐일 겁니다.”라고 말합니다.
원본 버전은 2025년 6월 9일(태평양 연안 표준시)에 게시됨