Skip to content

Latest commit

 

History

History
746 lines (464 loc) · 80.6 KB

README.md

File metadata and controls

746 lines (464 loc) · 80.6 KB

The Ultimate Guide to Hack Weekends

This is an open source template for organizing a hackathon.

This template contains a how-to-guide with accompanying hackathon web site running on Github Pages + Jekyll.

I wanted to provide a single README file for scanning, with as much support material as possible. So you can easily understand the wonderful world of hackathons and begin planning and executing hackathons in your community.

This open source guide is compiled with material from:

Hack Weekends Guide is licensed Creative Commons to keep alignment with contributors and a healthier global hackathon community.

Overview

What is a Hackathon?

A hackathon (also known as a hack day, hackfest or codefest) is an event in which computer programmers and others in the field of software development, like graphic designers, interface designers, project managers and computational philologists, collaborate intensively on software projects. Occasionally, there is a hardware component as well. Hackathons typically last between a day and a week in length. Some hackathons are intended simply for educational or social purposes, although in many cases the goal is to create usable software. Hackathons tend to have a specific focus, which can include the programming language used, the operating system, an application, an API, the subject and the demographic group of the programmers. In other cases, there is no restriction on the type of software being created. Today, this term is not related to "hacking", it is just a programming marathon.[1]

History

The word "hackathon" is a portmanteau of the words "hack" and "marathon". The term seems to have been created independently by both the developers of OpenBSD and the marketing team of Sun; these usages both first happened in 1999. OpenBSD's apparent first use of the term referred to a cryptographic development event held in Calgary on June 4, 1999, where 10 developers came together to avoid legal problems caused by export regulations of cryptographic software from the United States.[1]

Starting in the mid to late 2000s, hackathons became significantly more widespread, and began to be increasingly viewed by companies and venture capitalists as a way to quickly develop new software technologies, and to locate new areas for innovation and funding.[1]

Hackathon are not intended to perform illegal activities around computer networks. Software developers widely see hacking as a quick and dirty, creative programming solution to a problem. It is NOT about gaining access to other networks, which is a definition widely publicized by the media and Hollywood.[2]

Why Hold a Hackathon?

Before you run a Hackathon, it’s useful to think about the purpose behind it. What are you hoping to accomplish? Your goal can be as general as “increase awareness around open data” or more specific, such as “fix at least 10 bugs in software application X”. [3]

As well, think about the stakeholders for your event, including attendees, volunteers, sponsors and third parties, and what they might get out the experience or how they might be impacted. For example, you may want your attendees to be inspired or have them learn new skills. You might want a third party, for example the homeless, to benefit. [3]

And finally, it’s useful to think about what you will get out of the event. Is it an opportunity to build your community? Perhaps an opportunity to demonstrate leadership or to practice facilitation? [3]

Paying attention to what your various stakeholders might get out of the hackathon and being intentional about people having a positive experience can greatly increase your likelihood of success. Knowing what you want is a large part of getting it.[3]

Hackathon Planning

Assemble a Team

People like to help out with causes that they believe in. Involving others in the planning and running of your Hackathon is not only practical, it’s a way to give others an opportunity to contribute. Here are several practical roles for people that will help your Hackathon run smoothly: [3]

  • Facilitator - The person who manages the Hackathon process.
  • Ringer - A participant who understands open data concepts and the technologies involved and who can work on projects and help others to work on their projects.
  • Room Manager - The room manager is someone that people can go to when they are not sure what to do and would like some direction. People who attend may have little or no experience with Hackathons. The room manager is the go-to person for those who do not know what to do or how they can help.
  • Social Media Manager - This person will Tweet and update Facebook and Google+ status for your event. If your organization has its own Twitter or other social media accounts, you may want to consider giving this person temporary access so they can manage the social media tools for the event. [3]

Title and Description

Give your event a catchy name that represents your goals and will stick in the minds of developers.

Provide a detailed, but concise description of your event. Generally 250-750 characters is sufficient to explain the theme and goals of the hackathon.

Theme

Hackathons got their beginning in cryptographic software development and was popularized by Silicon Valley startup culture. However hackathons have moved into a wide variety of niches, not always centered around technology, including:

Art, Civic, Data, Education, Games, Green Energy, Health, Journalism, Language, Mobile, Movies, Music, Photos, Politicis, Robotics, Science, Sports, Water, Women and more.

The boundaries of what theme a hackathon can assume is endless. But there are some great examples being executed globally that might work for your hackathon.

Your hackathon attendees will appreciate you putting a lot of thought into your theme.

Format

The formats for hackathons are pretty loose. Usually the format revolves around two distinct formats:

  • Hack Day - 12 to 24 hour timeframe
  • Hack Weekend - 24 to 48 hour timeframe

Within this schedule several hackathon components can be applied:

  • Opening Ceremonies
  • Networking
  • Sponsor Presentations
  • Other Presentation
  • Idea Pitches
  • Team Formation
  • Project Presentations
  • Judging
  • Award Ceremonies
  • After Party

This represents just a few approaches to formatting a hackathon. The best way to find out what works is attend other events, and find the characteristics you like best.

Size

Hackathons come in all sizes. They can be as small as 5-10 people or as big as 500.

When it comes to hackathons, bigger isn't always better, but conducting larger events without proper experience and resources can be a major disaster.

Keep size in line with your over goal for throwing a hackathon

Scheduling

Choose a Date

Choosing a good date for your Hackathon can have a significant influence on how well it is attended and how much impact it has. Hackathons take concentrated effort over at least one day, so community Hackathons are typically held on weekends when most people are not working. Make sure you choose a date far enough in advance to allow yourself time to promote it to attendees. [3]

