Sketch realistic offline-first journeys: first run with empty cache, periodic background sync, user-triggered refresh, and deferred uploads. Capture states, error messages, and recovery paths. Celebrate successes visibly so learners feel progress even when bars drop to one or disappear entirely.
Plan with bandwidth budgets: define acceptable payload sizes, compression ratios, and retry windows. Measure practical latencies on legacy Android devices and shared tablets. Design pages that stream progressively, cache predictively, and warn politely before large downloads start on costly connections.