Refresh Oxford Hackday 3 and Project YARR

Yesterday was Refresh Oxford Hackday #3, kindly hosted and sponsored by Incuna (thanks, guys!) Some 15 or so local web developers - frontenders, technical programmers and other associated bods - descended on their offices, on the suggested projects for the day, and on the free burritos and pizza provided at mealtimes.

The initial project suggestions were heavily Python-oriented. While I'm no stranger to the language (I think you'll find I - cough cough - wrote two rather uneven chapters of a book on it) it's not really my speciality. Plus, I always think that PHP gets unnecessarily short shrift at these events, especially given the many exciting frameworks that, along with Drupal and Symfony, are provoking a renaissance in the old beast.

So when someone jokingly suggested the idea of building an RSS reader - after all, haha, Google are shutting down Reader soon, haha, so you'll make a mint! - I saw in this silly idea a great motivation to dig deeper into PHP, and find out what it can accomplish under pressure. I assembled a crack team - basically all the other PHP developers present - picked one of the newer frameworks at random (Laravel) and set to work on building Yet Another RSS Reader, abbreviated piratically to "YARR".

What still astonishes me today is that we actually managed to build a working application, covering the basics of a web-hosted RSS reader's functionality. Here's a screenshot of how YARR deals with an RSS feed from the BBC website:

Example subscription viewed in YARR

Not bad, is it? There are other screenshots referenced in the project's README file, showing how different users can log in and manage all their subscriptions. Obviously it's a world away from a professional, polished, UX-friendly, flexible RSS reader: the kind that we're all basically waiting for Maciej "Pinboard" Cegłowski to build and let us pay a small and surprisingly reasonable fee for. But it certainly shows you how much can be accomplished with one of the new PHP frameworks, within a very tight timescale, and with no prior understanding of the system.

Hackdays needn't always produce either working prototypes or usable software, but when you put YARR alongside all the other accomplishments from yesterday - including more improvements to Classy Class-Based Views, a Chrome plugin to interface with Trello, Python class documenting, and taming requirements across all languages - it's clear that this one was a success all round. Even the half-completed nonsense of YARR taught us a lot about frameworks, and about how to go about learning a new one.

But most importantly of all - and it's easy to forget this among all the other, flashier successes - we converted one more subversion user to git. Didn't you notice, when you woke up this morning, that - despite clouds and rain - the world seemed a brighter place? Well, you now know why.