I don't watch much TV. During the last episode of The Apprentice, my Twitter-feed was suddenly flooded with people talking about Nick Holzherr's app "Whisk".
Apparently it was some kind of recipe / shopping / mash up thing called Whisk. Sounded good. Sounded familiar. Then I remembered this from CadburyHack
— Cadbury UK (@CadburyUK) May 27, 2012
Now, I didn't see either the TV show or the final presentation at the Hack Day. For all I know, they're two completely separate apps. Indeed, quoth The Hodge
— Dom Hodgson (@Thehodge) June 3, 2012
That last link points at http://www.foodient.com/ - a site co-founded by Nick Holzherr.
So, at the very least, the app was built off a back end that the team were intimately familiar with having created it.
I asked Nick, about it, and he cleared things up.
— Nick Holzherr (@nickholzherr) June 7, 2012
Now, the CadburyHack event had a top prize of £10,000. That's a hell of an incentive.
I wouldn't have been surprised if people had pre-built components, or even developed entire apps - I did some prep for my app.
But it just doesn't feel... sporting. Building a hack on top of your own product seems to me to be against the spirit of a hackday. But perhaps I'm just bitter that I didn't win!
How Much Is Too Much?
I suppose that the Platonic Ideal of a hackday is that one attends as a blank slate, sees the technology on offer, form a team with people you've never met, hack all through the night, and produce something groundbreaking.
That never happens. Most people have at least half an idea of what they want to build, they team up with their friends, re-use components they've build previously, and hack with an eye on the prize categories. "Doesn't seem to be much competition for best use of Erlang!"
Take, for example. my Android Theremin. I can honestly say that I didn't write a single line of code - or do any research on the Android sound APIs - until the second morning of the hackday. I didn't reuse any code that I'd previously written either.
However, the idea had been buzzing around in my head for a month or so. I'd watch Theremin videos, and looked at the science behind them just to keep the idea percolating.
Is that too much prep?
My CadburyHack was a different affair:
The Twitter and FourSquare code were originally written by me for other projects - so I reused them (Yay for Object Oriented Programming!). I'd used XPath before to scrape a site - so adapting it for Cadbury's wasn't hard. The barcode scanning integration was ripped out of an existing project. Even the template from the page and the font embedding code was recycled.
Is there a difference between code you've previously written and code you've plundered from some Open Source project?
Is there a difference between your prior knowledge of coding, and what you pick up on the day?
Is there a difference between building on an API you've used a hundred times, and one you've only just seen?
Hackdays are fun. The prizes are a nice bonus. But, ultimately it's about showing off and proving yourself within a limited time in front of a crowd. If you "cheat" you're really only cheating yourself out of the pride of hacking something original.
Still, whether the prize is a new phone, or ten grand, then incentive to bend the spirit of a hackday is strong.
Or am I just making a fuss over nothing?