Code Trip
video
 
 

GPS

Throw a bunch of geeks on a bus with a blog and an IDE, and after a while they'll start geotagging everything they do.

GPS Receiver

We are using two QSTARZ BT-Q818 receivers to get a lock on our location. This receiver is a great, inexpensive Bluetooth GPS receiver. It has an amazing ability to lock on multiple satellites from locations where you normally wouldn't with other receivers. We've been able to get a fix on our position in the middle of concrete buildings with no windows in sight (like our presentation in Missoula). It has a 30+ hour operation time on a full charge, uses mini-USB to charge, and has a power-saving standby mode if you move out of Bluetooth range. Standard NMEA-0183 data is broadcast from this device making it easy to implement in applications and GPS components like GeoFrameworks .NET components, for example.

PositionUpdate

The GPS unit is used by PositionUpdate, a .NET WinForms application that runs on the bus. It tracks our position to the second, and updates the site with our current movement data every minute (depending on connectivity). Data tracked includes position, speed, and bearing.

PositionUpdate displays our location in human readable terms (i.e., '4 miles SE of Missoula') on the bus in the same way locations are described on the web site.

The Map

With the GPS data on the server side, the web site uses this to feed to the Virtual Earth map that you see on our home page. All our events are geotagged and displayed on the map, as is the current position of the bus. Using ASP.NET AJAX, the bus position on the map is updated every minute or two... if you stared at the screen for a while, you can watch it move as we do. (You probably want to do this when the Travel Info lists us as "moving" though. :)

Geotagging

GPS data gathered is also used for content we post on the site. Whenever we post, that content is geotagged using our current position. (Look on the Travel Log on the right side under the author's name... that's where we were when that post was published.) People on the bus don't have to do anything extra to geotag their posts... it's automatic.

With the GPS data in our feeds, you can feed it into other web apps and do some fun mashups. Here's our main feed as displayed by Google Maps, for example. Spatial representation is getting more popular by the day -- consider how you can represent your own content on a map and deliver more value to your users or customers.