In addition, we recommend that if possible, you avoid the following when choosing your date:

  • holiday weekends *politically significant dates, such as elections, especially if you are organizing a government open data Hackathon
  • religious holidays
  • summer months if possible (it can be challenging to gather together attendees, especially in smaller cities.)
  • weekends with events already scheduled that will compete with your event for attendees (other Hackathons, ChangeCamps, conferences) [3]

Choose a Time

It’s important to choose a timeframe that works for your expected audience. If your Hackathon will run from 9am - 5pm and targets working developers, it may be best to host it on a weekend. This will minimize time conflict with your participants’ employment. [3]

Make clear the schedule of your event to participants in advance. If you choose a 9am start time, expect 20% to show up at 10am. Having an itinerary published at event signup will help make sure you can get started earlier. Schedule reception type activities at the beginning of the day to allow for some late arrivals. [3]

Checking for Clashes

One of the most frustrating things for attendees to see is two similar events on the same day in the same area. To avoid this, check places like Lanyrd and Eventbrite, and ask on twitter “anything going on in X on X”. Remember that people may be travelling long distances for hack days, so even if an event is a few hundred miles away, you are still diluting your potental audience. 4]

Choose a Venue

The venue you select should be the right size and style for your event. Hackathons can be held in many different venues, such as pubs, coffee shops or restaurants (if they have a separate space), rooms on campuses, or work areas or boardrooms provided by sponsors. [3]

Choose the right style of venue for your event. For example, choosing a pub for a Hackathon where some of your desired participants are underage will not work well. [3]

Choose the right size of venue as well. Asking for pre-registration can help in choosing an appropriately-sized venue. It is not always a reliable indicator as some folks do not like to commit or are reluctant to share their email addresses. That said, asking them to register beforehand will give you some idea of how many will attend. You can use a web service such as EventBrite, or you can simply use a Google spreadsheet. [3]

It should be possible to find a venue that you can use for free, although this is not always the case. The venue should be located somewhere accessible for most of your attendees. Ideally, it would also be free of access controls (e.g., locked doors). Where this is not possible, make sure that you have clear signage or greeters to make sure everyone can access the venue. You could post your cell number on the signage so your participants can call to be let in. [3]

The venue must have a solid Internet connection, preferably with both wired and wireless networking. Where possible create a event specific SSID and Password for the wireless network that is simple to type and write down. A good example would be SSID = hackathon, Password = sponsor2012. [3]

Visit the venue ahead of time and make sure the room and network specifications are up to the challenge. Wireless networks are especially troublesome, so ask to see the access point -- if it looks old/cheap, enquire if you can configure your own more suitable equipment. Ask about outgoing firewalls or network restrictions that could cause problems for developers as they will use ports and network services that may not be used normally. Ports 22, 80 and 443 outbound are especially important to ensure that they are free from blocking/filtering or proxying. [3]

Consider where food will go (best in a separate area), and the location of trash bins, tables, etc. Will everyone in your group be able to sit at a table with their laptop, have access to power, talk in groups, and eat? [3]

The venue should be relatively easy for people from outside of town to locate, with good public transport links. If it’s difficult to reach, try to provide alternative means of transportation, such as coaches to/from local transport hubs throughout the event. Provide a full address, and if necessary, additional instructions to all attendees well in advance of the event. 4]

Include instructions/contacts/getting in arrangements, too (i.e., what do to at reception/security desks). 4]

Print big signs that will guide your attendees to the venue (and in some case inside the venue). 4]

Sleeping provision

If attendees are staying overnight, then a separate (dark, quiet) area should be available away from the hacking should people decide to sleep. If possible, this should be several areas potentially including dedicated areas, for example male/female/mixed, minors (+chaperones?), snorer/non-snorer, night-owls/early birds.

Showers Optional

Despite the stereotypes, most geeks like to keep clean. Only a few venues are able to provide showers - but if you can, you should. Make sure you tell attendees well in advance so they can bring towels and toiletries.

Accessibility

Hack day venues should be accessible to everyone: at a bare minimum, there should be step-free access to all common parts of the building. If an attendee is blind or deaf, they should be able to participate too. Make sure your event signup forms mention accessibility and ask what accommodations might be needed. 4]

Insurance

Does your venue have the relevant insurance? Are guests’ belongings protected in case of fire or theft? If not, you should make them aware of the risks so they can take extra precautions. Do you, as an organizer have adequate insurance? 4]

Security

Attendees will often be bringing a lot of expensive kit: laptops, tablets, etc. Make sure they have some security. If the venue does not have some form of lockers, can you run a cloakroom system? 4]

Secure sites and photo ID

Are the rooms going to be available to non-attendees? Work out whether you are running a secure site and whether people need to bring photo ID; if so, tell them when they sign up and remind them close to the event date. For some people, showing photo ID may be a deal breaker. Not everyone will have ‘government issued ID’, either. Providing proof of address may be hard for some. 4]

Network

Your 4MB DSL isn’t enough

Hack days have special requirements: don’t just trust anyone who tells you that “it’ll be fine”. Think about the networking issues, and verify that they work for the kind of capacity you are going to have. People from the venue or their commercial partner will tell you all sorts of things you want to hear but keep in the back of your mind that they may not have any clue what they are talking about. Given the importance of network access, if you are operating a commercial event consider requiring network performance as part of your contract with venues and suppliers. 4]

Rock solid WiFi

Many commercial WiFi providers plan for much lower use than actually occurs at hack days. The network should be capable of handling at least 4 devices per attendee. 4]

Minimal firewalling

As a minimum: ports used for SSH (22), DNS (53 — TCP & UDP), VPN (47, 500, 1701, 1723, 5500), HTTP (80), NTP (123 — UDP), HTTPS (443), Submissions (587), IMAPS (993), MSN Messenger (1863), CVS (2401), Subversion (3690), XMPP/Jabber (5222), IRC (6665-9), and Git (9418), must be open and accessible, without the need of proxy servers, and preferably without perimeter-level malware &c checks. 4]

