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
onNavigationStart- user taps (source screen)onViewAppear- destination view visibleonContentReady- 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-latencyfor button/tap response times (vs full screen loads) - Combine with
skills/user-journey-trackingto correlate navigation with user intent