When I applied for the AEJMC/Knight Grant, I built a hackathon into the proposal. I knew we were going to need some focused time, beyond a short class period, to work with the platform and to implement our desired functionality. I’ve been to a few hackathons, and I know that the quality of the experience has to do with the participants that attend. I also knew that our students, while tech savvy communication majors, were not completely comfortable with all the programming concepts we might need. So, I developed some structure around the typically unstructured nature of a hackathon. Here are some things I implemented or learned during the process:
- Set expectations – Some hackathons are not intended as learning experiences. Depending on the attendees, participation may be focused and concentrated with little explanation of how things are accomplished. If you are hoping to use a hackathon as a learning experience, set very specific expectations. A hackathon is not a workshop, but if structured properly with the right personnel, learning can occur.
- Have a specific goal in mind for a project in advance – Some hackathons simply assemble people to see what happens. This works well in a developed community in which there is no question that the proper resources will attend. But if your attendees are not technologically experienced, having a goal in mind helps focus productivity.
- Focus on a particular technology or platform – Do you want to use WordPress? If so, the technology focus is mainly CSS with some PHP knowledge. Do you want to work on data visualizations? Identify potential platforms like Google Fusion Tables or Tableau Public that could be used. Is your goal a mobile application? For our hackathon, we used the Ushahidi platform to add a mobile/mapping component to an existing project. Working with an existing framework or file structure may help focus your efforts.
- Prepare in advance – Preparation can include strategy sessions around content, design and functionality. This can be handled in class or in an online forum. We knew going in what goals we planned to accomplish, and these were the result of several advanced planning meetings that have been documented on this site in a couple of posts. Tell people what to bring to the hackathon – laptops, power cords, extension cords, etc. We also worked with Brandon of Ushahidi to implement the technologies we would need for collaboration. We used GitHub for Mac, Deploy (allows deployment to a repository) and a Media Temple gridService hosting platform.
- Develop a game plan for the day, identifying what you hope to accomplish. For our Ushahidi hackathon, we had a flip chart page with our “to do list” on it, and we checked off items as we accomplished them.
- Introduce technology – Students should have a general idea of the technologies they will use at the hackathon. They don’t need to be experts, but they shouldn’t be seeing things for the first time. For our Ushahidi hackathon, we went over the admin interface and file structure in advance. Things like logo design and new page and form content were prepared, so that we could focus on functionality and execution at the hackathon.
- Arrange to have some ringers involved – You can invite your local tech community to assist, but if you don’t have the right people, the event can fail. For our Ushahidi hackathon, we hired two people with the skill set we desired to work with us. This gave them the incentive to prepare for the event and to be willing to work with students during the hackathon. If you don’t have funding to pay for “ringers,” see if you can find sponsors. A sponsor company may be able to provide resources rather than money. We were really lucky that Brandon Rosage of Ushahidi lived in Austin. I also enlisted one of my former students, Blair Mundy, who is now a PHP programmer. We had a planning meeting with them on a Google Hangout in advance of the hackathon that took care of the intros and allowed us to move quickly into work.
- Invite the local tech community – It’s great to partner with a local technology meet-up group by inviting them to observe and participate. Just be clear to explain the goals of your project and the role of the community as observers or helpers. But it’s a great opportunity to get students interacting with professionals.
- Find a cool space to host the event – The location should be convenient, have access to wireless and electrical outlets, provide work surfaces like large tables that foster collaboration and be generally an inspiring environment. Look for local co-working spaces or companies that have large conference rooms. We held ours at Capital Factory, which is a hip space at the top of the Omni in downtown Austin.
- Arrange for refreshments throughout the day – If you are going to be working over several hours or several days, providing refreshments keeps the ranks happy. Try to find sponsors for the refreshments and have them delivered, so you, as the organizer, are not also serving as caterer. It doesn’t need to be an elaborate feast, just something that’s convenient and satisfying. We had breakfast tacos, sandwiches from Whole Foods and a little happy hour celebration at the end.
- Have fun! This shouldn’t be a serious event that is full of stress. Model troubleshooting behaviors and demonstrate how to turn failure into success.
- Have a follow up meeting during a subsequent class to go over lessons learned, what worked and what didn’t and suggestions for future hackathons.
In our follow up, we had the following comments:
- I wasn’t sure what to expect and was a little scared. But, I thought it went amazingly smooth. It was very well organized. Everyone was prepared. I’m very encouraged.
- My company is organizing a hackathon, and I was able to provide some notes to one of my co-workers to assist with that event.
- I wished we had done it sooner, because we could have used more time to finish up loose ends and work independently after the hackathon.
- The task list was very helpful in allowing us to focus and use our time productively.
I really don’t think I would have been good at accomplishing individually what we accomplished without the collaborative effort of the hackathon. I think we got a lot done, and I was amazed with how much we accomplished in the time we had.
- The catered meals were nice, because we didn’t have to go out and step away from our work. We were able to continue what we were doing without interruption.
- I liked the space. It was neat that someone could wander in and see what we were doing.
- It’s nice to knock a bunch of stuff out at once. Collaboration was easier when we were all together in one room. There was a good energy.
We felt the hackathon was a success. We still had some work to do after, but we were able to get the design and functionality we desired to use during SXSW: new design, responsive layout, geocoding location, tweets to reports and more.
You can find more photos from our hackathon on the SXTXState site.