Introducing Gargoyle - The Geospatial Web in Your Pocket
December 13, 2007
I have just finished v0.1 of Gargoyle (yes, it’s a Snow Crash reference).
Gargoyle is a python application that periodically queries your location via GPS and then checks to see whether you are withn range of an item on your watch list. It is written to run on Maemo devices such as the Nokia N800 and N810 (and possibly the 770, too).
The watch list can contain such items as “any chinese restaurants with ratings of 3.5 stars on yelp and above” or “any locations mentioned within the last week in boingboing posts” (GeoNames is invaluable here). They won’t be defined in quite the flowing natural language seen here, but the possibilities are still mind bogglingly exciting.
If you are wearing a bluetooth headset, it then it uses flite to read to you some information about the item on your watchlist based on a particular prompt for that item. This will be something like “[Name] is [Distance] away, rated [rating] stars, and located at [Address]” for the restaurant, and “This location is mentioned in [Post_Title], [Post_Author] says [Location_In_Context_Sentence]” for the BoingBoing tracker.
But all this stuff is to come. Here’s what the current version, which mostly amounts to a proof of concept does: it tells you the name of the town you are in using geonames, and then it finds the single nearest pizza place within half a mile and tells you its name, address, and distance.
So you want to test it out? Here it is: Gargoyle v0.1 (WARNING: ugly, hacky, raw code. Not for the faint of heart.)
But there are some things that you need to do before it runs:
- You need the following packages besides python: python-gpsbt (it's on the Maemo Extras repository)
- You need flite installed (same repo).
- An Application ID from Yahoo that you need to insert in the right location in the code. You can get them HERE. Note that the Yahoo links point to the same address with https:// instead of http://, it will even redirect you there after you login. you'll likely have to manually change the address back to http://.
I think that about covers it. Play around with it if you’d like! Comment with suggestion, criticisms, and whatnot. Don’t start coding patches and such just yet, since this is a POC. I’m going to actually follow a design I had previously prepared in creating Gargoyle v0.2, and that’s when I will welcome many patches, design discussions, and so forth.
This software is provided under a BSD-style license found in the header.