Subnet / DHCP capacity

Subnet and DHCP server must have capacity for allocating 6 IPv4 (and optionally, IPv6) addresses (preferably a /29) per hacker. If NAT is not used, attendees should be informed in advance. 4]

WiFi security

Use WPA2 security over an open WiFi network, to offer some basic protection against the monitoring of other users’ network traffic. 4]

No device isolation

Attendees should be reminded that when connected to the network, their devices may be accessible to all other devices on the network so they would be wise to secure them. 4]

Organisers should make it clear that they absolve themselves of liability for any intrusion or damage caused over the network. Attendees will want to share resources with other attendees (version control, for example) but while it would be wise for them to do so in a controlled manner it is ultimately up to each individual to be responsible for the security of their own devices, connected or otherwise. 4]

Attendees should be encouraged/advised to run their own firewalls, too, remembering that IPv6 exists. 4]

IP Whitelisting

For events with 150 attendees or more, you will need to contact organisations such as Twitter, Google, and Freenode in advance to inform them of the increased number of connections from your IP range; they may have an existing process that you should use. 4]

In many cases, rate-limiting is handled by authentication, not IP address (ranges). 4]

For Freenode, email iline@freenode.net with dates, expected number of attendees and IP addresses if possible. 4]

QoS and Monitoring

Traffic shaping and monitoring should be employed to help prevent a few users abusing the connection to the detriment of all others. 4]

DPI should not be used. 4]

Ethernet to the Chair Optional

In case of WiFi collapse (or if you can’t provide adequate WiFi at all) you should have ethernet available at the chairs. Have at least fast ethernet feeding into a gigabit backbone arranged in an (extended) star topology. If you go ethernet-only, announce this up-front. Regardless if you provide cables or attendees bring their own, you should have a big pile of spare cables at the venue. 4]

Single subnet Optional

Both wifi and ethernet should share a single subnet, allowing devices to communicate regardless of how they are connected to the network. 4]

Power

Power Sockets

You will need a minimum of 1.5 power sockets available for every seat. That’s a minimum; many attendees will bring two, three, or more devices that require separate power. Have spare cables available. Make sure you have access to the fuses of all used power circuits. 4]

Portable Appliance Testing

As stated above, your attendees will be bringing two, three, or more devices making full PATs for every device an impossible endeavour. But if you are providing a lot of power strips it can be worth getting them tested. 4]

Isolated power for hardware hacks *Optional

Isolating the power for those doing hardware hacks is generally a good idea, don’t let one soldering iron knock out the entire venues power. 4]

Audio / Video

Depending on the size of your hackathon, your audio and video needs will vary. Here are some of the common needs of most hackathons. [2]

Microphone and PA

Whether or not you need microphone and PA will depend on your venue, its acoustics and the size of your audience. However there are always quiet people who don't talk loud, so boosting audio is always good. [2]

Projector

You will need to have a project for the main presentations, but also consider secondary projectors for workshops or any sort of break-outs. [2]

Video Connectors

For the demos, either have a set of adapters handy for (Apple Mac) Mini DisplayPort, VGA, DVI, and HDMI video outputs, or make sure attendees know the projector’s inputs ahead of time so they can make sure they have the relevant adapters. 4]

Hardware and Mobile Hacks

If mobile or hardware hacks are expected, equipment to demonstrate them on the device should be present. Have a camera feed or visualiser available on the big screen. State ahead of time if that’ll be provided, to allow these to be demoed adequately. 4]

Talk to your venue about what audio and visual equipment is provided, then research local audio visual professionals in the area. It is likely you can get all the equipment you need from one vendor.

Sponsorship

Unless you have a budget for Hackathons, you will want to find a sponsor for your event to cover your costs. Costs include those for a venue (if you are unable to find a free option), and food. Your sponsor may be able to provide you with a venue for your event. [3]

In addition to providing a good working space for your attendees, it’s a good idea to provide plenty of food. Not only will your attendees appreciate the gesture, but you want them to be able to focus on their projects without the distraction of leaving to get food and drinks. For a one-day event starting in the morning, be prepared to provide coffee and pastries in the morning, a nutritious lunch with beverages, and snacks, water and cold beverages through the day. [3]

From our experience in various cities in BC, we had 30 attendees on average. We have had as many as 60 and as few as 12. Plan on spending $300 to $400 on food and beverages, depending on the number of attendees to your event. [3]

When you talk to prospective sponsors about your event, they may have never heard of Hackathons. They will want to know what to expect, so be prepared to explain a bit about Hackathons as well as about your cause. [3]

Before you go to talk to your prospective sponsor, think about how they can benefit from your Hackathon so you can explain to them. Benefits may include: [3]

  • positive exposure from the event
  • being associated with open data
  • being able to meet and talk with the Hackathon attendees
  • having attention paid to their particular business area
  • exposure for their open data efforts
  • having prototype apps created using their data

Be sure to let them know that you’d like to thank them publicly for their support, both on your Hackathon web page and via your social media. Sometimes event sponsors are happy to help out but are not comfortable with the more public forms of gratitude such as Twitter and Facebook, so be sure you have their permission to mention them in social media. You want to show thanks in a way that works for them.

The types of organizations that are often happy to help out are: [3] [3]

  • Information Technology vendors
  • local and provincial governments
  • local businesses
  • software development firms
  • trade associations
  • educational institutions

In some cases, you may find an organization that would like to provide the food, but doesn’t have a venue. In other cases, you may find someone who is willing to provide a venue but not a budget for food. It works fine for you to have two (or more) sponsoring organizations and and recognize them both. [3]

