Only report region crossing when device has internet connection

Is it possible to defer region change events until the user has internet connection? The use case is we need to report the crossing to our server. However, if the user doesn't have internet, the request doesn't go through and we lose the background processing time to report the change when the user gets internet.


This is somewhat common, especially if the user is using underground transportation like the subway.

That's odd that you're willing to just forget that the event happened, instead of logging it for later. :-/

Especially since you're going to run in to the same problem in areas where there appears to be connectivity but it's too slow to use.

We can certainly log that for later but we still need the user to open the app to give us time to send the request. At that point it may be too late to process the event.

There's two points of order:

  1. When you file your enhancement request for this added functionality, try to do your best to explain how the current limitations are preventing you doing something really useful.
  2. I expect one of the reasons behind the current situation is "How could you know that the connectivity has gotten better?"

I mean, I've been doing a lot of driving through bad coverage areas lately, some of the bad coverage areas are "You have bars/dots, but still can't get data."

One approach would be to rely on Reachability to check for an internet connection, reacting app side to (a) alert the user and (b) allow the app to prepare for cached/pending location info when that connection is restored. Loss of communication can mean only one thing to both app and server, tho - time to engage the clutch on background processing until it's restored.


It would be up to the server to react on it's side by throttling updates in whatever holding pattern until it hears from the app again, the persistence of which is up to you to decide/calibrate. Bit of machine learning could help predict those and lessen wheel-spinning over time, perhaps.


I'd be interested in the background processing tho...it's only at risk on the percentage of devices using that app that are in a subway shadow, as one example - it is still delivering ROI on the others that are in daylight. Is it possible to combine those threads so that discards are leveled, instead? Presumably you've harvested stats on the effect based on a legitimate pool and you're asking because they show an actionable degree of waste.

Very, very true. I have filed rdar://38138611

Only report region crossing when device has internet connection
 
 
Q