So the iPod Touch doesn’t have GPS built in, but it does provide location services if you have the right magic. If you were lucky and once you had hooked up to your local WiFi access point, your iTouch was just magically able to figure out where you were (at least a rough approximation – ie: within a block or two). If you were lacking magic, then you’ll be familiar with the “Your location could not be determined.” dialog.
The magic is due to Skyhook: They’ve taken the same information you’d gather wardriving – and turned it into a generally useful bit of data. Those of you that have regular GPS devices, will know how poorly they function indoors. However, indoors is exactly where WiFi works fairly well.
They have a reasonable How It Works page, where you can also submit your own access point if you don’t happen to be in the database. There are three bits of data you need to submit: your address, an email address for confirmation and your wireless MAC address.
If you happen to run DD-WRT on your router, it is very easy to find from the routers status page.
You’ll notice there are 3 MAC addresses: LAN, WAN and Wireless. The LAN address is the wired address for your internal network, the WAN is what is broadcast over your broadband connection and the Wireless is for WiFi. Skyhook relies on the latter, which is the MAC address that your iTouch is associated with.
I submitted my information on Saturday Sept 26th, and it went live on Monday October 5th. They say it may take up to 2 weeks. If you don’t get the right MAC address, it won’t work, so make sure you’ve got a handle on that.
You can check the coverage for your area, but with an iPod Touch you are limited to being able to make use of it only in areas where you have a WiFi connection as well. Why? Well, simply put the database is out there on the web – if you can’t find the database, you can’t look up your location. Of course with the iPhone, you can use your cell data connection to query the database and get the increased accuracy and/or have it work indoors.
While I figured this out the hard way, while writing this post I came across the following blog posting that covers this as well as other useful tips. There is also a slashdot article on Skyhook.