BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News How Lyft Reduced its Android App Launch Time by 21% in One Month

How Lyft Reduced its Android App Launch Time by 21% in One Month

This item in japanese

Bookmarks

Based on the insights provided by Google's Android App Vitals, Lyft Android team improved their Android app's startup time by 21% and increased driver sessions by 5%.

What set off the Lyft team effort was discovering that their Android app was 15-20% slower than their competitors' at launch. Launch time is a key factor to engage customers and the Lyft team saw there a clear opportunity to improve UX and engagement, which required to first convince their management of the importance of that.

As an app grows and the team grows with it, app excellence becomes more important than ever. Developers are often the first to recognize performance issues as they work closely on an app, but can find it difficult to raise awareness across an entire organization.

To get to the bottom of what was causing their slow startup, Lyft engineers resorted to using Android vitals.

Vitals gives developers access to data about the performance of their app, including app-not-responding errors, battery drainage, rendering, and app startup time.

The key metrics to observe for Lyft was time to full display, which measures the time taken to display the first fully-populated UI view, including any required networked content. In Lyft's case, time to full display was the product of four different stages in their app launch pipeline: starting the app process, creating an Android activity to render the UI, requiring remote content, and finally showing the driver's UI.

Thanks to these insights, the Lyft team took a number of steps to reduce the network overhead on their critical path. This required decomposing their backend services to remove some network calls, using asynchronous requests, and moving any blocking requests to background threads. Another area which brought improvement was using a cache to persist data across sessions.

Overall this allowed for reducing launch time by 21%, as already mentioned. Interestingly, achieving this result did not require a lot of manpower. In fact, it took a single developer just one month to achieve the goal. This was not accidental, rather the effect of an accurate initial investigation into what deserved an effort.

When starting your own app excellence initiative, it pays to first aim for small wins and build from there. Carefully pick actionable projects, which deliver significant results through an appropriate resource investment.

Android App Vitals are accessible from the Google Play Console.

About the Author

Rate this Article

Adoption
Style

BT