This weekend was GiveCamp, a global weekend of charitable software development, organised in the UK by Rachel Hawley and Paul Stack. No one really knew what to expect, least of all Rachel and Paul, who’ve put in a monumental amount of effort of the last few weeks to pull this event off. It’s a simple concept; talk to some charities to find out what software they need, get a bunch of geeks together and code for 48 hours solid to produce that software. Easy in concept, right?
It all started rather chaotically; Andy & I turned up early at UCL to help Paul, but he was caught up in traffic after having to go collect the T-shirts after a delivery screw up. We managed to get a name for our local contact at UCL, who knew as much as us – almost nothing; she knew where we’d be and what time we were allowed into set rooms, but beyond that most of the information was stuck in Paul’s head. But things did start happening over the afternoon; people drifted in, the tea arrived and a fridge for the drinks. Then Paul arrived with a car full of soft drinks, and disappeared again for another cash and carry run and we had enough drinks for most of UCL. In the end we had stacks left over, much of which went to a local homeless shelter; yet more giving.
The room gradually began to fill, and then everyone decamped to the lecture theatre for the opening, then came back and coalesced into working groups for the projects. It was interesting to see how well this worked – order from chaos – with people spreading fairly evenly between the projects; 115 people, 9 projects. Herding cats has always been a phrase associated with getting developers organised, but this self-assembling worked and within an hour the project teams were formed; the team leads had been set before hand and knew a bit about their projects, but it was only during Friday night that everyone really found out the requirements. And this is the hardest thing, working with the charity representatives and setting only those requirements that could be achieved in 48 hours.
I was originally a roving agent, free to help out on anything, but was royally stitched up by Phil who introduced me the Latin American Women’s Aid team, whose project was going to be Microsoft Access based, trying to replicate their entirely manual process of filling in complex paper forms. And not only was it Access based, but the backend database was going to be MySQL, to ensure the data was safe in their one Linux server. My history of Access development had re-surfaced, like an ex-lover who you look on fondly, but then realise why you left them. Still, good cause so dig in I did. The technology choices proved to be a major hurdle in a project like this; Access is good at many things, but multi-user development isn’t one of them. To solved this, PDD was used – Plate Based Development – (s)he who holds the plate has control of the master database. It was particularly difficult going back to a product I hadn’t used in 10 years. It was frustrating trying to bend Access to do things it just isn’t really designed for. At 12am I gave in and headed back to the hotel – I’m too old to be kipping on floors – but despite the tiredness I couldn’t sleep, so got the laptop out and carried on, then realised how much I’d forgotten.
Back at the venue at 8am a few hardy soles were still coding, but sausage and bacon butties along with tea and coffee fuelled an influx of devs back to work and coding continued. We continued to fight Access and MySQL; we laughed, banged our heads in frustration and carried on. I even ended up remoting into my home server and downloading the original chapters from my old Access book so I could read up on how to do things, that’s how desperate it got. I made it until 1am.
Sunday started much as Saturday had; tiredness and an overwhelming feeling of despair that we wouldn’t get our project finished. The challenges were just too much, but we carried on so that at least we’d have a start of something and LAWA would have a way forward. We didn’t finish and didn’t deliver; the only team to do so; it hurt. Code freeze was at mid-day and we were nowhere near.
After a great hog roast in the sunlit quad, we had the wrap-up presentations where the teams showed their projects; some had yet to show what they’d done to their charity representatives, so it was nervous time for both sides. I sat and watched these with awe – really, it was awesome – seeing how much had been achieved within so little time. One charity representative started crying; they have three people and the web application they were presented with will save them a day per week of time. A day per week. Think about how much time that is and how important it is for a small charity. All the other projects were equally impressive – one was even already live – and one is a starting point for an open source CRM designed for charities; they delivered the first part and there’s a plan for future features. Go contribute.
So what have we learned over this weekend, the first GiveCamp in the UK.
- There are a large number of people willing to give their time and effort into helping others.
- It’s amazing what can be achieved in a short amount of time. None of these projects had much planning, features were defined quickly and coding started. No fuss, no arguments – well, none that really mattered – we just got on with it.
- Charities have little in the way of resources; money, hardware, skills. Every little bit we do can have a big impact.
Would I do it again? Hell, yes. It was tiring, hugely frustrating, but exhilarating and fun. And it’s going to change lives. I think Paul and Rachel deserve a huge amount of thanks (Rachel will probably settle for Haribo) for pulling this off; no one knew how it was going to work, or indeed, if it would work at all, but work it did and very successfully so. Well done all.
My photos for the day are on Flickr.