Ask Slashdot: What Makes a Great Hackathon?
beaverdownunder writes "I recently attended a 'hackathon' that was really just another pitching contest, and out of frustration am tempted to organize an event myself that is better suited to developers and far less entrepreneur-centric than some of the latest offerings. What I'd like to know from the /. community is, what would you like to see in a hackathon? What are some good hackathons you've attended that weren't just thinly-veiled pitch-development workshops? I have an idea around assigning attendees to quasi-random teams based on their skill sets, then giving them 48 hours to complete a serious coding / engineering challenge (probably in the not-for-profit space) — but maybe you've got some better ideas?"
Some of those, maybe a chainsaw or two. Hatchet if you're feeling adventurous.
"Quote me as saying I was mis-quoted." -Groucho Marx
So, they get a bunch of young smart people in a room with some smarmy guy and maybe bimbos? maybe energy drinks?
Then they just ask "Hey, give us some ideas so we can become rich!" Then the smartest idea guy, gets like a t-shirt and maybe like an X-box or something?
Cause if so, that's the most brilliantly evil thing I've ever heard.
Sig. Sig. Sputnik
Grab one of the open source LMS packages - Moodle, Sakai, Canvas - and check their feature request lists, and implement a feature or three.
Form your teams, have them elect a "project manager", etc. Structured just like a "Real Job" but with a short deadline.
Don't blame me, I voted for Kodos
I've been participating in the NYC BigApps string of hackathons this Spring. They really shouldn't be called "hackathons" because, as the submitter said, they're really just pitch-a-thons. Three weeks ago we showed up to the first, came up with an idea on the fly, banged it out in two days; then, when it came time to present the app we had done every other team stood up and presented apps they had been working on for years.
Naturally, something that has been in development for years is going to be more complete and polished than something that was born 48 hours before. And that long-term project is more likely to win, and win they did. In the subsequent two hackathons we also presented stuff we had been developing for a long time and won both times. But it felt wrong. It felt like it was violating the spirit of what a hackathon should be.
What hackathons should be is a crazy all-night code fest of how quickly techs can move ideas from conception to reality. 48 hours is an absurdly short period of time to create. All of us who develop for a living know that. But that intensifies the design/scope decisions you have to make, the team collaboration you have to effect on the fly, and the exhiliration of a win if you can pull something off.
Finally, the panel of judges should be diverse, cutting across generations and disciplines, because young 20-something techs are perhaps not always the best positioned to see the potential of an app in the bigger societal context.
Do what you can, with what you have, where you are.
Make each team produce a working robot by the end of a 48 hour period. Give them access to a uC, the required hardware and then set requirements. For instance, program the robotic arm to interface with the team, or program a robotic platform to drive around the floor intelligently and autonomously. I think it would be seriously interesting and it would weed out the wanta-ba programmers from the serious ones. Anyone can write code for the desktop but only a programmer can write embedded code which works.
My wife and I recently mentored at the Thomas Jefferson Hackathon, and it was very fascinating to see so many gifted kids come up with so many wonderful technical solutions. The problem, I felt, came when it was time for all the teams to pitch their solutions. Many presentations came off as sales-pitches, which seemed to be what the judges wanted, but it left me wanting to know more about the technical details of what they were working on--not how much revenue they thought their software would generate or how large a user-base it might get in an appstore.
Hackathons are 24-plus hours of intense, focused coding. Following up that technical focus with a sales pitch really seems like a waste and encourages the participants to work on projects that work best in a market place rather than solve interesting problems or explore interesting ideas. An exploration of the technologies used, the languages, algorithms, APIs, etc would make the presentation portion of the Hackathon more like engineers presenting their ideas to other engineers to peer-review and inspire one another. It would also encourage participants to broaden their horizons, consider data visualizations, focus on just an algorithm or family of algorithms, or explore some other aspect of computer science deeply for 24 hours, instead of trying to develop another application to solve some aspect of daily life (which is fine too in moderation).
I don't know about everyone else, but in the real world most of my pitches are being made to other developers. Sales people pitch to the customers and clients, with project managers acting as translators between the technical and social staff. Developers don't just want to see how slick your software is, they also want to evaluate the elegance of your solution under the hood. Hackathons should focus on developer-to-developer communications when it comes time to present solutions.
i ~ Celebrating Science, Cyberspace, Speculation
I'm going to disagree with most of the replies I've seen here so far about just piling on constraints and limitations.
When I go to a hackathon, I am looking for an open forum with interesting people to talk to and people who have their own problems to solve. I get sucked into new problems for 2-3 days and I emerge on the other side with insights into areas I wouldn't have thought of working on before.
I'm not looking for structure from the organizer about what to work on. I and most of the people I know already have a ton of projects in the wings. I'm looking for a good collaborative space to talk to people, people who've brought interesting projects to help, and whiteboard/blackboard space to use for explaining things.
The Haskell hackathons (Hac-Phi and Hac-Boston in particular) have generally followed this format and I love them.
I've gone to other events where someone is trying to harness a hackathon to achieve some particular end and pass out prizes or something, and in general I've been bored out of my mind. If I want to go work with some fixed group of people on some fixed task I can do that. It is called a job.
I'm at a hackathon to generally improve the state of things that the people around me are passionate about and to be exposed to new things.
Sanity is a sandbox. I prefer the swings.
It's really hard to say what makes a good hackathon. But, you can judge your success easily enough. If within two or three days, the FBI, CIA, ATF, ICE, and other government agencies kick everyone's doors in, and confiscates everything that everyone owns prior to flying everyone to Guantanamo, you KNOW you had one hell of a hackathon!
"If there's a hackathon heaven . . . "
https://www.youtube.com/watch?v=9IEemZ6-LZc
"Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
http://vinay.howtolivewiki.com/blog/other/swarm-cooperatives-more-event-details-including-speakers-3406
"Evolution of Swarm Cooperatives" is about hackathons, unconferences, bar camps etc. - anything where you get a large, reasonably diverse group together in an informal setting to work together, solve problems or learn from each-other. Specific topics to address: more effective code reuse after hackathons, documenting unconferences, and scheduling when you have at lot of potential speakers.
If you're in London and have an opinion, come along - we're about 1/4m from the London Hackerspace on Hackney Road.
Hexayurt - open source refugee shelter,