Heavy transfers on cellular need an explicit go-ahead
Aliases: metered connection · cellular warning · Wi-Fi only download
What it is
On cellular, or on a link the OS marks as metered, an operation that will burn tens to hundreds of megabytes—HD video, an offline map pack, a full backup, a course cache—needs a yes before it starts. Unlimited home Wi-Fi trains "just finish it" as the default; the same job on a prepaid SIM, roaming, or a tethered hotspot becomes a bill. This entry is whether a large transfer asks. It is not whether the UI can keep working on a flaky link, and not how background wakeups get named on the battery screen.
Why it happens
Mobile plans cap by volume or by day, so operating systems distinguish Wi-Fi from cellular and let some hotspots be marked metered. An app that only asks "is there a network" and not "is this a network that costs money" will pull an 800 MB course cache while the person thinks they are on hotel Wi-Fi and are actually on a phone hotspot. The confirm is about volume and the billing path, not about desire to watch: they may want the video and still choose to wait for Wi-Fi. Starting silently and announcing "downloading" in a notification is too late—the bytes moved before the notification was read. A system "Wi-Fi only" switch is a path constraint, not a substitute for a size forecast on a single huge job. With the switch on, people feel safe; one misclassified path still empties the month's quota.
Studying it
Compare auto-start versus size-then-confirm on metered links, not completion rate on unlimited traffic.
Independent variables: network class (unlimited Wi-Fi / cellular / hotspot marked metered), whether estimated size is shown, blocking confirm versus notify-while-already-downloading. Dependent variables: whether the transfer starts, cancel rate, bytes actually moved, billing or quota complaints.
Unlimited lab SIMs make the confirm look like friction and tempt the team to delete it. The people who care are prepaid and roaming users; the sample has to include them. A wild size estimate wrecks trust: promise 20 MB, move 200, and the next confirm is tapped through or read as a lie.
Where it stops holding
Streaming can play while fetching; size cannot be known exactly. Report bitrate and "about this much per minute" rather than a fake package size. When a system low-data mode or an enterprise policy already forbids cellular transfers, another confirm is noise; say the policy blocked it. A few thumbnails or a polling round-trip are not "heavy." Confirming those every time trains people to allow without reading. An urgent case (downloading the current city offline pack because a dead zone is minutes away) can be a short choice with a default, not a setting buried off the path.
Applying it
- On cellular or metered links, announce size and wait for a go-ahead before transfers above a clear threshold. On Wi-Fi they may start by default, with a way to turn auto off.
- Make "download on Wi-Fi only" a discoverable path constraint, and still confirm when the path is misclassified as Wi-Fi (personal hotspot).
- Verify by tethering to a hotspot marked metered and triggering an offline pack or HD cache. Sustained cellular traffic must not start before the confirm. The number in the copy should match system data stats within an order of magnitude, not miss by a factor of ten.