Skip to content
Felix Schumann
Editorial illustration: What should a desktop app do without an internet connection?
Journal / 16

What should a desktop app do without an internet connection?

Felix Schumann·

The agreed core tasks should remain available offline. Local storage, pending synchronization and functions requiring cloud services need clearly distinguishable states. My work on IXIOM and HandsOff combines desktop interaction with connected services. Offline capability is a deliberate product choice, not an automatic benefit of an installer.

Research checked: 2026-09-11 · Cover: AI-generated illustration

Group functions by their dependencies

I would distinguish locally executable work, changes that can synchronize later and tasks requiring a remote service. Drafting a note can work locally. A cloud-model request without connectivity needs a clear waiting state.

The interface must reflect this distinction. “Saved on this device” and “synchronized with the server” make different promises. Someone working on the move needs to know whether other people can already see a change.

Pending work needs a clear lifecycle

For later synchronization I would persist pending changes and expose their status. After restarting, the application should still know what needs uploading. Reconnecting must not unexpectedly execute an action that was already discarded.

Conflicts arise when several devices modify the same record. A second version may suit a draft. Shared customer information may need an explicit resolution. The rule should fit the work instead of silently allowing the last write to win.

The decision at a glance

  1. 01LocalUsable on this device
  2. 02PendingChange awaits synchronization
  3. 03SynchronizedServer confirmed the change
Our schematic illustration of the proposed approach, not measured data.

Keep local access bounded

Desktop applications can connect more deeply to the operating system than ordinary websites. Permissions therefore need to be deliberate. Tauri describes capabilities for defining access granted to windows and webviews.

For a custom application, I would justify required filesystem and operating-system access individually. Loading remote content must not incidentally expose the entire local workspace. Which data is stored locally and which interface may read it are different questions.

Tauri: Capabilities

Test disconnection deliberately

My test sequence disconnects during a change, restarts the application and reconnects it. A second device edits the same record. Define the expected outcome for each function before running these cases.

If you need a custom desktop application, we can start with the tasks that must continue without the internet. That gives me a concrete basis for interaction, storage and integrations. The product should remain understandable even when its next API call is unavailable.

Sources and further reading