This weekend I attended my first ever hacking event: Music Hackday Boston 2011. It was an incredibly exciting, intense experience with plenty of creative inspirational energy. We had ambitious goals which were largely attained, but when it came to the demo, we failed hard. At least, it felt like we did. As I reflected on the demo while we drove home in the black winter night, Johnny Cash’s “Ring of Fire” came to mind. This is the story my personal ring of fire at Music Hackday and how I fell into it.
It was all Abe’s idea. He mentioned Music Hackday to me back in September. I had been planning to attend some hacking event, but I was thinking of spring. That would give me more time to develop proficiency in my scripting language of choice: NodeJs. I had planned on going alone, but Abe’s proposal was a dream come true because it meant I’d have an experienced guide for the journey. I immediately accepted his offer and we started thinking about the project.
The use case became an web-aware vinyl ripper to put it simply. To put it eloquently, it would be an application to complement and enrich the vinyl listening experience. The idea came out of Abe’s own experience as a vinyl enthusiast. There just isn’t an app out there that takes vinyl into the digital age without getting in your way. He wanted to go authentic all the way by using a physical turntable for the demo and I thought that was just what Hackday needed.
We hacked away furiously from 10 am Saturday morning until we hit the hay for lights out around 2am. Hacking resumed at about 7:30 am Sunday morning, fueled on pure adrenaline. Hacking officially ended at 2pm, but are you ever really done unless you have to walk up to the podium? No, there’s always time for one more tweak and we were going right up to the last minute.
In retrospect, the design of our presentation was laughably fragile. The format of the demos was 2 minutes to set up and 2 minutes to demo. That left us with approximately zero recovery time, and we simply hadn’t planned on failing. At no point during the weekend did we say to each other “So what should we do if the app doesn’t work in the demo?” Maybe that was because we had the basics of the app working by Saturday night. We were confident that it would work. That confidence got us into trouble.
There we were, carrying a turntable, laptop, and several cables connecting the two up to the podium. What could possibly go wrong? Everything in our demo hinged on one thing: The Echonest Fingerprinting API. That fingerprinter would uniquely identify any song based on a 20 second audio clip. As the record was playing, we would show the waveform, identify the track, and then pull in lovely data to present the user with a juicy display to enjoy in their living room. A fine plan, but the fingerprint didn’t work in the demo. Was it the wifi? Was it the API? Was it just a fluke? We’ll never know.
I learned a lot from this painful experience, and I don’t think I could have truly learned it in any other way. As Abe and I were hacking away, feeling the pressure of the time crunch, would we have listened if someone had warned us to make these preparations? Probably not. We were too focused on evaluating APIs from Twilio, Discogs, Musixmatch, LastFm, and of course The EchoNest. Without the pain of this experience, I’m not sure that we would have listened to reason because we would have seen it as a loss of time to implement another feature. Well, we learned this lesson and we learned it hard, but this is for sure: we’ll be prepared for the next one.
Photo credits: Thomas Bonte