4 Identify your critical paths
This chapter covers
- What the critical path is and why it determines what users experience
- How to locate critical paths by tracing from user goals to supporting operations
- Platform-specific patterns for web, backend, mobile, and desktop
- Deferral patterns that move non-essential work off the critical path
- Data fetching strategies: parallel requests, batching, and prefetching
Speed comes not from making everything faster, but from knowing what users are actually waiting for. Shopify's mobile team started 2023 with a problem: their app launched too slowly, and screens loaded too slowly. By year's end, app launch was 44% faster, and screen load times had dropped by 59%. They achieved this by identifying exactly which operations users were waiting for and making those operations fast first, while pushing everything else to later[1].
This distinction between critical path work and everything else is your most important tactical insight. Most optimization techniques in later chapters depend on this foundation: you cannot make an application fast by optimizing randomly. You make it fast by identifying what users are actually waiting for and ensuring those operations complete as quickly as possible.