apk.fm / News / How a single Android developer improved Lyft’s Drivers app startup time by 21% in one month

How a single Android developer improved Lyft’s Drivers app startup time by 21% in one month


Posted by Mauricio Vergara, Product Advertising Supervisor, with contibutions by Thousand Ant.


Lyft is singularly dedicated to app excellence. As a rideshare firm — offering an important, time-sensitive service to tens of tens of millions of riders and tons of of hundreds of drivers — they should be. At that scale, each slowdown, frozen body, or crash of their app can waste hundreds of customers’ time. Even a minor hiccup can imply a flood of individuals driving with (or driving for) the competitors. Fortunately, Lyft’s growth crew retains a detailed eye on their app’s efficiency. That’s how they first observed a slowdown within the startup time of their drivers’ Android app.

They wanted to resolve the issue rapidly — determine what it will take to resolve after which justify such an funding to their management. That meant answering a quantity of powerful questions. The place was the bottleneck? How was it affecting consumer expertise? How nice a precedence ought to or not it’s for his or her crew at that second? Fortunately, that they had a robust device at their disposal that would assist them discover solutions. With the assistance of Android vitals, a Google Play device for bettering app stability and efficiency on Android units, they situated the issue, made a case for prioritizing it to their management, and devoted the correct quantity of sources to fixing it. Right here’s how they did it.

New priorities

The very first thing Lyft’s growth crew wanted to do was determine whether or not this was a urgent sufficient drawback to persuade their management to dedicate sources to it. Like every proposal to enhance app high quality, dashing up Lyft Driver’s start-up time needed to be weighed out in opposition to different competing calls for on developer bandwidth: introducing new product options, making architectural enhancements, and bettering knowledge science. Typically, one of many challenges to convincing management to spend money on app high quality is that it may be tough to correlate efficiency enhancements with enterprise metrics.

They turned to Android vitals to get an actual image of what was at stake. Vitals offers builders entry to knowledge in regards to the efficiency of their app, together with app-not-responding errors, battery drainage, rendering, and app startup time. The present and historic efficiency of every metric is tracked on actual units and will be in comparison with the efficiency of different apps within the class. With the assistance of this highly effective device, the event crew found that the Lyft Driver app startup time was 15–20% slower than 10 different apps of their class — a urgent problem.

Subsequent, the crew wanted to determine the suitable scope for the venture, one that might be commensurate with the slowdown’s impression on enterprise objectives and consumer expertise. The info from Android vitals made the case clear, particularly as a result of it offered a direct comparability to opponents within the rideshare house. The event crew estimated {that a} single developer engaged on the issue for one month can be sufficient to make a measurable enchancment to app startup time.

Drawing on this wealth of knowledge, and interesting to Lyft’s dedication to app excellence, the crew made the case to their management. Demonstrating a transparent alternative to enhance buyer expertise, a fairly scoped and achievable purpose, and clear-cut aggressive intelligence, they acquired the go-ahead.

How They Did It

Lyft makes use of “Time to work together” as a major startup metric (also called Time to full show). To know the components that impression it, the Lyft crew profiled every of their app’s launch levels, searching for the deadlock. The Lyft Driver app begins up in 4 levels: 1) First, begin the appliance course of 2) “Exercise” kicks off the UI rendering. 3) “Bootstrap” sends community requests for the information essential to render the house display. 4) Lastly, “Show” opens the driving force’s interface. Rigorous profiling revealed that the slowdown occurred within the third, bootstrapping, section. With the bottleneck recognized, the crew took a number of steps to resolve it.

Lyft time to interact 

First, they decreased unneeded community calls on the essential launch path. After decomposing their backend providers, they may safely take away some community calls within the launch path solely. When attainable, in addition they selected to execute community calls asynchronously. If some knowledge was nonetheless required for the appliance to perform, however was not wanted throughout app launch, these calls had been made non-blocking to permit the launch to proceed with out them. Blocking community calls had been in a position to be safely moved to the background. Lastly, they selected to cache knowledge between periods.

21% faster startup 5% more driver sessions 

These might sound like comparatively small adjustments, however they resulted in a dramatic 21% discount in app startup time. This led to a 5% improve in driver periods in Lyft Driver. With the leads to hand, the crew had sufficient buy-in from management to create a devoted cellular efficiency workstream and add an engineer to the hassle as they continued to make enhancements. The success of the initiative caught on throughout the group, with a number of managers reaching out to discover how they may make additional investments in app high quality.


The success of those efforts comprises a number of broader classes, relevant to any group.

As an app grows and the crew grows with it, app excellence turns into extra essential than ever. Builders are sometimes the primary to acknowledge efficiency points as they work carefully on an app, however can discover it tough to lift consciousness throughout a whole group. Android vitals presents a robust device to do that. It supplies an easy solution to again up developer observations with knowledge, making it simpler to sq. efficiency metrics with enterprise circumstances.

When beginning your individual app excellence initiative, it pays to first goal for small wins and construct from there. Rigorously choose actionable tasks, which ship vital outcomes by way of an applicable useful resource funding.

It’s additionally essential to speak early and sometimes to contain the remainder of the group within the growth crew’s high quality efforts. These fixed updates about objectives, plans, and outcomes will aid you hold your entire crew on board.

Additional Assets

Android vitals is simply one of many many instruments within the Android ecosystem designed to assist perceive and enhance app startup time and total efficiency. One other complementary device, Jetpack Macrobenchmark, might help present intelligence throughout growth and testing on quite a lot of metrics. In distinction to Android vitals, which supplies knowledge from actual customers’ units, Macrobenchmark lets you benchmark and take a look at particular areas of your code regionally, together with app startup time.

The Jetpack App startup library supplies an easy, performant solution to initialize parts at utility startup. Builders can use this library to streamline startup sequences and explicitly set the order of initialization. In the meantime, Attain and units might help you perceive your consumer and problem distribution to make higher choices about which specs to construct for, the place to launch, and what to check. The info from the device permits your crew to prioritize high quality efforts and decide the place enhancements may have the best impression for essentially the most customers. Perfetto is one other invaluable asset: an open-source system tracing device which you should use to instrument your code and diagnose startup issues. In live performance, these instruments might help you retain your app operating easily, your customers blissful, and your entire group supportive of your high quality efforts.

When you’re focused on getting your individual crew on board for the pursuit of App Excellence (or be a part of Lyft), take a look at our condensed case research for product homeowners and executives linked right here.

Source hyperlink

Take a comment