Background sync frequency trades freshness against battery
Aliases: background fetch · watch push · freshness tradeoff
What it is
A watch, with nobody touching it, still has to pull mail snippets, health samples, and calendar changes to the wrist. Each background sync wakes a radio or asks the phone. More often means a raise is more likely to see “now”; more often also means the cell dies faster. The trade is freshness against battery, and the object is the whole-device background pipe (notifications, samples, inbox)—not one complication slot’s timeline budget. A phone can afford to keep push relatively generous. A watch cell does not allow the same policy copied over.
Why it happens
The cost of a background sync is the fixed overhead of a radio session, barely related to how many bytes that session carried. Cutting the interval from fifteen minutes to thirty seconds multiplies count by tens, idle drain by the same factor, while perceived “newness” does not improve linearly—most queries do not need second-scale freshness. Push is cheaper than poll when nothing is happening, but if every change is marked high priority, push degrades into poll in disguise. Watches often relay through the phone: one sync may be “phone already has it → forward to the wrist,” two hops spending two batteries, while people only blame the watch for not lasting the evening. Late data that still looks like now (a timestamp still precise to the minute) lets a freshness failure masquerade as correctness until someone checks the phone.
Where it stops holding
Safety alerts, fall detection, and navigation corrections must not enter this trade to “sync less”; their delay has a body cost. Large packs that should run only on charge or Wi-Fi (face assets, music libraries) must not mix into the all-day small-packet pipe, or daytime budget is spent moving files. With no phone and no cellular the pipe does not exist, freshness is zero, and the UI must admit “not now” rather than spin on the connected interval. An enterprise mailbox that demands instant arrival takes the trade away from the product; the battery UI should book that cost so people see policy, not a fault.
Applying it
- Band sync by the question: must-arrive-now goes on push; hourly is enough for a windowed fetch; needed only when the app is opened should not background-fetch at all.
- Do not let apps mark every change high priority. Cap high-priority slots per day; after the cap, drop to windowed sync.
- Stamp data with “sampled at.” Values past that question’s acceptable window should look old, not stay live to the minute.
- Verify by moving one class of background from “as instant as possible” to a window that matches the question, and log median arrival delay against the battery curve in the same days. If delay stays inside the question’s tolerance and evening charge rises, the old cadence was spending sync frequency to fake freshness, not serving raises.
Related
- Within the group: K4.08.1 Always-on display and frequent interaction drain a small watch battery · K4.08.3 Low-power mode should degrade nonessential visuals and sensor sampling · K4.08.4 Expected watch battery life shapes tolerance for interaction delay
- Adjacent: K4.06.3 Complication update rate is bounded by battery · K1.09 Power, Data, and Weak Networks · K8.02 Multi-device State Sync
- Search terms:
background fetch·push versus poll·freshness battery tradeoff