What is a hackathon?
A hackathon (also known as a hack day, hackfest or codefest) is an event in which computer programmers and others involved in software development, including graphic designers, interface designers and project managers, 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.
Hackathons typically start with one or more presentations about the event, as well as about the specific subject, if any. Then participants suggest ideas and form teams, based on individual interests and skills. Then the main work of the hackathon begins, which can last anywhere from several hours to several days. For hackathons that last 24 hours or longer, especially competitive ones, eating is often informal, with participants often subsisting on food like pizza and energy drinks. Sometimes sleeping is informal as well, with participants sleeping on-site with sleeping bags.
At the end of hackathons, there is usually a series of demonstrations in which each group presents their results. There is sometimes a contest element as well, in which a panel of judges select the winning teams, and prizes are given. At many hackathons, the judges are made up of organizers and sponsors. At BarCamp-style hackathons, that are organized by the development community, such as iOSDevCamp, the judges are usually made up of peers and colleagues in the field. Such prizes are sometimes a substantial amount of money; a social gaming hackathon at the TechCrunch Disrupt conference offered $250,000 in funding to the winners.