Skip to content

Flutter · 1 min read

Building Flutter apps for people with no signal

Warehouse basements, rural delivery routes and hospital wards break the assumption behind most mobile apps.

By Zainab Ali ·

Most mobile apps assume connectivity and degrade badly without it. If your users are drivers, warehouse staff or nurses, that assumption is wrong for a meaningful share of their working day.

Local first, sync second

Write to a local database, always. The network layer's job is to drain a queue in the background, not to be in the path of anything a user does. A driver capturing a signature should never see a spinner, and should never care whether the request succeeded.

Decide your conflict rules before you need them

Two devices will eventually edit the same record offline. Last-write-wins is a decision, not a default — make it deliberately, and write down who wins. On a retail POS we built, the rule is that the till serving a physical customer beats the website every time. That is a business decision, not a technical one.

Compress for a bad uplink

Photographs are the usual killer. Resize and compress on device before queuing. A 4MB proof-of-delivery photo on a 2G connection in a basement is a sync that never completes and a battery that does not last the shift.

Zainab Ali

SoftCity Solutions

Talk to us about your project

Keep reading

More from the blog

Let's talk about what you are building

A 30-minute call, no deck and no obligation. We will tell you honestly whether we are the right fit — and who is, if we are not.

Or call +923019278056 · We reply to every enquiry within one working day.