「アプリ」は不要、Webページで十分だった

原題: Your 'app' could have been a webpage (so I fixed it for you)

なぜ重要か

アプリの必要性が薄いにもかかわらずインストールを強いる慣行に対し、技術的検証で問題を可視化した事例として業界への警鐘となる。

英国のエンジニアDan Qは、旅行代理店Travelboundが子どもの遠足用に提供するAndroidアプリを分析し、コンテンツがテキスト・画像・PDFリンクのみで構成されると判明したため、Rubyスクリプトを使ってHTMLページに変換した。アプリはGoogleアカウントへのトラッキングと広告配信を行う一方、Webページなら印刷・保存・検索・コピーが可能で誰でもアクセスできると指摘している。

英国のエンジニアDan Qは2025年夏、子どもが通うパフォーミングアーツスクールのDisneyland公演旅行に際し、旅程・移動・宿泊情報の閲覧に旅行代理店TravelboundのAndroidアプリのインストールを求められた。しかしアプリの実態を調べると、コンテンツはテキスト・画像・PDFファイルへのリンクのみで、Webを経由して配信されていた。

独自に機能するものとして確認できたのは2点のみで、いずれもDan Qが「アンチフィーチャー」と呼ぶものだった。具体的には、Googleアカウントに紐づいたトラッキングデータを開発者へ送信する機能と、同代理店が企画する他の旅行の広告(アプリ内では「inspirations」と表記)を表示する機能である。

Dan QはAndroid Studioの仮想デバイスマネージャーで新規仮想端末を作成し、rootAVDでルート化した後、HTTP Toolkitを使ってアプリのネットワークトラフィックを傍受した。解析の結果、アプリはユーザー名とパスワードを結合した文字列を`https://travelbound.api.vamoos.com/api/itineraries/{username}-{password}`というURL形式で使用し、JSONデータを取得していることが判明した。このJSONには旅程の各区間、広告配列、参照ファイル一覧が含まれていた。

これをもとにDan QはRubyスクリプトを作成し、Cronスケジュールで定期的にJSONを取得してHTMLページを生成する仕組みを構築した。生成されるページでは広告(overlayRows)をすべて除外し、旅程情報とファイル一覧のみを表示するよう設計した。S3上の画像URLには有効期限が設定されているため、定期的な再取得が必要だという。

Dan Qは、Webページなら印刷・保存・ブックマーク・検索・コピー・ペーストが可能で、ほぼあらゆるデバイスで利用でき、アクセシビリティ面でも優れると主張している。開発者側はHTML生成を既に行っているにもかかわらず、なぜWebページとして提供しないのかと問題提起している。

出典

danq.me — 元記事を読む →