GN⁺: 유아가 사랑하는 비행기를 위해 부모가 만든 레이더
(jacobbartlett.substack.com)요약: 아이를 위한 레이더 앱 개발기
-
아이의 비행기 사랑: 저자의 2살 된 딸이 비행기에 매료되어 하늘의 비행기를 찾는 놀이에 흥미를 보임.
-
문제 인식: 기존의 FlightRadar24 앱은 사용성이 떨어지고, 2차원 지도로는 실제 비행기의 위치 파악이 어려움.
-
앱 아이디어: 주변 비행기를 레이더처럼 보여주는 앱 구상. 사용자의 방향에 맞춰 회전하고, 비행기의 높이에 따라 크기가 달라지며, 아이가 사용하기 쉬운 디자인이 필요함.
-
개념 증명:
- 방향 유지: iOS Core Location API를 사용하여 사용자의 방향 변화를 감지.
- 비행 데이터 API: OpenSky Network의 REST API를 활용하여 실시간 비행 데이터 획득.
- 위치 데이터: Core Location으로 사용자의 위치 데이터를 얻음.
- 삼각측량: 비행기의 위치 데이터와 사용자의 위치를 비교하여 화면에 정확한 위치에 비행기를 표시.
-
MVP 개발:
- 레이더 이름: 앱 이름 'Aviator'로 결정.
- 지도 주석: iOS 17에서 지도 위에 비행기 모양의 주석을 쉽게 추가.
- 비행기 크기 조정: 비행기의 높이에 따라 크기를 조정하여 화면에 표시.
-
사용자 테스트: 딸과 함께 실제 비행기와 앱을 통해 발견한 비행기를 비교하며 테스트 진행.
-
레이더 생성:
- API 안정성: OpenSky API의 불안정성을 고려하여 클라이언트 측에서 재시도 로직 구현.
- 지도 가리기: 지도를 숨기고 비행기 주석만 표시하여 레이더 효과 구현.
-
앱 스토어 출시: 앱을 개발하고 앱 스토어에 출시 준비. 비행기 모양의 주석과 사용자의 방향을 표시하는 레이더 UI로 앱을 완성.
-
GN⁺의 의견: 이 글에서 가장 중요한 것은 아이의 흥미를 바탕으로 한 창의적인 앱 개발 과정이며, 소프트웨어 개발의 즐거움과 부모로서의 애정이 결합된 점이 흥미롭다.
Hacker News 의견
- 프로젝트의 디자인이 원래 레이더 디스플레이의 강한 영향을 받음을 흥미롭게 생각함. 아이가 실제 CRT나 ASR-9 PPI 디스플레이를 접할 일은 없겠지만, 이를 시뮬레이션하기 위해 많은 노력을 기울임.
- 딸과 함께하는 건전한 활동으로, 가까운 국제공항의 활주로 끝에 가서 비행기가 착륙하는 모습을 관찰하는 것을 제안함. 아이가 '레이더'를 사용해 오는 비행기를 확인할 수 있으며, 이는 아이들에게 큰 즐거움을 줌.
- 어린 아이들과 해외여행을 가지 말라는 말에 동의하지 않음. 아이와 함께 브라질 여행을 갔고, 택시, 해적선, 알파인 슬라이드, 리우데자네이루 식물원 등 다양한 경험을 함. 아이가 기억하지 못할지라도 그 경험들은 중요함.
- 몇 년 후에 아이에게 ADS-B 기반 웹 데이터와 실제 레이더 감지 기술의 차이를 설명해야 할 것임. 아이는 앱이 실제와 다르다고 기억할 것임.
- 귀여운 비행기를 좋아하는 아이와 함께 있으면, 승무원이 조종실을 둘러볼 수 있도록 초대할 수도 있음. NASA 오렌지 점프슈트는 조종실 입장의 '여권'과 같으며, 승무원들이 아이들보다 더 흥분함.
- 초기 릴리스에서 디스플레이 색상 변경 기능이 필수였다는 것은 대상 사용자의 요구를 잘 이해하고 있음을 보여줌. 3살 아이들은 색상 선택기가 포함된 장난감을 좋아함.
- 조종사로서 이 프로젝트를 놀라워함.
- 아이를 위한 비행 로그북을 만드는 것이 '언젠가 해야 할 일' 목록에 있음. 승무원들은 이런 것을 좋아하며, 아이는 로그북을 돌려받을 때 항상 기뻐함.
- 디자인을 좋아하지만, 한 단계 더 나아가 API를 사용하지 않고 1090 Mhz에서 ADB 주파수로 조율된 SDR을 사용해 직접 데이터를 수집하면 진정한 레이더가 될 것임.
- "앱은 집에서 만든 식사가 될 수 있다"는 관련 글을 인용하며, 가족만을 위해 사라진 소셜 네트워크 앱 Tapstack을 복제한 사례를 소개함.