최근 한 개발자가 자녀의 여행 정보를 확인하기 위해 설치한 '트래블바운드(Travelbound)' 앱이 사실상 웹 콘텐츠를 보여주는 것에 불과하며, 불필요한 추적 기능과 광고를 포함하고 있다는 문제점을 제기했습니다. 그는 이 앱이 제공하는 핵심 정보인 여행 일정, 숙박, PDF 문서 등이 모두 웹 기반으로 전달되는 텍스트와 이미지 링크였음을 지적하며, 앱 대신 더 효율적인 웹페이지로 대체하는 과정을 상세히 공개했습니다.
개발자는 안드로이드 가상 기기를 루팅(rooting)하고 'HTTP 툴킷(HTTP Toolkit)'을 이용해 앱의 네트워크 트래픽을 가로챘습니다. 분석 결과, 앱은 사용자 이름과 비밀번호를 결합한 API URL을 통해 모든 콘텐츠를 JSON 형태로 받아오는 것으로 드러났습니다. 그는 이 JSON 데이터를 파싱하여 루비(Ruby) 스크립트를 작성했고, 크론(Cron) 스케줄러를 이용해 주기적으로 최신 정보를 가져와 HTML 웹페이지를 자동으로 생성하도록 했습니다. 이 과정에서 원본 앱에 포함된 광고 데이터는 완전히 제외하고, 필요한 일정과 PDF 파일만 노출시켰습니다. 이렇게 만들어진 웹페이지는 원본 앱의 43MB(콘텐츠 다운로드 후 124MB)에 비해 0.05MB로 훨씬 가볍고, 선택적 이미지까지 포함해도 35MB에 불과했습니다.
이 사례는 많은 모바일 앱이 실제로는 웹 기반 콘텐츠를 단순히 포장하여 사용자에게 불필요한 용량과 기능을 강요하고 있다는 점을 시사합니다. 웹페이지는 복사, 인쇄, 저장, 북마크, 검색 등 기본적인 웹 기능을 별도 구현 없이 제공하며, 다양한 기기에서 접근성을 높일 수 있습니다. 또한, 앱스토어 배포에 드는 비용과 개발 부담을 줄일 수 있습니다. 문서형 콘텐츠나 단순 정보 제공 서비스의 경우, 앱보다는 웹페이지나 프로그레시브 웹 앱(PWA)이 사용자 경험과 개발 효율성 측면에서 훨씬 유리할 수 있다는 점을 보여주는 중요한 사례입니다.