In a previous post I wrote up some discoveries I had made about using geofencing — region monitoring in iOS parlance — based on some testing I had done. I have since applied those experiments to a real world application and made some new discoveries, which follow.
Geofencing is where you define a virtual boundary around a given point, usually circular but it doesn’t have to be so. When the boundary is crossed (either to enter or exit the region, or both), something happens.
Originally, we had looked at geofencing as a way to bring users back to our app in an active fashion. That is, the user would designate a favorite location around which our app would create a geofence. When the user got near that location in their daily travels, our app would be notified and could show the user a notification, complete with a message and a sound. Sounds great! Geofencing notifications don’t work quite that way, however.
In fact, they work more like they do with Passbook, an iOS6 feature. I believe we made a fundamental mistake in our thinking. We thought the notifications for boundary crossings would happen no matter what the state of the device was. That is, whether the device was on or sleeping. It turns out, this is not the case (except for one exception.)
Rather, the manner in which Passbook seems to work is the behavior I too have observed in my own app. It is a model based on this idea: When the user actively (but on their own initiative) goes to their device for something, a relevant piece of information will be waiting for them on the home screen. This is a much more passive service: “If the user comes, we’ll be ready” instead of “Let’s get the user to come.”
This nuance became clear when I was driving around close to home, near my favorite Starbucks locations. I was near enough to one of them, and happened to look at my phone. Within about 2 seconds of turning on my phone, a Passbook notification appeared telling me I was close to a Starbucks. I would not have known this notification was there, however, had I not turned on my device. This is where it clicked for me. And in fact, with our app, 99% of the time I have to awaken my phone first and then I get our notification.
Now, there does seem to be one exception to this behavior. If I’ve had my device on very soon before entering a geofenced region, I will receive an active notification. That is, if I use the phone, turn it off, and then immediately find myself crossing a region boundary, my phone will wake up and present the notification automatically.
While I am willing to accept this behavior as a rare exception, it still doesn’t seem quite normal, and I can’t wonder if I am doing something wrong. On the other hand, the behavior where I have to manually wake up my phone and then I get the notification when the OS figures out I’ve crossed a boundary works consistently.
I’d be curious to hear from others about their experience with notifications as the result of geofence boundary crossings. We’d sure like to understand if this anomalous behavior is normal or not. But in the meantime, we’re happy to live with the notion that only when a user is already opening their device we present them with something they have indicated would be useful at their location, as if by magic. This certainly seems more like the way Apple intended geofencing to be used, at least.