Part of the benefit of using sponsors is of course covering the costs. Another benefit is to increase the exposure for your cause, or associate your cause and organization with other organizations. Remember the reputation of your cause and organization will be affected by the host and sponsor you associate with, and vice versa, so choose organizations that are well respected and easy to work with. Be respectful, gracious and professional in your interaction with them. [3]

Speakers

Speakers are in important piece of hackathons. Often times speakers are representing sponsors, but you should consider workshops and other talks that are more informative and help hackathon participants succeed. [2]

Have a structured approach to structuring your speaker line-up. Provide a framework for speakers to pariticpate in, providing title and abstracts for their talk within a set format and time line you dictate. [2]

Make sure your speaker line-up is logical and fits well with the theme and schedule of your hackathon. Also, identify who will be MC'ing the hackathon and coordinating with all scheduled speakers. [2]

Presentations

Presentations by API and dataset providers should be kept to a minimum, try to make it a quick introduction involving the company name, the type of data / platform they have, and who to speak to for more information. Have technical - not marketing - people give the presentation as they will be asked technical questions, both on stage and during the rest of the event.

Working APIs

The APIs pitched to attendees should be checked in advance by someone technical to confirm that they are suitable, work, and are of a high enough quality.

Multiple clients

All APIs should provide client libraries in at least three of the major languages unless there is good reason for them not to (such as the target platform only supporting a single language).

(And if you haven’t got the client libraries written, maybe you need an internal hack day to write them!)

Clean datasets

Datasets provided for use in the hack day should, where possible, be checked in advance by someone technical to ensure they are well structured and in a sensible format (CSV, XML, JSON, RDF etc., rather than Excel spreadsheets and PDFs).

Thorough Documentation

All APIs and datasets should have thorough documentation, detailing format, any codes or abbreviations, as well as the underlying assumptions and business logic of what it represents. The documentation should be checked by someone technical before announcing the API.

Local Downloads

Datasets – especially large datasets – should be available over the network from local servers without the need for registration, and where possible available on USB keys for even faster transfer.

Make data explorable

Try and ensure that large datasets are accompanied by smaller sample files so attendees can check them for suitability and write parsers using a small number of records before downloading and importing multi-gigabyte files.

API Keys

If an API requires an key to use it, then make sure that someone is on site and able to authorize the requests quickly, and with as little fuss as possible.

Licensing

Get clear licensing information from API and dataset providers ahead of time, and communicate those licences clearly to the attendees, remembering that those in the technical community often have strong opinions about open licences for data and code.

Longevity

Attendees are often averse to building on top of platforms and datasets that could disappear or will incur usage fees after an event, try to avoid companies making resources available only for the duration of the event and communicate clearly the risk of building on top of any alpha or beta APIs.

Local API testbeds Optional

Where possible test servers for the APIs should be setup on the local network, this allows development to continue in the event of internet failure, and also isolates the live API’s from the increased usage the hack day will cause.

Prizes

Prizes are common place for the top teams at hackathons. Prizes can range from gift cards to cash. There are many opinions on hackathon prizes, but it is up to you, how you want to reward your hackathon participants. [2]

Not every hack day needs prizes

Some people go to hack days to learn, or to play. Having one team go home with enormous prizes and many other teams go home with nothing may sour the end of the event. Make sure it’s not all about the money/toys. 4]

Prizes per team member

Prizes must be divisible to encourage teamwork: it is very hard to slice an iPod into three bits. If you wish to give away physical goods there should be enough that they may be given to each member of a reasonably sized team. 4]

Available on the day

Prizes should be on site on the day of judging and ready to be handed to attendees as the winners of the various prize categories are announced. Attendees should not need to claim a physical prize after the event unless said prize is dependent on winner. If the prize is not available on the day, clear printed instructions on how to claim must be provided instead. 4]

No cost to claim

Attendees should not be required to pay a subscription or sign a contract in order to claim or make use of their prize. Requiring prizewinners to do so is likely to induce negative feelings in the winner towards the company providing the prize and the hack day organisers. 4]

Avoid service prizes

Discounts and credit for an API, face time with a company’s CEO, or development resources to continue a hack make for poor prizes (with obvious exceptions such as of companies offering music/video streaming services or online stores) and are likely to just disappoint the winning team. When organizations/individuals wish to pursue further. 4]

Remember, the hackathon is about the winner or prizes. Its the experience! [2]

Preparation

Website

Hack Weekends guide comes with a ready to go, hackathon website to go with your event. The website is setup as a separate branch in the Hack Weekends Guide repository. The Hack Weekends Guide website uses the following technologies: [2]

  • Jekyll - Jekyll is a blog-aware, static site generator
  • Github Pages - Github Pages provides a simple and free way to public a site on Github

The Hack Weekends Guide Site can be used in conjunction with this guide to deploy a healthy, quick and low-cost web presence for your hackathon. [2]

Registration

A formal registration process for the hackathon should setup to handle attendees from start to finish. The most common tool for doing this is Eventbrite, but there are alternatives as well: [2]

A registration process will give you the necessary tools to manage your attendees and understand the scope of your event--as well as give your participants the feeling of organization around the whole process. [2]

Popular event management platforms like EventBrite can also help you market your event and attract developers to the hackathon through a central, established calendar. [2]

When you require your attendees to register, make it clear what information is required for signing up and what the deadline for the registration is. If there’s a maximum number of attendees the venue can handle, communicate how the selection process works and when/how people will be notified if they’ve been granted attendance or not.4]

If there’s a waiting list for the event, make sure to explain how it works.4]

Most registration forms lets applicants enter name, contact details and food preferences/allergies (if applicable). Depending on your event and your venue, you might want to ask for additional information - this manifesto lists a few other topics which might make sense to add to the registration form.4]

There are also a number of things you probably should not ask for, like gender, religious preferences etc.4]

Marketing

You will want to promote your event effectively so that you get the mix of attendees you want at your Hackathon. [3]

