アプリをWebページに作り直した話
मूल शीर्षक: Your 'app' could have been a webpage (so I fixed it for you)
यह क्यों महत्वपूर्ण है
不必要なアプリ化によるユーザー追跡・広告強制の問題を具体的な逆エンジニアリングで示した事例として注目される。
開発者Dan Qが、子供の学校旅行向け「Travelbound」アプリをRubyスクリプトとCronで静的HTMLページに変換。アプリはテキスト・画像・PDFリンクのみで、追跡データ収集と広告表示という「反機能」しかなかったと指摘した。
Dan Qは、子供が通う舞台芸術学校のDisneyland公演旅行の日程確認のため、「Travelbound」アプリのインストールを求められた。しかし同アプリはテキスト、画像、PDFリンクのみで構成されており、Webページで十分に実現できる内容だと指摘した。
アプリ固有の機能として確認されたのは、Googleアカウントに紐づいた追跡データの開発者への送信と、「inspirations」と称した他旅行の広告表示のみ。これらはDan Qが「反機能(anti-features)」と呼ぶものだ。
Dan QはAndroid StudioのVirtual Device Manager上に仮想デバイスを作成し、rootAVDでroot化。HTTP Toolkitを使いTravelboundアプリの通信を傍受した結果、アプリが`https://travelbound.api.vamoos.com/api/itineraries/{ユーザー名}-{パスワード}`という形式のURLにアクセスし、JSON形式で日程・広告・ファイル情報を取得していることを確認した。
S3の画像URLには短い有効期限が設定されていたため、Cronスケジュールで定期的にJSONを取得し直すRubyスクリプトを作成。広告(overlayRows)を除外した形でHTMLページを自動生成する仕組みを構築した。
Webページであれば、コピー・印刷・保存・ブックマーク・検索・ほぼすべてのデバイスでの利用が可能であり、アクセシビリティも高いとDan Qは述べている。