I was pitched yesterday by a local location-based-services start-up. I’ll not mention the company unless I get the nod from the founder. At one point I asked a question about location processing and while it was a slightly technical question, it caused a pause.
Most location services use either geofencing or check-ins.
Check-ins are where you hope that the user is so addicted to your services that they will remember to check in by launching your app. Tapping the “Check In” button then sends a message to the company server and your check-in is saved in the cloud. In my opinion, if your service relies on check-ins, then you’re an idiot.
Geo-fencing is a “virtual perimeter” service. The software maps real-world locations onto a virtual map and the software takes action when you move around in the real world because you may cross a virtual fence on the virtual map. This is the sort of technology used in criminal tags, for security of physically located services or for the protection of children or vulnerable adults. For this to work, location-based services have to be running constantly on the device. And when a match is found, EITHER a message is displayed on device or a message is sent to the GeoFence server.
The question is: is location processed on phone or in the cloud?
When the device moves and crosses a fence, does the software on the phone calculate this on its own from a locally stored database or is the location of the device sent constantly to a server in the cloud and compared to a database on the server.
Nearly every GeoFencing solution I’ve seen so far processes location in the cloud. This has some personal data security implications obviously (for those people who don’t like being tracked) but I’m more concerned about the data traffic and the drain on the battery.
A better solution, in my opinion, is to download the database of geofences to the device. A geofence, in its simplest form, is a point location and a radius. In theory, the entire database for a business could be downloaded quickly over a 3G connection. The location service checks location against the internal database and if it finds a match, posts a notification to the device screen or sends a message to the GeoFence server.
There’s a hundred uses of GeoFencing though I’ve seldom seen it used for anything really interesting. That’s a real shame because once you remove the security implications, it’s amazing technology. These implications are mostly in the minds of paranoid net-geeks and journalists desperate for a headline.