Blog

Azimuth Treasure Hunt App: Release the Hounds!

As Eric already indicated in a previous post, this past weekend 4 members of the OpenSource Connections team competed in Rails Rumble 2008.  We built a Ruby on Rails app in less than 48 hours, which we called Azimuth and you can see it online here.

Azimuth is a fun little app that allows you to create “treasure hunts” for your friends, where they get SMS text messages indicating what the next clue is.  They have to go find the “treasure” related to that clue, and then text back to Azimuth that they found it.  To prove they found it, they have to either text back the latitude and longitude of the treasure, or text back a “key” word, which presumably the person who organized the hunt would have left at the site of the treasure.

It was a lot of fun building the app, and although it was an intense weekend, I think we all really enjoyed it.

But to put Azimuth to the test, I decided on Monday night to setup a treasure hunt for my sons and some neighborhood kids.  I hid five post it notes around my house, each with a “key” written on it.  I opted to go for keys instead of lat/lng coordinates since I was doing everything in a limited geographic area, and I dont have a gps device.  But for wider hunts, you could also use lat/lng.

Then I got my sons and a few of their friends together, gave them my cell phone, and told them how it worked (in case youre wondering, yes, my son is wearing a box in the picture.  he does own clothes, hes just building his own halloween costume and likes to wear it!).  My sons havent texted much before, but two of the girls from the neighborhood who were over at our house already know all about texting.  So they had no trouble with my phone.

It was great watching the kids as the ran from one part of the house to another trying to figure out the current clue.  After they found it, they would text back to azimuth a message like “azimuth2 piano”. This indicated that they had found the blue post-it note I hid on the piano, which used the “treasure” keyword piano.  The “azimuth2″ prefix on the message is required for all messages. This allows the free SMS toolkit we used, Zeepmobile, to know what software app to send the message to.  Our code then receives the text message on a landing page and processes it.  If the code determines that the key the kids typed was correct, then our website immediately sends them a follow up text with the next clue.  If they mistyped the key (which they did at one point), then a text message gets sent back letting them know to try again.

The kids absolutely loved the game, and Im probably going to get in trouble with their parents because they went home asking to borrow Mom and Dads cell phone and play another game.

My oldest son really likes the whole idea, and so he immediately went about setting up his own treasure hunt.  He and I typed the clues into the azimuth website, and then sent the kids on another hunt around the house.

Regardless of whether or not we rank well in the Rails Rumble contest, I hope we will be able to continue hosting this site somewhere and begin to more actively promote it, since I think a lot of people would enjoy it.  The code isnt bug free right now, but I think its actually pretty impressive how close we came to a bug free solution in only 48 hours.  That says a lot about the ease of Ruby on Rails, as well as the quality of my teammates.

Speaking of my teammates (who rock), heres a photo of the team having a toast at the end of the celebration.

From left to right:  Arin, Michael, Youssef, Ashish, and Eric.  And just for the record, Michael wasnt actually part of the Rumble team, he was there working on another project for the weekend (Rumble teams are only allowed four members).  Dont we kind of look like the power rangers in our multicolored shirts?

To wrap up, is Azimuth just for kids treasure hunts?  Heck no!  I can see all kinds of people having fun with Azimuth: college fraternities or sororities, high school kids, scout groups, co-workers, pretty much any group of people looking for a fun twist on scavenger hunts.  You can setup a hunt around your house like I did, or around your town, or even around the world!  Theres pretty much no limit to the fun you can have with this.  My wife is already planning a neighborhood treasure hunt for the next block party.

Oh, and please vote for our app in the Rails Rumble contest!  Youssef really wants to win.  Seriously.  The guy woke us all up early Sunday morning saying “I want to win!”  He must want that kung fu lesson with Chuck Norris.