My goal for HackU was to do cool things with maps the hard way. I knew I could do something with maps online. I knew I could access YQL XML through PHP and Python. I knew I could make something interesting with normal Web technologies. For those reasons I specifically ignored normal Web technologies and decided that I would do all of that and more on an iPhone. And that is where my journey began.
It was Wednesday night. I had just heard talks from the creators of SearchMonkey and PHP. I had heard about Where On Earth (WOE) IDs, YQL, and various other Yahoo! APIs. Now I just needed to figure out what in the world I was going to do with it all.
I came into the event with my first set of goals: get a a native map with Yahoo! tiles working on my iPhone, then proceed to figure out WOEIDs. The first was non-trivial but I had been working on an open source mapping library for the iPhone, Route-Me, for the past few months which allowed me to simply write up a way to access the tiles. The next step was an interesting one, thanks to Paul Tarjan's hack that allowed you visual access to WOEIDs. After messing with this I figured that all I had to do was find the woeid of the user's current town and then recursively traverse the WOEID hierarchy to find all the leaf-nodes.
It turned out most of the leaf-nodes of interest were schools and parks, which are certainly interesting, but weren't enough for me. So at 6am I started writing my first Web service, an extension to WOEIDs that I call POEIDs (Place On Earth IDs). Currently, the site just allows you to add new POEIDs given a name of a place and an address. I also created a YQL Open Table to allow me to use my system with YQL. A few lines of code in my iPhone app and now I could access my new points in my app.
The final jump was to give the user context. I created an "I'm feeling lucky" style search with YQL of 'city name' + 'place name' to serve up the relevant search result within my app.
After 24 hours I had a program, I accomplished so much more than I ever thought possible. I have both screenshots and a more in depth description available on my blog. Please feel free to leave comments with feedback, as my plans are to continue developing this product to make it something polished and shiny for when I fly out to visit Yahoo! for the University Hack Showdown