Your Hackathon attendee list will likely develop organically, which is a good approach. However, if there are particular groups you would like to have attend (public servants, citizen advocates, developers, students), you will want to think about where best to reach out to them to be sure they know about the event. [3]

There are some tools you could use to promote your event, including: Twitter - if you are established on Twitter and your Hackathon fits with your normal identity and audience, then use your Twitter account to let the world know. It may be desirable to create a new account and get help from established and relevant Twitter id’s to help you with promotion. For example, if you are organizing a community Hackathon to benefit a community cause, connect with the Twitter mavens in your community and ask them to retweet you and otherwise spread the word. [3]

  • Facebook - you could create a Facebook page to promote your event.
  • Blogs - if you are a blogger, then write a post about your event. Brief and succinct are usually good rules of thumb, to be sure the key information is read. Link to registration or other relevant sites from your post. You can also ask others who are connected to the cause for your event to blog about it.
  • Mailing Lists / Google Groups
  • Word of Mouth
  • Local Businesses
  • Local Government Officials and Representatives

Social Networking

Have a social networking presence is how you will connect with your attendees, before, during and after an event. Give your attendees several channels to connect with you, using the social network they prefer: [2]

  • Twitter
  • Facebook
  • Github
  • LinkedIn
  • Google+

Each of these social networks give you the ability to setup accounts and have a page dedicated to the event. [2]

If you setup social networking accounts. Make sure you keep them active and actually engage with your audience. [2]

Social Bookmarking

Much like social networking, a hackathon audience is using popular social bookmarking tools. Every aspect of your hackathon marketing should be syndicated to top social bookmarking platforms:

  • Hacker News
  • Reddit
  • StumbleUpon

Make sure your social bookmarking accounts are not just syndicating only your event info. Employ accounts that are actually syndicating and sharing a wide variety of relevant content for your audience.

Event Syndication

There are several established and emerging sites for syndicating events to. Your hackathon should have a standard event profile including:

  • Title
  • Description
  • Tags
  • Logo Image
  • URL

This information should be used consistently across top event web sites including:

There are many event calendars users will use to discover new events in their local areas. These represent a few of the top ways to market your event via event calendars.

Make sure and look for local event sites in your hackathons area.

Printing

You will have printing needs.

Merchandise

You will need swag and merchandise.

  • T-Shirts
  • Stickers

Food Considerations

Food and drink is one of the connecting elements of hackathons. Spending an entire day or weekend together, solving problems and sharing breakfast, lunch, dinner and late night snacks has a way of bringing people together. [2]

Make the food at your hackathon a healthy, fulfilling experience for attendees. [2]

Dietary requirements

Not everyone in the technical community is hypercarnivorous. Be sure to check with your attendees for dietary requirements: food allergies, vegetarians, vegans and people with dietary restrictions. Make provisions to ensure they are provided for equally. If you’re on a budget, prioritise allergies and vegan alternatives; the vegan alternative will satisfy most non-allergy based requirements. 4]

Breakfast

If your event starts before 11am you should provide breakfast to attendees, either continental or cooked. 4]

Lunch

You should provide a lunch for each day of the event, this should consist at least of sandwiches (or suitable alternatives for gluten intolerant folk). 4]

Dinner

If your event runs later than 6pm or overnight you should provide attendees with a proper evening meal, not sandwiches or snacks (and not everybody likes/eats pizza). 4]

Overnight

If your event runs through the night, you should arrange for food to be available throughout the night, either by periodically refreshing it or supplying something that can still be eaten after it has gone cold. 4]

Drinks

A selection of coffee, green and black tea (plus milks, sugars), energy drinks, caffeinated and non-caffeinated soft drinks, juices and water should be freely available to attendees throughout the event. 4]

Snacks

Chocolate, sweets, biscuits, fruit, crisps, etc. should be freely available to attendees throughout the event. Try to ensure there are healthy options too. 4]

Alcohol

Should be served as if you are the owner of your local bar because, in fact, you are. Check licensing rules with the venue, including where and when alcohol can be served and consumed and what time you need to stop serving. If you have underage attendees, make sure they’re not served alcohol. Penalties for failing to do this could range from a fine to imprisonment for the person providing alcohol and loss of licence for the venue. 4]

As with other elements of this guide, attending other hackathons and experiencing the food and drink is the best way to understand the best approach to catering your hackathon. [2]

Execution

Setting Up

Ideally, you will have a technical person helping you convene the event. Have them arrive early and double check all the critical components. [3]

Your technical person will want to complete the following tasks, long before your hackathon is due to begin (the night before, ideally, or at least early enough in the morning to troubleshoot any problems that occur): [3]

  • Check the Network
  • Determine who is available to support the network. If it goes down, who is available to fix it?
  • Run a couple basic internet speed tests and make sure there is sufficient bandwidth available.
  • Make sure there are no HTTP proxies in place, and that the network is unfiltered.
  • Test that SSH, FTP and any other applications can connect externally.
  • Make sure quality networking equipment is in use for wifi and get any wireless login credentials. Try to avoid networking configurations that are set up with a web-based login system, as these can cause technical issues. If this is the case, see if you can get a clean line and set up your own wireless router.
  • Arrange the work tables
  • Try to allow for enough spacing to allow both laptops and food/drink at the tables.
  • Make sure there are enough power outlets (powerbars) at each table. As well, preferably enough wired network jacks at each table in the event they are needed.

While the technical details are being sorted out, another organizer will want to be setting up the reception table, food, coffee and snacks. [3]

Signage is important. Make sure there are signs that let the participants know that they are at the correct building and that they’ve found the right room. There should be contact information on these signs and if there are access controls (security, locked doors, etc.) in place, someone should be actively monitoring to make sure no one is stuck outside. Don’t rely on a ‘call us when you get here’ system because not everyone will have a mobile phone. [3]

