My biggest gripe with geofencing is that most apps that implement it do not allow you to set the radius for the geofence. For OmniFocus that means that even driving by certain places will set off the reminders. This is not only not helpful, but I find it downright annoying.
Sometimes a wide fence is good, but most of the time you need the geofence as tight as can be — say 10 yards. Even at that it’s just not accurate enough most of the time to be a feature I find useful in day to day situations.
With perfect input, I’d agree, but that’s not realistic for one critical reason: geolocation isn’t accurate enough, especially indoors, and especially for geofencing.
In my house, my iPhone can rarely get a GPS fix that’s more accurate than about 25 meters. This is fairly common for indoor use. And geofencing doesn’t even use full GPS, since that would use too much battery power. From what I understand, it uses a low-power technique based on cellular triangulation, much like the location services on the GPS-less original iPhone. This saves your battery, but it’s not very accurate.
So even if an app creates a geofence with a precise location, it doesn’t really matter since the triggering mechanism is based on a far less accurate location service. And if the geofence radius is too small, these inaccuracies might often make it fail to fire.
Instapaper’s geofence radius is 50 meters. (A typical Manhattan block is about 80 meters on the short side.) I didn’t want it to fire every time you walked to the bathroom, but I also didn’t want it not to fire as you walked two blocks to the subway. It can’t be much smaller without losing reliability, and it can’t be much larger without losing usefulness.