The first thing a customer learns about your app is how long it takes to open. It happens before any feature, any design decision, any onboarding flow. It is also one of the few quality measures the app store records for you and uses against you.
The Number We Had Wrong
Our engineering article on this subject carried a 500 millisecond target in its title and attributed it to Google. The page it cited says no such thing. The title is changed and the claim removed. What Google does publish are the points at which its quality system counts a launch as slow: a cold start of 5 seconds or more, a warm start of 2 seconds or more and a hot start of 1 second or more (Play Console Help).
Those are ceilings. An app that opens in 4.9 seconds passes the test and still loses the customer. The useful question is what budget the team has set for itself, and whether anyone is measuring against it.
Two Moments, Both Count
A launch has two finish lines. Android defines them: "TTID is the time it takes to display the first frame, and TTFD is the time it takes for the app to become fully interactive." Teams tend to report the first because the system records it automatically. Google does not rank them: "Both are equally important, because TTID lets the user know that the app is loading, and TTFD is when the app is actually usable." The second is only measured if the team adds the call that reports it. Many never do, and so they have no number for when their app becomes usable.
Assume the Worst Case
The guidance on where to aim is short: "We recommend that you always optimize based on an assumption of a cold start. Doing so can improve the performance of warm and hot starts as well." A cold start is what a new customer gets, and what a returning one gets after the phone has reclaimed memory.
What to Ask Your Team
- What is our cold start time on a mid-range phone, and how was it measured?
- Do we measure the time until the app is usable, or only the first frame?
- What is our own budget? If the answer is the store threshold, there is no budget.
- Does a release fail if startup gets slower?
-Rocky
#MobilePerformance #AppQuality #CustomerExperience #EngineeringDreams #StrategiaX
Originally published on ANDROID-ARCHITECT, the Android engineering blog of Strategia-X, with the benchmark and the fixes.