Inside the room, use signs, a whiteboard, or a flipchart to communicate relevant information to your attendees, such as the wifi access credentials, website urls, Twitter hashtag for the event, etc. Use text large enough that it can be read across the room. [3]

Audio / Video

Support

There should be staff on hand to help users set-up quickly for their demos, such as connecting to the projector. If the equipment at the venue allows it, have one demo presenting while the next is setting up. 4]

Video connectors

For the demos, either have a set of adapters handy for (Apple Mac) Mini DisplayPort, VGA, DVI, and HDMI video outputs, or make sure attendees know the projector’s inputs ahead of time so they can make sure they have the relevant adapters. 4]

Projector info

Information on projector resolution, contrast, etc should be provided to attendees and speakers ahead of the event. 4]

Hardware and mobile hacks

If mobile or hardware hacks are expected, equipment to demonstrate them on the device should be present. Have a camera feed or visualiser available on the big screen. State ahead of time if that’ll be provided, to allow these to be demoed adequately. 4]

Safety

Emergency plans

Make sure you have a plan for attendees who are injured, fall ill or suffer any other emergencies. Have at least one designated first aider on call. Make sure you know where the first aid box is, and check it’s appropriately stocked. Know the procedures for calling an ambulance, sounding the fire alarm, evacuation point, and logging incidents in the venue. Make sure attendees know who to turn to for help; a phone number, a few bright crew shirts and a central crew desk or wardrobe go a long way. A central point of contact will also help you deal with inevitable electric, network, venue- or food-related questions. 4]

Handling problematic people

It’s unlikely that you’ll have to throw someone out, but just in case know what the procedures are, what you’re legally able to do and what kind of misbehaviour would actually trigger ejection. Some events have instituted safe space and anti-harassment policies due to widely reported incidents of sexual harassment. 4]

Keep your crew safe too

Working at a hack day, as a volunteer or otherwise, can be a stressful and demanding job. Make sure your crew are safe, happy and well-fed throughout, and that you’ve got enough staff to cope with emergencies or unexpected dropouts! 4]

Introduction

As people arrive, welcome them and direct them to the area where you’ll be working and where they can find coffee and snacks. If you have a photo release form, this is a good time to hand it out, ask them to sign it and return it to you. [3]

People will arrive at various times regardless of the official start time for your hackathon. We recommend that you start the event on time, only delaying if you don’t think you have enough people to get started. Don’t delay the start more than 15 minutes in order to honour the people who arrived on time. [3]

When it’s time to start, you# should get the attention of the room and give a brief introduction, being sure to cover the following topics: [3]

  • your name and why you organized the hackathon
  • the title and the theme of the hackathon
  • a thank you to the participants for attending, and an assurance it will be a fun day
  • a thank you to the hosts and sponsors for providing food, space, etc.
  • an introduction to open data
  • an overview of the day

Optional: Depending on the time available and the number of participants, it is useful to have participants introduce themselves. Ask them to state their name, something about themselves and what brought them to the hackathon. This breaks the ice a bit and gives people some context as to who is in the room with them. [3]

Finally, ask the participants if there are any questions before you get started. Hackathons are a new concept to many people, just as open data is a new concept. People may not know exactly what they will be doing, but at least you can give them some idea of the format, so that they can relax and focus on the next task. [3]

Setting the Right Tone

Don’t make people feel unwelcome

Avoid sexism and other discriminatory language or attitudes. Don’t make any assumptions about your attendees. Get someone who is demographically very different from you to check your marketing material through to see if it makes sense and isn’t offensive to someone who doesn’t share your background. 4]

Do not Charge Attendees

If developers are willing to donate their time – which could otherwise be used for paid work or hanging out with family and friends – they should not be charged for tickets. It shows a complete disrespect for the value of their time, and is likely to leave a bad feeling towards the organisers and sponsors. The developers are providing the sponsors a service in testing and showing the possibility of their APIs, data, products and services. 4]

Intellectual Property

The intellectual property rights of hacks produced at the event should belong to the attendees, and not to the organisers, sponsors, or partners, with the obvious exception of (a) hack days based around the further development of an open source project, or (b) commercially run hacks. Intellectual property can be a big issue; it is best to make expectations clear in advance, both to developers and to sponsors or data providers. 4]

Agenda for Each Day

We recommend a certain flow to a hackathon. The main components for the day (and the approximate timing) that we recommend are as follows: [3]

  • 9:00 am Introduction
  • 9:30 am Brainstorming
  • 10:30 am Break
  • 11:00 am Pitches
  • 11:30 am Breaking into Groups / Idea Development
  • 12:30 pm Lunch
  • 1:00 pm Solution Development
  • 4:30 pm Show and Tell
  • 5:00 pm Close

This approach can be applied to multiple day hackathons by spreading solution development over the course of two days. [2]

Brainstorming

People often approach problems with preconceived ideas about what’s possible, based on what they know and their experiences to date. This approach is great for survival, but ignores the the realm of knowing called “what you don’t know you don’t know”. The job of the facilitator in this phase is to expand the realm of what’s possible so that participants can generate ideas that they may not have otherwise allowed themselves to contemplate. [3]

There is a tendency to be realistic and come up with small, or practical solutions. While this is fine, and simple solutions are often the best solutions, you want to encourage participants explore everything that’s possible to minimize the impact of the self-imposed limitations they walked into the room with. [3]

You will want to provide a form or a shared spreadsheet to collect the generated ideas. Google spreadsheets are perfect for this purpose. Explain to the participants that they can enter their ideas into the spreadsheet if they want to, but that they don’t have to. Sometimes people don’t want to record their idea in a public forum, and that’s fine. The form should have descriptive information in the fields that help people think about some of the attributes and potential effects of their idea. [3]

