Josh、アプリの起動時間を 30% 短縮して顧客維持率が向上
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
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 氏
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2022-02-08 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2022-02-08 UTC。"],[],[],null,["# Josh sees increased customer retention by improving app startup time by 30%\n\nJosh is a made-in-India, short-video app launched in August 2020. It is also one of the fastest growing short-video apps in India with over 124 million MAUs and 60 million DAUs.\n\nOptimizing Josh across a range of devices (high, mid, low end) and maintaining a standard experience across all of them is a tall order for any app developer, and the developers at Josh understood this from the very beginning. Improving Android Vitals was a major task in their sprints and importance was given to creating user delight by improving the app startup time and responsiveness.\n\nApp responsiveness and startup time were also important as video was the primary format users engaged with and consumed on the app. Any sputtering in the video stream or breaks in the different interactions could quickly result in the user losing interest and quitting the app.\n\nBy investing in app startup time performance, Josh improved app startup time by 30% for the average user and became 3x faster for \\~10% users on older and low end devices.\n\n### The Challenge\n\nJosh app has witnessed a rapid pace of growth to over 100 million MAU in less than a year. Often in the race to push out product-led or event-led features, app optimization takes a back seat. App audits and structural feedback from Google helped them identify these issues early on and lay down a path to fix them.\n\n### How They Did It\n\nWhile monitoring Android vitals, an opportunity to improve app startup was identified. The team decided to prioritize improving the cold startup times, as this would automatically improve the warm and hot start times.\n\nUsing multiple custom traces, systrace, Android Studio Profiler and Perfetto, the team was able to do an extensive investigation and identify the bottlenecks. It was clear that the time taken by the Application class' onCreate and other synchronous methods could be optimized.\n\nHere's what the team did specifically -\n\n- Profiled every block of code that executes during App startup.\n- Analyzed system traces using Android performance tools like Perfetto, Systrace, Dumpsys etc.\n- Impact of 3rd party SDKs during app startup was investigated and autostart of some 3rd party SDKs was disabled.\n- Eliminated legacy libraries\n- Some modules were deferred and executed in the background\n- Reduced the size of the drawables used on the splash screen on startup and optimized them for screen size\n\nAll the above were thoroughly validated by testing in isolation to confirm their positive impact on the app, emulating cold starts and integrating the new Jetpack [Macrobenchmark](https://developer.android.com/studio/profile/macrobenchmark-intro) library.\n\n### Results\n\nThese changes didn't just lead to an immediate improvement across all the metrics, it also helped enhance overall user experience, along with invaluable learnings for the development team at Josh.\n\n- Improving bounce rates and retention helped Josh **retain 1M+** users compared to the baseline. Focusing on these two metrics improved the overall engagement within the app as well.\n- Play Store **ratings showed an upward positive trend**, post the launch of the app with startup improvements.\n- App startup time improved by **30% for the average user and became 3x faster for \\~10% users on older and low end devices**, thereby helping improve app responsiveness significantly for these users.\n\nMore importantly, this exercise in improving Android Vitals brought the whole team together, increasing the motivation of the team, especially the junior members. It cemented the importance of Vitals and even led to the team using some of the learnings in their other apps.\n\u003e *\"When partners in an ecosystem come together, the ecosystem grows together. The power of data and analytics is unprecedented. As a creator-first, content-forward and consumer-focused platform, we have always focused on creating the ultimate user experience, which relies heavily on the app's stability. Josh witnessed immediate accelerated growth following its launch. Working closely with the Google Play team helped us identify and rectify challenges like app stability and optimization early on. Our efforts with Google have helped us drive improved stability and enhancements in user retention and engagement\"*\n\u003e\n\u003e **-- Shailendra Sharma, SVP Product and Engineering, VerSe Innovation.**"]]