Design System Problems

Offline State Design

January 15, 2026 • 5 min read

Offline State Design

Offline state design addresses how mobile applications behave when network connectivity is unavailable. Mobile users frequently encounter poor or absent connectivity. Well-designed offline states communicate connection status, provide access to cached content, and gracefully degrade functionality rather than failing completely.

What Is Offline State Design

Offline states encompass all UI and behavior adaptations when applications cannot reach network resources. This includes initial offline scenarios (no connectivity when opening the app), connectivity loss during use, and partial connectivity with slow or unreliable connections.

Offline-capable design treats connectivity as a spectrum rather than binary. Applications may function fully online, partially with degraded features, or minimally offline with cached content only. Design systems should specify behavior at each connectivity level.

User communication about connectivity status helps set expectations. Clear indication of offline status and what functionality remains available prevents confusion and frustration.

How Offline State Design Works

Connectivity indication shows current network status. Banners, icons, or subtle indicators communicate whether the application is online, offline, or experiencing limited connectivity.

Offline State Components:

Connectivity Indicators:
- Banner: "You're offline" at screen top/bottom
- Icon: Connectivity status in navigation
- Inline: Per-item sync status indicators
- Toast: Notification when status changes

Cached Content Display:
- Show previously loaded content
- Indicate content age or last update
- Visual treatment for cached vs fresh
- Clear indication of offline source

Unavailable Feature Handling:
- Disable unavailable actions
- Explain why feature is unavailable
- Provide alternative when possible
- Queue actions for later sync

Sync Status:
- Pending changes indicator
- Sync in progress indication
- Conflict resolution UI
- Retry mechanisms for failures

Cached content access provides value even offline. Previously loaded feeds, downloaded content, and local data should remain accessible. Content age indication helps users understand data freshness.

Unavailable feature handling clearly communicates what cannot work offline. Grayed-out actions, explanatory messages, and suggestions for alternatives help users understand limitations.

Queued actions enable offline productivity. When users take actions that require connectivity (sending messages, submitting forms), applications can queue these for later sync when connectivity returns.

Key Considerations

Common Questions

How should applications indicate offline status?

Prominent indication ensures users know they are offline. Banners at screen top or bottom provide clear visibility without being dismissible accidentally.

Persistent versus dismissible indication involves tradeoff. Persistent banners ensure ongoing awareness; dismissible banners reduce visual noise after acknowledgment.

Contextual indication shows status relevant to current action. Attempting to refresh might show inline message rather than global banner.

Status change notification alerts users when connectivity changes. Transitioning offline or back online warrants notification.

What content should be available offline?

Recently viewed content provides immediate value. Content the user loaded in previous sessions should be cached and accessible.

Core functionality content may warrant explicit offline storage. Key reference information, recent documents, and essential data might download proactively.

User-initiated downloads ensure specific content availability. Explicit download actions let users prepare content for known offline periods.

Storage limits require prioritization. When cache space is limited, more recent and more frequently accessed content should be prioritized.

How should offline actions be queued and synced?

Visual indication shows pending actions. Users should see that their action was recorded and will be synced when possible.

Background sync executes when connectivity returns. Queued actions should sync automatically without user intervention.

Conflict handling addresses divergence. If server state changed during offline period, applications need strategies for resolving conflicts.

Failure handling provides recovery options. If synced actions fail, users need notification and ability to retry or modify.

Summary

Offline state design ensures mobile applications provide value even without network connectivity. Clear connectivity indication, cached content access, graceful feature degradation, and action queuing contribute to robust offline experiences. Design systems should specify offline patterns consistently across components and features, ensuring users always understand what is available and what requires connectivity.

Buoy scans your codebase for design system inconsistencies before they ship

Detect Design Drift Free
← Back to Cross Platform Consistency