Here is an example of what your form could look like: [3]

  • Title - Project Title
  • Description - Brief description of project
  • Audience - Who would benefit from this project and roughly how many people would this represent?
  • Data - What data is needed?
  • Where Where is the required data? - Past URLs into the data if known.
  • Skills - What skills are needed to further this project?
  • Considerations - Are there any other considerations? (threats, risks?)
  • Similar - Is this project or a similar project being done elsewhere? Provide URLs if possible.
  • Collaborators - Who is working on this project? (names, twitter IDs) If you prefer not to say, that’s okay too.

Here is a link to the OpenDataBC form: http://goo.gl/Ye3DR . Please feel free to use this as an example; however, if you want to actually use it, be aware that your ideas will end up in the OpenDataBC ideas spreadsheet (and, we request that you only use the OpenDataBC spreadsheet if your event is an OpenDataBC sanctioned event). [3]

Important: Let participants know that the spreadsheet is public on the internet. If they don’t want to make their idea public, they may not want to use the tool. Using the tool is not a requirement, it’s just a tool to help develop ideas and record them for those who want to do that. [3]

Once you have described the brainstorming process, invite participants to start coming up with ideas. The more ideas, the better, so if a person has more than one they should record them all. Also encourage them to discuss their ideas with their neighbours. Let them know that the brainstorming will take place over the next 30 or so minutes. Remind them that there is coffee and snacks and that at the end of the brainstorming session you will be inviting them to talk about their ideas with the room. [3]

Once they have started, ask your room manager to help you wander around the room and chat with people one-on-one to see how they are doing. Different people engage differently when given an opportunity to brainstorm publicly. Some will jump right in and will engage with others around them. Some will want to work on their own. Some will want to work with others but may feel awkward or shy about getting involved with others. The hackathon team members can help by simply going around from team to team or person to person and checking in with them, asking how it’s going, if they have thought of something, etc.. Sometimes a suggestion that people work together or for someone to join a team is all it takes to make someone’s experience of the day much more engaging. A little bit of one-on-one can work wonders for people to get more out of the process. [3]

The brainstorming session will often take longer than expected. It takes awhile for people to warm up and for the ideas to start flowing. Remind people to record their ideas and give periodic reminders about how much time they have left. Usually, 30 to 45 minutes is sufficient for folks to be ready to move to the next step. [3]

Pitching

In the pitching phase, you invite participants to stand up at their tables one by one and share their idea with the room. Remind them that the purpose is to introduce their idea so that they can attract other people to work on their idea with them (hence, the name of this component of the hackathon ‘pitching’). They don’t have to end up working on that idea for the day, but they should pitch it in such a way that others get the value of their idea, and are inspired. [3]

This is an opportunity for you to inject some fun into the hackathon day, as you encourage your participants to do a really great sales pitch for their ideas. [3]

Encourage people to ask questions about the ideas. As facilitator, you should ask questions about ideas if you think of any that might help bring out the value of the idea or that might answer any obvious questions. If people have more than one idea, encourage them to pitch as many as they want. Also, if their idea requires a particular skill to implement (such as graphic design, writing, or data entry), let them know that this is the time to let potential collaborators what’s needed. [3]

In addition to deciding which projects to work on for the day, the pitch session is a chance for participants to interact as one large group. People are often nervous about standing up in the room and pitching their idea. It helps if they see other people do it first so the facilitator should have one or two ideas to pitch and any other team members, especially the Ringer, should be prepared to pitch. [3]

When everyone who wants to pitch their idea has had a chance to do so, it is time for you as the facilitator invite people to vote with their feet. This means they pick up their belongings and move to the table where the person who pitched the idea they like best and that they want to work on, is sitting. Encourage people to move around and work on the idea they liked. If someone wants to work on their own idea, then they can just stay where they are. Let people know it is okay to work alone if they wish, or in a group. [3]

Formulation

When people move into their groups, they will be tempted to jump right in and start working on the project. Remind them that they should spend some time thinking about and developing the idea itself before diving into working on it. Suggest that they work on the whiteboards or on paper as a team to develop the idea for an hour or so, perhaps until lunch arrives. The facilitator can also suggest that they focus their idea down to its core so that they can have something to demo to others by the designated show-and-tell time near the end of the day. [3]

This stage is a bit chaotic as people find places to work, and that’s fine. The facilitator should walk around the room and watch for folks who are not getting into groups and check in with them to see if they need some encouragement. Some people choose to work alone, and that’s fine, and some people are shy or nervous about getting into a group of strangers and just need a bit of encouragement to do so. [3]

Once your attendees move into groups it’s a good idea to encourage them to spend some time thinking and rethinking the proposed idea, now that there are more people involved. This is also when they can split up the work so that everyone has something to do and the project progresses as quickly as possible. [3]

Lunch

At some point during this stage, lunch should arrive. The facilitator should encourage folks to keep talking and working through lunch, and remind them that they have until 4:30 (or whatever your time for show-and-tell is) to work on their projects. [3]

Concentration

Concentration is the stage where people are actively working on their projects. Once the teams are working, members of the organizing team can wander around the room and check on the teams, answer questions, and work on their own projects. [3]

One of the most important tasks of the facilitator and the organizing team is to make sure everyone who wants to participate gets the opportunity to participate. Sometimes at this stage there will still be a few people who are not participating. This may be because they don’t feel they have anything to contribute, or because they are there to watch and don’t want to participate. It’s worthwhile having a quick conversation with them to see if they are in the first camp. If so, you can connect them with one of the groups so they can be part of the project, even if it’s just for idea generation and discussion. [3]

If they are in the second camp, where they don’t really want to participate, then let them know it’s fine to observe. [3]

Show and Tell

The Show-and-Tell section is pretty straightforward. It gives people an opportunity to show what they have worked on and get some feedback from the larger group. [3]

