Hackdays are an important part of Pusher’s culture, and every few months we take a day to build something completely different from what we normally do. We recently held a hackday in March, on the theme of ‘making the office realtime’.
What’s a hackday?
Hackdays generally bring together the developers of a company to work intensively on projects outside of their daily routine for – you guessed it – a day. In line with the spirit of ‘hacking’, this involves a great deal of experimentation with regards to methods used, hardware and software components and ultimately what the final product even turns out to be.
This can mean different things for different companies: some might decide to build something crazy, while others may arrange a theme (as we did) to work with. Where some developers may choose to collaborate on a single project, others may seek to work independently on their own. Hackdays are often associated with large events, but they can easily be scaled down to fit inside your office as well.
So why hold hackdays at all? There are several important benefits that can come from holding hackdays in your company:
- Creativity – hackdays encourage developers to think outside of their normal routines and practices that they’re familiar with, allowing some breathing space from the daily grind.
- Learning – by extension, developers may use languages, frameworks and tools that they had previously no experience with or even hardware, allowing them to augment their skills.
- Challenge – relaxing as it might seem, a hackday is meant to be a challenge as well. It gives developers the chance to test themselves, and who knows what ideas can spring up from such an event?
The Pusher Hackday
As mentioned earlier, our most recent Hackday centered around the theme of ‘making the office realtime’. Our hackday projects had to change or improve one aspect of the office, be it the physical or virtual space, by enabling some degree of realtime functionality.
A few Arduino boards and bluetooth low-energy devices later, here’s what some of our developers managed to come up with:
No, it’s not what you think it is.
The EmergencyStripper is essentially a strip…of LED lights, which display the status of our Pusher integration test in real-time. Green light means everything is stable and working – red means we should start getting very worried. The EmergencyStripper now hangs proudly on a wall of the office, and ensures that any errors in the service are quickly noticed and resolved.
Source code for the EmergencyStripper can be found on GitHub here.
The OKRINATOR is quite unfortunately not some mythical creature of old, but an app that’s designed to store our OKRs. The idea was to then put those OKRs on a dashboard, and use coloured lights – green for positive, yellow for neutral, red for negative – to show how optimistic we were about successfully hitting our targets.
Built using Estimote beacons and Fitbits, this app uses the aforementioned Bluetooth LE devices to trigger personalised responses from a system. In the context of this hackday, recognised people discovered in the vicinity of a computer would cause the computer to greet the person in a voice defined for him/her.
The Bluetooth devices were combined with a detector written in Node.js that ran on a Macbook Pro. When the detector recognises one of the Bluetooth devices within several metres, it uses the Apple “say” command to speak a greeting to the nearby person holding the device.
Think of a hackday in terms of the creativity it can bring to your company, and as a breath of fresh air for developers – not as a day where people aren’t spending their time on work. The ideas and projects that are born out of the environment of the hackday will almost certainly surprise you, and may even provide applications that were never expected.
So what’re you waiting for? Get hacking!