It was Saturday and an early autumn rain provided a perfect setting for our first company hackathon. We gathered in a coffee room with a lot of caffeine. A feeling of excitement could be felt in the air.
There was not much to be said; everyone already knew what to do. The preparations had started more than a month earlier. A 2×1 meter board had been dedicated as a central gathering point for ideas. During the coming weeks, new ideas were being added and old ones refined. At some point teams were formed based on their preferences and skills. A week before the hackathon teams were starting to research, gather hardware and prepare mockups.
That Saturday more than twenty participants were working on seven projects. The projects varied in their application as much as in technology. Some of the projects were completed, some were a bit short on time. But all had at least a working prototype and provided a great team building environment.
Here’s the list of projects with a short description for each.
1) Let Me In
Our office doors can’t be opened from outside, even if they’re unlocked. Its physical keys are high-tech and complicated to make, so we decided there is a better way to enter. Five Minutes does mostly mobile applications and almost everyone has a smartphone. Pair that with an internal web app, Arduino and user authentication, and each phone becomes a key.
Technologies: Android, Titanium SDK, Grails (Groovy), some hardware hacking.
After moving in to our new office, we got a ping-pong table and put it in a dedicated room. But we often didn’t know if it was occupied and there is really no reason to walk if you can ping it. Motion detectors + micro controllers + arcane low level languages + ethernet interface = presence detector that can be accessed over a network.
Technologies: All wires and electronics.
3) Get Milk
A codename for the application that helps with common office tasks and event organization. Users can make requests and others can “bid” how fast can they accomplish them. “I can get the milk on my way to the office. I’ll be there in 5 minutes.”
Technologies: Java on the server side, Android, Windows Phone 7.
4) Live Streamer
There are a few platform specific applications that can stream part of the desktop screen to the specific device. Those applications are of great help to designers because they significantly speed up their workflow. Live Streamer was an effort to create a cross-platform desktop client that could stream to multiple mobile platforms.
Technologies: Python, iOS, Android.
5) Office dashboard
This is a project of our ShoutEm colleagues. It is a desktop application that runs full screen and shows widgets. They can be programmed and simply added as plugins. They can show Twitter or RSS feeds, analytics data, images and pretty much everything a programmer puts his mind on.
6) Opponent finder
After we ping the ping-pong room for status, it would be nice if we could easily find someone to play with without walking around and pulling others from “the Zone”. Opponent finder is a real time web application that matches pairs when someone says he is free for a game.
Part of the company uses Asana for task management. Having all tasks and issues in the same places ensures nothing is missed. When QA team creates an issue in BitBucket, it automagically shows as an Asana task to whom it was assigned.
The whole hackathon was a very positive experience. Teams were mixed so people who don’t usually work together had an opportunity to get to know each other better. Some technologies were used because they’re not something we work with every day; some were easily tackled by experts who served as mentors for newer members.
It is something we have to do again.