In preparation for this stage of the hackathon, you will want to have the projector set up, and accessible for people to easily connect to with their laptop. [3]

When the show-and-tell time arrives, ask folks to finish up with what they are working on and ask for volunteers to show their project. Have your projector ready, and ask folks to come up to the front of the room one by one (or group by group) and show what they have worked on. The facilitator should encourage questions and be prepared to ask some questions of their own. [3]

People are often keen to show what they have done but again, it’s totally voluntary. If someone has worked on something but isn’t comfortable showing it the facilitator can offer to show it for them, but since most projects have been worked on by teams, there will often be at least one person in each group that is comfortable and willing to show it. [3]

Show-and-tell can take 30 to 60 minutes depending on the number of attendees. [3]

If possible, have a shared, public listing of the hacks that have been submitted. This helps the judges, the attendees and bloggers/journalists who are covering the event. Hack submissions should be as straight forward as possible. You can use Google Docs, Etherpad or a wiki. Make sure that all attendees have write access and can concurrently edit. Plan for the hack listing to stay around as a historical record. Alternatively, there are hack submission services that will handle the logistics for you like Hacker League, Hackathon.io, or WeHack.it. 4]

Anyone who hacks should be a allowed to demo at the end of the event, regardless of the quality or completeness. 4]

Time limit

Each demo should be given a fixed time limit, standard times are 60, 90, 180, and 300 seconds. Tell presenters ahead of time, let them know how much time remains (either half time cards or an on-screen count down), and don’t let them run over. 4]

Clear Expectations

Try and communicate clear expectations for the demos to all attendees from the beginning of the event. Some attendees will become frustrated when they see others demo-ing paper prototypes or Photoshop mockups when they believed a working implementation was required. If hacks do not meet these base requirements, they should not be able to win a prize. 4]

Audience Vote

If you have an “audience choice” prize, someone will attempt to game the system, either technically or by running an obnoxious “vote for me” campaign. Keep the prize for it relatively small, and give attendees a one-time token (a code on the reverse of their pass for large events, or a physical item for smaller ones) in order to vote. 4]

Judging

If possible, let the judges meet all the teams for a few minutes, a couple of hours before the presentations. This means people don’t need to cram their whole idea in 60 seconds, but instead can demo the product to their peers knowing the judges understand how technically awesome their product is. This also allows for judges to fully inspect if a product was actually implemented, or is just a bunch of screenshots - and how technically advanced their project is. 4]

Announce Winners & Award Prizes

Based upon your hackathon format, judging criteria and process you should be able to award winners of the event. [2]

Showcase all winners equally. Make sure and highlight what they've done and what tools they used to accomplish their project. [2]

Give out prizes and associate them to their sponsors. [2]

Appreciation

At the end of the hackathon, you have the opportunity to: [3]

  • thank participants for their generosity - especially if your hackathon is a weekend event, and they have given up personal time to be there
  • thank the host and sponsor for providing the space and food (or whatever applies)
  • thank any data providers
  • thank any special guests
  • make your closing remarks

For the closing remarks, you can mention the cause that brought you together (“open data” for example) and any upcoming events. Also, let people know where they can get more information about the community. If you have a mailing list or web site, now is the time to let them know about it. [3]

Lastly, declare the hackathon complete. [3]

Clean Up

Unless you and your host have an alternative agreement, be sure to leave the room in as good or better condition than when you arrived. Doing so is important for your reputation, your sponsor’s reputation, your cause, and the willingness of your host to allow future events. You may want to ask one or two people before the event begins if they can help, or alternatively, ask for volunteers at the end. Usually, there will be a few people willing to lend a hand in restoring the space. [3]

Post Event Networking

Depending on when your event ends, you may want to plan to go for a social beverage after the event at a local establishment. This can be a great opportunity for your participants to talk some more about their projects and the new possibilities they have invented. [3]

After Event

Even after your event is technically over, there are still opportunities to connect with your participants. In doing this, you can let other folks who were not able to attend know what happened (and make them wish they hadn’t missed it!). In addition, it’s another opportunity to thank your participants, recognize what they accomplished through their participation and demonstrate progress toward the overall goals of your cause, in this case, open data. [3]

Thank You

When you are done. You slept for 12 hours straight. You have had a cup of coffee.

Who do you want to thank? Volunteers? Assistant? Mother? Developers? Venue?

Make sure they hear from you. Who are they?

Stories

What stories can you tell from the hackathon experience? Was there an overall story you could tell about the event? Which personalities stood out?

Find stories you can tell on your blog, twitter and word of mouth. Make sure everyone understand what a success the event was.

You need to tell the stories, its part of the hackathon experience.

Social Connections

Have you connected with every one of your hackathon attendees? Do you know if they tweeted about your event? You should know the primary channel of every attendee. Are they more public on Twitter? Are they more enterprise, and on LinkedIn?

Re-enforce the connections while they are still fresh.

Update Website

What does the website say 2 days after the event? It sends a pretty strong signal to your target audience if you refresh the website to reflect what happend at the hackathon. Can you post:

  • Pictures
  • Projects
  • Winners

Updating the hackathon website shortly after the event, capturing the essence of what happened--then priming the pump for the next hackathon.

Keep the website representing your goals around throwing the hackathon in the first place.

Return on Investment (ROI)

We all want to understand the return on our investment? Right?

Well, some more than others. Some of the hackathon experience isn't measurable. But there are ways you can measure the success or failure of your event.

Hopefully you had a pretty clear vision of what you wanted to deliver with the event:

  • Understanding of your platform
  • Bring attention to an issue
  • Solve a precise problem
  • Incnrease awareness of your brand
  • Acquire new talent in a specific area

There are any number of reason you are throwing a hackathon. ROI should NOT be the focus of your efforts, but you can maximize your return.

Achieving your goals, or just learning enough along the way to make it all worth it!

Sources