Features
What is background sync in an app?
Background sync is the part of an app that carries changes between the phone and the server without the person doing anything: queueing what they did offline, retrying uploads that failed, pulling down what changed elsewhere, and settling the cases where two people touched the same record. It’s the half of offline mode the person never sees.
- $44,000 – $61,000
- A customer app that holds work on the phone with no signal
- $48,000 – $68,000
- The same app, sending that work back to the server
- $4,000 – $7,000
- What sync adds on top of holding the work on the phone
Measured against the estimator’s reference build: a customer app for iPhone and Android with accounts, two kinds of user, notifications, document uploads, and a web page for the office, with nothing built behind it yet.
Written by
WhatWillMyAppCost
We build the estimator this site runs on, and we design and build custom mobile and web software for a living. Every figure on this page is the estimator’s own output.
What does background sync do?
It moves data both ways while nobody is watching. Changes made on the phone go up when they can. Changes made in the office come down when the phone asks. Neither side gets to assume the other stood still in between.
Up. Everything the person did while out of range, sent in the order they did it, once the phone has a connection worth using.
Down. Everything that changed in the office while they were gone: a job moved, a customer’s address corrected, a record closed.
Once only. A change that gets sent twice, because the first attempt died halfway, applies once. Double entries are the classic sync bug.
In order. A record can’t be updated before it’s created, even if the update reached the server first.
Who wins. When the same record changed in two places, one version stands or both are kept, and the software does whatever you decided.
Nobody briefs the last three, and they take longer than the first two.
Why does sync need decisions before it needs code?
Because every conflict has more than one right answer, and software can’t pick. A dispatcher and a technician edit the same job an hour apart, one of them offline. Which version stands is a question about your business, and the engineer building sync needs the answer on day one.
- The sentence in the brief
- “It syncs when it’s back online.”
- What has to be decided
- Who wins when two edits collide. Whether a change made on Tuesday can overwrite one made on Wednesday just because it arrived later. What the person sees when their work was overruled. How long a queued change can wait before somebody in the office is told it hasn’t arrived. Whether a record deleted in the office can be revived by a phone that didn’t know.
Synchronization is where offline apps actually get expensive: queueing changes, retrying safely, resolving conflicts, and never losing a record a user believes they saved.
What does background sync cost?
$4,000 – $7,000 on top of holding the work locally. The reference app prices at $44,000 – $61,000 when it can hold work on the phone, and $48,000 – $68,000 once that work has to get back to the server reliably.
Sync without offline is a real thing to build, and the estimator prices it: $5,000 – $7,000 on the same app with every screen online. The estimator treats that as a feature on its own. If what you mean is keeping in step with software you already run, that’s an integration, and a different line.
Run the description with offline in it. Sync comes on with it. In the result, open “Did we get something wrong?” and switch “Background synchronization” off to see the holding half on its own.
On an app that already exists, the offline guide does the pricing.
Background sync or live updates?
Sync is for changes made while the phone was out of touch, caught up later. Live updates are for everyone seeing the same thing at the same moment. A brief often says “real-time sync” and means one of them. They’re two different pieces of engineering.
- Background sync
- A phone that was out of range for an hour catches up when it’s back. Built around queues and retries, with a rule for who wins. Nobody expects it to be instant.
- Live updates
- A dispatcher moves a job and the technician’s screen changes while they watch. Built around the phone staying in touch with the server the whole time. Instant is the point.
If what you mean is “the technician sees changes when they come back into range,” that’s sync, and it’s paired with offline mode. If what you mean is “the board in the office changes as jobs close,” that’s live updates, and it’s a separate line.
Background sync carries changes between the phone and the server on its own: up when the phone can, down when it asks, once only, in order, with a rule for who wins. It’s the half of offline mode the person never sees, and the half with decisions in it. On the estimator’s reference build it adds $4,000 – $7,000 on top of holding the work locally.
Decide who wins when two edits collide before the build starts. It’s the question about sync only you can answer.
Questions people ask next
Does background sync run when the app is closed?
Partly. Phones let an app do a little work in the background and cut it off to save battery, so the reliable moment is the next time the app opens. Good sync is built to finish the job then, and treats anything that happened while closed as a bonus.
Why does the server need to change for sync?
Because it has to say what changed since a given moment, and accept changes that arrive late and out of order. A server written for an always-online app usually can’t do either yet, which is why sync on an existing app is mostly server work.
Can sync lose data?
Badly built, yes, and that’s the failure everyone remembers. The promise is that nothing a person believes they saved is ever lost, and a good part of the build is keeping that promise on a one-bar connection.
Do I need sync if the app is always online?
Usually not. If every screen can require a connection, changes go straight to the server and there’s nothing to catch up. You need it when work happens apart from the server.
Is sync the same as backup?
No. Backup copies data somewhere safe on a schedule. Sync keeps two working copies in agreement as they change. An app can have either without the other.