Back to skills
extension
Category: Development & EngineeringNo API key required

navigation-latency

Measure time from navigation tap to screen fully loaded and interactive. Use when tracking screen transitions, deep links, or tab switches.

personAuthor: jakexiaohubgithub

Navigation Latency

Time from tap to destination screen interactive (TTI).

Phases

TAP → TRANSITION → VIEW_INIT → DATA_LOAD → INTERACTIVE
     |_____________________________________________|
                   Navigation Latency

When to Use

  • Tab bar taps
  • List item → detail screen
  • Deep link → target screen
  • Any screen-to-screen transition

Key Thresholds

| Rating | Duration | |--------|----------| | Good | <400ms | | Acceptable | <1s | | Poor | >1s |

Measurement Points

  1. onNavigationStart - user taps (source screen)
  2. onViewAppear - destination view visible
  3. onContentReady - data loaded, interactive

Implementation

See references/ui-performance.md (Navigation Latency section) for:

  • iOS: NavigationLatencyTracker with os_signpost
  • Android: Fragment/Activity lifecycle hooks
  • React Native: React Navigation listeners

Common Mistakes

  • Measuring only view appear (missing data load)
  • Not correlating source → destination
  • Ignoring warm vs cold screen loads

Related Skills

  • See skills/interaction-latency for button/tap response times (vs full screen loads)
  • Combine with skills/user-journey-tracking to correlate navigation with user intent