Lessons From Young Rewired State
I spent last week hacking, and this is what I learned.
I spent last week programming at Young Rewired State, an event for 15—-18-year-old programmers (such as myself) to create useful applications with government data.
We were supported by Open Data Manchester, a group lobbying for Manchester Council to release its data publicly in machine-readable formats. Luckily for us, a week or so before the event, they had successfully obtained the bus timetable data from the council, which Ben Webb and Josh Pickett used to create a vaguely-live bus map and a bus timetable Web app. In addition, while we were programming, data was released on the locations of streetlights, highway trees and recycling centres.
The idea of the event was to take data released by the government and local authorities and ‘rewire’ it, putting the data to better use—demonstrating both the usefulness of releasing the data (thereby enouraging them to release more of it) and the talent of Britain’s young programmers (thereby encouraging them to support us more).
I learned a lot from working with other hackers of my approximate age, and the couple of mentors who came and visited us. I’d like to share some of what I learned over the week.
API’s Are Important
I kind of knew this already, but I really underestimated the importance of having an API to interface any data you have available. It’s really important. If you don’t have an API, people will screen-scrape your HTML source (or, god help them, your PDF’s).
Screen-scraping sucks. Once people start doing it, you’re stuck with the same markup you’re using. If you change it, people complain that their stuff no longer works with your site. If you don’t, you’ll fall behind with standards and be forever stuck with outdated source tags.
Make an API, which doesn’t have to adhere to standards of presentation markup, doesn’t get outdated, doesn’t need to change with markup fashions.
CouchDB: It’s Super Effective!
I did not know about CouchDB before. It’s a database program which is everything-oriented: document-oriented, object-oriented, just-chuck-it-in-there-and-forget-about-it—-oriented. It has a delightfully simple RESTful API—you can build an interface to it in any programming language in a couple of hours once you know how it works.
Once you’ve got an interface to it set up, it’s really simple to use—you can just drop any old crap in there and have it sorted in a particular way. There’s no specific schema like with SQL, so you’re not limited to a particular set of key/value pairs for entries.
It also maintains indexes based on the result sets you actually use, in the form of ‘views,’ which save result lists and update them dynamically in a manner similar to how Smart Folders work in Mac OS X.
Open Data Matters
I’ve long been of the opinion that the sorts of people who insist on using only open source and/or free software are pillocks. It’s open data formats that matter, so that if the manufacturer of the closed source software does start dicking around with customer’s rights, a switch away is relatively painless.
For some reason, I mentally grouped open data campaigners in with these people. I was completely wrong. Open data is really important. In Vancouver, Canada, all municipal data is openly released unless there is a good reason to keep it secret. Here, it’s the opposite—it’s closed until someone files a Freedom of Information request against it and gets it released.
Open data campaigners want it to be done the Vancouver way. Two out of the six people at YRS Manchester came up with cool applications and put them together in two days. Multiply that by every software developer in the country—including players like Google—and imagine what amazing and useful applications might come out of it.
Rhymes With Slick-Lead
At the end of the week, everyone from the various centres (Manchester, London, Norwich, Brighton) got together in London for presentations, pizza and cake. Needless to say, the event was pretty informal.
That didn’t stop one developer (who shall remain nameless) turning up in a businesslike suit, tie and shirt. When he made his presentation, he opened with a quote which I can’t remember and am too lazy to source, but the gist of it was put much more succinctly by Alan Kay when he said “the best way to predict the future is to invent it.”
He went on to announce that he had made a Windows Phone 7 application.
I have nothing against Windows Phone 7, but claiming that it is a revolutionary vision of the future is hyperbole too far. The iPhone was a revolutionary vision of the future. Windows Phone 7 is playing catch-up in a market they never dominated in the first place.
The Grab Bag
Other amazing stuff included:
HTML5 Is Awesome
Actually, I knew that already, but Ben Webb proved it to me by making these amazing spinners.
Tim Dobson Raps
So one morning you wake up and find this in your inbox.
Manchester Digital Laboratory
Their WiFi stinks, but they’re really quite awesome.
Overall
It was really awesome working with such an amazing bunch of guys. I completely loved it. Roll on YRS 2011. Let’s make it twice as awesome. (Next year, I’m going to build my app in HyperCard.)
Incidentally
toastwaffle is on the back-burner as something even more amazing is taking shape—of which more later.