Jacob’s Tech Tavern

Jacob’s Tech Tavern

Building a Launch Time Optimisation System

Disappoint your users faster

Jacob Bartlett's avatar
Jacob Bartlett
Sep 16, 2025
∙ Paid

Steve Jobs, during the original 1980’s Macintosh death march, famously sat down with Larry Kenyon, the engineer in charge of boot-up time. It took over a minute. Larry insisted this was as good as it could get on the hardware of the day.

Steve asked, “Would you cut it by 10 seconds if it’d save someone’s life?”

They did some maths on a whiteboard: Let’s assume a cool 5 million Macintosh sales, with each user turning the machine on once every day, for 5 years (Apple hadn’t yet cracked planned obsolescence).

5 million x 5 years x 365 days = 9.1 billion boot-ups.

Life expectancy of the day was 73 years, or 2.4 billion seconds.

Therefore, Larry could save the equivalent 3.9 human lives, for every second cut from boot-up time. In the end, he shaved off a full 28 seconds.

Your product manager probably isn’t Steve Jobs. In fact, I’m almost positive. And unless you’re very lucky, you’ll rarely be given the oxygen to address launch time while shipping product.

This is a crime. Launch time is the most insidious, pervasive, under-addressed performance problem in mobile apps. As we’ve seen, a couple of seconds of launch time is a bona-fide nano-murder. Launch latency cumulatively annoys all your users, and quietly weighs down your retention and your revenues.

I don’t have much theory for you today: this is a practical tutorial with battle-tested techniques I’ve used in production to optimise my app launches. Replete with full Before & After open-source projects to code along with.

  • I’ll explain the real-world scenario that led to the launch time breaking point, that might feel scarily familiar to you.

  • We’ll cover three techniques to slash the launch time by 4x, including:

    • Offloading to background threads

    • Maximising CPU utilisation at launch

    • Smart dependency resolution

  • I’ll show you how you can keep on top of your launch time in production.

  • I’ll demo some advanced approaches for optimising pre-main launch time.

Parallelism grants great power, but also peril: we will run into real-world examples of deadlock and race conditions along our journey, and learn to mitigate and solve these problems. That’s just what happens when you play with fire(storm CPUs).

Paid members get lots of nice things:

⚓️ Access my full library of paywalled articles (including this one)
🚀 Read free articles a month before anyone else
🧵 Master concurrency with my full course and advanced training
🧑‍🚀 Get a free copy of my new eBook, “Land your iOS Tech Job”
❤️‍🩹 Support independent, sometimes funny, tech writing

User's avatar

Continue reading this post for free, courtesy of Jacob Bartlett.

Or purchase a paid subscription.
© 2026 Jacob Bartlett · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture