Lyft は、ドライバーの Android アプリの起動時間を 21% 改善
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。

Lyft は、優れたアプリを提供するよう努めています。そうしなければなりません。ライドシェア アプリ(何百万人ものドライバーや乗客に毎日重要な時間的制約のあるサービスを提供する)の場合、低速または応答しないアプリが許容できない摩擦をもたらします。物事がスムーズに稼働し続けるために、Lyft の開発チームはアプリのパフォーマンスを注意深く観察しています。同社は、Android ドライバアプリの起動が遅いことに気づきました。
時間的制約のある優先事項が多すぎる組織では、すべてのプロジェクトを慎重に検討する必要があります。開発チームは、起動に時間がかかることがカスタマー エクスペリエンスに影響していることを把握していましたが、対策を講じるには、まず問題の範囲を上層部に説明する必要がありました。そのためには、明確なビジネスケースを作成する必要がありました。
実施内容
Lyft の開発チームは Android Vitals を使用して、ライドシェアリング分野の同等のアプリよりも、Lyft Driver の起動時間が 15 ~ 20% 遅いことを発見しました。これが、経営陣に主張をするために必要なことでした。
問題の範囲を集計し、たった 1 人の開発者が 1 か月働くことで、アプリの起動時間が大幅に短縮される可能性があると推定しました。経営陣が拒否できない、価値のある投資です。
経営陣の支援を受け、彼らは今やこの行き詰まり自体を見つける必要がありました。そして、アプリの起動プロセスを見直し、プロセスを複数のフェーズに分割しました。
アプリはスムーズに起動し、UI のレンダリングは期待どおりに進行しましたが、その後第 3 フェーズであるブートストラップ フェーズで、アプリがネットワークに接続し、ホーム画面をレンダリングするためのデータをリクエストすると、ボトルネックが見つかりました。
チームはこの事象を解決するために迅速に行動し、不要なネットワーク呼び出しの削除、非同期実行のための呼び出し、セッション間でのデータのキャッシュを行いました。
結果と知見
こうした比較的シンプルな改善により、アプリの起動時間が平均 21% 短縮され、ドライバー セッションが 5% 増加しました。最初のテストでは、アプリに適度な投資を行うだけで価値ある結果が得られることが証明されました。これを受けて、Lyft のリーダーはイニシアチブを拡大し、アプリの安定性を含む他の課題に対処することを約束しました。
Lyft が Android の Lyft Driver アプリをどのように改善したかに関する技術的な詳細については、Google の技術事例紹介をご覧ください。
Android Vitals と Google Play でのアプリの見つけやすさについて
- Google Play は、起動時間がアプリの品質にとって重要な決定要因であると考えています。
- プロダクト オーナーは Android Vitals を使用して、実際のデバイスにおけるアプリの主な指標の過去のパフォーマンスを把握し、追跡することができます。
- Google Play Console では、プロダクト オーナーは集計パフォーマンス データを同じカテゴリの他のアプリと比較することで、自社のアプリが最高水準に達しているかどうかを確認できます。
- Android Vitals を使用すると、アプリ応答なし(ANR)の発生率、クラッシュ発生率、レンダリング パフォーマンス、アプリの起動時間などの指標を比較できます。
- アプリの起動時間はユーザー エクスペリエンスの重要な指標です。起動が遅いアプリや反応しないアプリは、ユーザーをいらだたせたり、注意をそらしたりする可能性があります。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2022-03-10 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-03-10 UTC。"],[],[],null,["# Lyft improves Android app startup time for drivers by 21%\n\n[Lyft](https://www.lyft.com/) is committed to app excellence. They have to be. For a rideshare app --- providing a vital, time-sensitive service to millions of drivers and riders every day --- a slow or unresponsive app adds unacceptable friction. To keep things running smoothly, Lyft's development team keeps a close eye on app performance. That's how they noticed that their Android driver app had a slow startup time.\n\nIn an organization with so many time-sensitive priorities, every project has to be weighed out carefully. The development team knew that slow start-up time was affecting their customers' experience, but, if they wanted to do something about it, they first needed to demonstrate the extent of the problem to senior leadership. This required making a clear business case.\n\nWhat They Did\n-------------\n\nUsing [Android vitals](https://play.google.com/console/about/vitals/), Lyft's development team discovered that Lyft Driver's startup time was 15--20% slower than comparable applications in the ridesharing space. This is what they needed to make a case to their leadership.\n\nHaving tabulated the extent of the problem, they estimated that one single developer working for one month could make significant improvements to the app's startup time --- a worthwhile investment that their leadership couldn't refuse.\n\nWith support from leadership, they now needed to locate the impasse itself. They reviewed the app's startup process and broke it down into phases. \n\nThe app started smoothly; UI rendering proceeded as expected; but then, in the third phase --- the bootstrapping phase, where the app connects to the network and requests data to render the home screen --- they found the bottleneck.\n\nThe team moved quickly to resolve it, removing unnecessary network calls, moving some to execute asynchronously, and caching data between sessions.\n\nResults and Learnings\n---------------------\n\nThese relatively simple improvements led to a dramatic 21% average reduction in app startup time and a 5% increase in driver sessions. The initial experiment proved that a modest investment in app excellence could yield valuable results. Seeing this, Lyft leadership has expanded the initiative and have commited to address other challenges including app stability. \n\nTo read more technical details about how Lyft improved the Lyft Driver Android app, read our technical case study.\n\nAbout Android Vitals and App Discoverability in Google Play\n-----------------------------------------------------------\n\n- Google Play considers app startup time a key determinant of app quality.\n- Android vitals allows product owners to understand and track historical performance of key metrics for their apps on real devices.\n- In the Google Play Console, product owners can ensure their app is best in class by comparing aggregated performance data against other apps in their category.\n- Android vitals allows you to compare metrics including: app-not-responding (ANR) rates, crash rates, rendering performance, and app startup time, among others.\n- App startup time is an important metric of user experience. An app which is slow or unresponsive during startup may frustrate users or lose their attention altogether."]]