My First Hack Day
BarCampNOLA is a two-day affair. The first day is a traditional BarCamp (you can learn more about that from Wikipedia). The second day is a “Hack Day” which goes like this: anybody that wants to shows up and takes part in a marathon of creation. What gets created is decided upon by the organizers of the event. The goal is to go from start to finish in one day.
This years project was to create a web app to showcase the people and talent in the creative community of New Orleans. Portland did it with a site PRTLND, so basically a riff on that.
The room split into two teams: creatives and developers.
The creatives were tasked with things like:
- What is the ultimate mission of this website?
- What is it going to be called?
- What is the scope of it?
- Who do we want to include?
- How are we going to market it?
Later in the day, subgroups of the creatives split off, some folks actually designing the site and some folks creating a logo.
The developers were tasked with things like:
- How are we going to do this?
- What platform are we going to use?
- What can we realistically do in a day?
Kicking it off
One of the first decisions made was that the developers were going to code the app from complete scratch, and do it on Ruby on Rails. A significant portion of the day was spent getting everyone’s development environment set up, so they could run and work on the app locally. A public GitHub repository was set up to keep everyone in sync. Some folks needed help getting that going as well.
On the creative side, naming the site was one of the first things. Lots of great ideas were going around, and they were written down on a whiteboard. (Actually, it was orange, the entire office space was covered in “Idea Paint” so you could write on the walls.) Once the list was large enough, ideas were whittled down. It was amazing to hear people’s honesty pouring out. What different words implied, what was more original, etc. Ultimately the name “NOLADEX” was thrown out and people cheered as it fit the project perfectly. The word is a combination of NOLA (slang term for New Orleans) and ROLADEX (an old analog device for keeping contacts in a spinning wheel).
Some of the best stuff and most valuable stuff of the day was the stuff I just described. Now a whole bunch of folks know how to get a Rails environment going on their computer. They know how to use GitHub. They learned a lot about developing apps in a short time.
The name NOLADEX probably wouldn’t have happened in a bubble. Even though it was shouted out by one guy, it was the spirit of the room that created it and celebrated it. That’s group collaboration at it’s best.
The day goes on
With the name NOLADEX, a group of designers went to work on a logo that would fit the spirit. The finished product turned the “O” into a crescent moon (very New Orleans) with the white space being filled in with a burst, which references an actual Rolodex nicely.
The design of the site came together, referencing heavily the PRTLND site. The app itself came together as developers were now set up to work.
The afternoon fell into place just as it should have. Once the major decisions were made, people got to get a little more heads-down into the work. When the creative team had a revelation in how the site should work, the teams were able to pivot quickly and not lose much time. The idea? Have people use sentences to describe what they do, and make the site filterable by the verb in that sentence:
I [create] beautiful websites.
I [teach] children to be better people.
While the day was theoretically supposed to end at 5pm, it wasn’t until nearly 8 when we were “finished”. The final stroke was having a live website with a live working form on it where new people could be added to the site. While there was much work to be done still, that felt like a success and a good stopping point.
Some final lessons
I met some great people there, but I haven’t listed anyone by name here. It wasn’t about individuals, it was about the group shining as a whole. While overall things were happy and fun, the day wasn’t without disagreements, arguments, and stress. That’s actually good. If there are none of those things then nobody cares, and that’s worse.
I do think that while there are some things a group does well, there are some things that a group does worse on as well. If you took the best developer in the room and had him work on the app all by himself to provided specs, he could have moved faster and likely created a better final product. If you found the best designer in the room and paired them together, they could have finished the thing in half the time. But then what? The community around the project is gone, or worse, turned off. Momentum becomes inertia. Learning opportunities vaporize. Yes there were inefficiencies. This workflow wouldn’t work for a “company”. But the day as a whole worked very well for what it was, and everyone who took part should be proud!