06/18/2010, 04:04 PM
Homing Device is a location app that is controlled by text messages. It's really simple and works like this: You define a "trigger" word (basically any combination of letters/numbers) and then you share that trigger word with people with whom you want to share your location. When they want to find out where you're at, they just send you a text message with that trigger word somewhere in the message and Homing Device will get a GPS fix and send back a formatted google maps link with your location to them. My wife and I use this to locate each other quickly. It works automatically without any user intervention, but the request and response text messages will still show up in your chat thread so that you always have a history of who was requesting your location and when.
While it's far simpler and less sophisticated than server-based location apps (like Google latitude), it does have some unique advantages:
* No server in the middle. When someone wants your location, it's a direct "point to point" request/response - your location doesn't get sent to any server or other cloud-based system.
* Because it only gets a GPS fix when a request comes in, it's easy on your battery.
* There is no special client app needed to request your location - all that's needed is the ability to send/receive text messages and the ability to open a google maps URL. (either in a browser or a dedicated google maps app)
There are only 3 settings in Homing Device that need to be defined:
Trigger Word: This is the special word you define that is used to get your location. It cannot contain spaces, but otherwise can consist of any combination of letters and numbers. (case sensitive)
Destination Phone Number: This is the phone number Homing Device will send your location to when it's requested. Alternatively, you can check the "Return to Sender" box and it will send your location to the phone number of the person who requested it. (this is what I use, and is likely what most people would want)
Who can request my location?: This is an optional "whitelist", in which you can define the phone numbers of people you are allowing to request your location. So if you only want your wife to be able to request your location, you would put her phone number in this list. Anyone else who might request your location - even if they use the correct trigger word - will be denied. By leaving this list empty (the default), you are allowing anyone to request your location.
Things to keep in mind:
* It runs in the background as a dashboard application. If you swipe away the dashboard, it will close the app and will no longer be "listening" for incoming text messages. This makes it easy to know when it's on and when it's not.
* This application is utilizing some non-public API's. There is simply no way to make it work otherwise, and because of this it must be a homebrew app. It's always possible (though probably not likely) that a future WebOS update could break this application. (if that happens, I'll certainly do my best to fix it as quickly as I can)
* The GPS on the Pre will fall back to using cell-tower triangulation if it cannot find any satellites on which to fix. This will result in a not-very-accurate location. This typically only happens if you are inside a building and not near any windows. I'm still tweaking the GPS-related code in Homing Device to try and get the most accurate location in the shortest amount of time, but if the GPS simply can't find any satellites than it may take a few minutes to send the result.
I wrote this for my own use and have been running it for a while successfully, though I figured there must be others out there who would find it useful as well. Please let me know if you like it and if it's working for you. If you have any suggestions for making it better, please let me know that too. Thanks!