I’m running some tests pinging my and my wife’s iphone to see if there is a reliable way to determine presence and absense. So far, my observation leads me to believe that numerous retries are required to know for sure if the phone has left, since pings can fail fairly often even when the phone is present, but it is asleep. To conserve battery, it is only responding periodically. The result of this is that any presence device using this method is going to be somewhat slow to declare a phone away in order to avoid false reports. However once the phone is definitely gone, when it returns it can be declared present fairly quickly since as soon as you get a good response from a ping you can assume it’s back.
I’m going to run these tests over another 24 hour period and then if it looks like it’s worth proceeding, I’ll look for one of you with an Andriod phone to repeat this analysis so we can understand the differences in response.