Vodka Slushies, Tequila in a teapot and a clown with an overly dry sense of humour. I never thought to associate these things with a day of stressed development, but that’s what I got as part of the Touchlab Hackday.
I was lucky enough to be one of the thirteen members of the MIH Media Lab who were recently invited to travel to Cape Town and spend two days trying to develop something at the Hackday at Touchlab.
This was the first time I attended a Hackathon. I’d read of them before: a day or weekend spent drinking beer (side-note: alcohol seems to have a very special place in the hackathon), eating pizza, and producing a lot of code of questionable quality. Somewhat surprising, the reality turned out to be exactly that.
I came in expecting some sort of structure: a theme or an idea for us to play with and develop around. While there was a whiteboard covered in obscure drawings and ramblings it wasn’t what I would call direction. After standing around for a while, we were told that we were welcome to join any of the already existing groups, of which there were around eight, or we could just set up anywhere and work on an idea we had.
So we promptly set up in the kitchen and got to work. Now it is at this point that I want to impart some words of wisdom on what not to do at an event aimed at rapid programming while slightly inebriated. Do not develop using a language none of your team have ever worked with before. Do not try to develop using three laptops none of the people in your group have ever seen before. Do not accept Tequila from developers in rival teams. Okay, that last one is acceptable, just don’t do it twice in one hour. All of this unfortunately happened to the team I was part of, but we took it as a learning experience, and in the end I was quite proud of what we produced in little under a day and a half.
In total I would guess that there were about fifty to sixty people there split into about ten development groups. Projects included an information dashboard, an app that detects and plays music people close to you are listening to on their smartphones, an app for switching on appliances in your house remotely and a refurbished arcade cabinet. The team I was involved with decided to try and develop a small action platformer game (hardly surprising, we’re all part of the gaming research group at the MIH Media Lab).
Its only after the event that I came to a realisation on how to do a hackathon. Choose a project which requires as little actual development as possible. Find existing frameworks, code snippets, services and data sources as possible and integrate them into your project. Even if they don’t do exactly what you want them to, you’re trying to prove a concept rather than develop an actual product. Spending time refining a specific part of your project to much eats up valuable time. If, afterwards, you feel that the hacked together mess you’ve created is worth something, go back and rewrite it properly then.
Another interesting aspect of the event to me is that it’s not a public event, but a corporate one. Two days of paid work days for the people of Touchlab to work in different groups and experiment with their own ideas. Naturally, these ideas tend to be influenced by what they’re actually working on from day to day, meaning that even during this down time they might stumble onto solution or new viewpoints for current problems. Also, the work sponsored drinks and balloon-animal-making-clown give a sense of almost-vacation to the work place, helping the people who work there relax and take some time off, while still engaging in the aforementioned problem solving. To me it seems like a win-win situation, and something that should definitely be looked into by most small-to-medium tech companies.
All in all it was a fun, albeit stressful, experience. If we end up being invited again I look forward to another hack session at the Touchlab offices.