RSS


nabber timeline

  • Now we want to tax people that aren't citizens and don't live here? Can someone explain to me how we have jurisdiction? http://ur1.ca/99dat
  • Happy to see President Obama has an upset win for Purdue in his bracket http://ur1.ca/8niww
  • If I get another tax form correction I'm going to scream
  • Deer hiding from the rain in the back yard :-)
  • Dear montgomery county drivers, the speed cameras are set at 12 over the speed limit, not 5 under, thanks

Where Am I? - About


How It Works

I have created a custom application for my Nokia N800 internet tablet. It is not a GPS device, but it does have wifi, similar to most laptop computers. By using information about nearby wifi access points found during scanning, we can send that information to Google using its GeolocationAPI to get real world position information, including latitude, longitude, and address. This appears to be based on the Skyhook Wireless technology. This is the same method used by the Location-Aware Browsing recently included in Firefox 3.5.

The Website

I have decided to not to publish my extact location on public website for privacy and security reasons. So what I have done is decrease the accuracy by only publishing the postal code information. This provides a decent idea of where I am at (typically within an average ZIP code, a 10,000m diameter) and gives you an idea of what neighborhood I am in. It is more descriptive than just publishing at the city level.

Accuracy

In a major metro area like San Diego, the system works extremely well. Multiple wifi access points are usually available allowing for a location that is usually correct within about one city block. I expect this method to be signifcantly inferior to GPS when it comes to rural environments. In fact if no wifi access points are in the area the location CANNOT be updated.

The Application

The application is written in python and scans periodically for new access points. It takes the MAC addresses, SSIDs, and signal strength and sends it to the Google Geolocation API. Google typically returns a street address and latitude and longitude, along with accuracy information. The application then takes this information and submits it to my webserver. Note that a wifi CONNECTION is not required since the N800 can be tethered to a mobile phone for constant internet connectivity. All location information is encrypted while in transit with industry standard SSL.

GPS Emulation

I also added a GPSD mode for use with Maemo Mapper application. GPSD is one method that can be used to provide GPS information into the application. My application simulates a GPS device and can compute heading information and provide signal strength information about the nearby "satellites" (actually wifi access points).