Josh はインド製のショート動画アプリで、2020 年 8 月にリリースされました。また、1 億 2,400 万人以上の MAU、6,000 万人以上の DAU を擁する、インドで最も急成長しているショート動画アプリの 1 つです。
さまざまなデバイス(ハイ、ミッド、ローエンド)で Josh を最適化し、すべてのデバイスで標準のエクスペリエンスを維持することは、アプリ デベロッパーにとって大きな課題であり、Josh のデベロッパーはこの点を当初から理解していました。Android Vitals の改善はスプリントの主要なタスクであり、アプリの起動時間と応答性を改善することでユーザーの満足度を高めることが重要でした。
ユーザーが興味を持ち、アプリで消費する主なフォーマットは動画であるため、アプリの応答性と起動時間も重要でした。動画ストリームが途切れたり、さまざまな操作が途切れたりすると、ユーザーはすぐに興味を失い、アプリを終了してしまう可能性があります。
Josh はアプリの起動時間のパフォーマンスに投資することで、平均的なユーザーのアプリ起動時間を 30% 短縮し、旧式およびローエンド デバイスを使用する約 10% のユーザーでは 3 倍の高速化を実現しました。
課題
Josh アプリは 1 年足らずで MAU が 1 億人を超える急速な成長を遂げています。プロダクト主導やイベント主導の機能を押し出す競争の中で、アプリの最適化はしばしば後回しになります。Google によるアプリ監査と構造的フィードバックにより、これらの問題を早期に特定し、解決するための道筋をつけることができました。
活用方法
Android Vitals をモニタリングしているうちに、アプリの起動を改善できる余地があることが判明しました。チームは、ウォーム スタートとホットスタートの時間が自動的に改善されるため、コールド スタートアップ時間の短縮を優先することにしました。
チームは複数のカスタム トレース、Systrace、Android Studio Profiler、Perfetto を使用して、広範な調査を実施し、ボトルネックを特定することができました。Application クラスの onCreate などの同期メソッドにかかる時間を最適化できることは明らかでした。
チームによる具体的な取り組みをご紹介します。
- アプリの起動時に実行されるコードブロックごとにプロファイリングされます。
- Perfetto、Systrace、Dumpsys などの Android パフォーマンス ツールを使用してシステム トレースを分析しました。
- アプリ起動時のサードパーティ SDK の影響を調査し、一部のサードパーティ SDK の自動起動を無効にしました。
- 従来のライブラリの排除
- 一部のモジュールが延期され、バックグラウンドで実行されました
- 起動時のスプラッシュ画面で使用されるドローアブルのサイズを縮小し、画面サイズに合わせて最適化しました
上記はすべて、個別にテストすることで徹底的に検証され、アプリに及ぼすプラスの影響、コールド スタートのエミュレーション、新しい Jetpack Macrobenchmark ライブラリの統合が行われました。
結果
これらの変更は、すべての指標がすぐに改善されただけでなく、全体的なユーザー エクスペリエンスの向上にもつながり、Josh の開発チームにとって貴重な学びを得ることができました。
- 直帰率とユーザー維持率が向上したことで、基準値と比較して 100 万人以上のユーザーを維持することができました。この 2 つの指標に着目することで、アプリ内の全体的なエンゲージメントも向上しました。
- 起動を改善したアプリのリリース後、Play ストアでの評価は上昇傾向で見られました。
- アプリの起動時間が平均的なユーザーは 30% 短縮され、古いデバイスやローエンド デバイスを使用する約 10% のユーザーでは 3 倍速くなりました。その結果、これらのユーザーのアプリの応答性が大幅に向上しました。
さらに重要なこととして、この Android Vitals の改善演習により、チーム全体が一体となってチーム、特に新任メンバーのモチベーションが高まりました。Vitals の重要性を確固たるものにするとともに、学習した内容を他のアプリにも活用することができました。
「エコシステム内のパートナーが一丸となると、エコシステムもともに成長します。データと分析の力は前例のないものです。クリエイターを第一に考える、コンテンツを主体とする、消費者に重点を置いたプラットフォームとして、YouTube はアプリの安定性に大きく依存する究極のユーザー エクスペリエンスを生み出すことに常に重点を置いてきました。Josh はリリース後すぐに、成長の加速を目の当たりにしました。Google Play チームと緊密に連携することで、アプリの安定性や最適化などの課題を早期に特定し、修正することができました。Google との連携により、安定性が向上し、ユーザー維持率とエンゲージメントが向上しました。」
– VerSe Innovation、プロダクトおよびエンジニアリング担当シニア バイス プレジデント、Shailendra Sharma 氏