Leeds Hack Day and FindMe (#hhhLeeds)

It sounded interesting so I thought I’d give it a go. As the event details at http://hackdayleeds.eventbrite.com/ say, “The aim was to show journalists how to use programming and design techniques to create online news stories and features; and vice versa, to show programmers how to find, develop, and polish stories and features.” Also, given that one of the sponsors of the day was Scraperwiki, I think there was also an element of advertising their software. The day was interesting, even if I ended up working on my own. Also finally got to meet nalsa in person as well.

A few weeks before the event I thought it would be interesting to investigate geolocation as a possible project. Doesn’t get more local than a map with a big arrow saying “you are here” after all. I have a phone with GPS and I’ve seen various sites such as Twitter, Facebook and indeed Livejournal use some form of it to get someone’s address. While it might be interesting to know that a tweet was made from the financial quarter, it isn’t particularly useful, especially if you’re the person there. Of course there are services like Google Maps and Orange Local, but these tend to use a lot of data and are more a means of location based advertising. What I thought would be useful would be a basic “find me” page that displayed a few bits of information such as the nearest street and postcode, possibly a small map and perhaps links to the nearest bus stops and railway stations. Sounds reasonably straightforward but getting hold of the data certainly is not. The official source of postcode data is the Postcode Address File which is published by the Royal Mail but which costs money. The Ordnance Survey has street and postcode data available free of charge but these are in separate tables. This data has coordinates in OS Easting and Northing format but the geolocation support built into web browsers is in Longitude and Latitude format and converting from one to the other requires some hideous maths. Thankfully the OS also provide details of an app that will do this.

The details of what I did to get all this data in a usable format are too boring to go into, but what I eventually ended up with something that looks like this:
Screenshot of the #hhhLeeds FindMe app. With geolocation as w... on Twitpic
The example here has a postcode embedded in the URL but it uses geolocation as well. I also gave a presentation about it, as below:

Quite impressed with how I did there given I was speaking without notes to an audience I’d only just met and it was being videoed as well.

At the moment the FindMe app isn’t for public use as it’s running behind a plethora of firewalls on one of my home machines, but I’m working on getting it converted from ASP.Net and SQL Server to PHP and MySQL and putting it on my website somewhere at www.nukesoft.co.uk.