I had my first hackathon three weeks ago. So much fun!
So what did I build?
An app to display pre-existing captions in the cinema for the deaf and hearing impaired. Sounds cool? Read on.
The Problem
Deaf people can’t hear movies. I’m deaf. I use this. It is essentially a giant dongle that sits in the cupholder and displays the captions of the movie. For me it is awesome.
However this large paraphernalia is large and embarrassing to parade around with. None of my deaf friends use it. Sometimes I arrive at the cinemas and the dongle is flat. That really ruins my evening. A flat dongle is pretty useless. I wish I could just pull out my phone and watch the captions like this instead…
I already have the subtitle file (its online). So I made an auto syncing caption player.
I decided to use a voice recognition API, and listen for parts of the audio, and “fire” the caption player in time with the movie. It sounds so simple, but it took a whole weekend! (A more detailed explanation of the problem)
The cool things I learned while doing this hack:
Delegation
Delegating to other team members is difficult. But if you find a nice chunk of self contained work and hand it off properly you can literally clone your efforts! Haha super powers!
Swift is changing swiftly
Swift (the iOS language) is a slippery beast. A wonderful clean language in violent flux. Every snippet in StackOverflow, needs a few dozen changes before it works which tends to shake my confidence.
Also, searching for answers to 'swift' problems tends to get this result:
Apple loves squeezing money out of you
Signing apps in Xcode sucks. I had so many headaches trying to deploy to my actual device. Apple is starting to restrict the usage of certain API’s (siriKit) to those with a $150 paid developer licence. That really sucks. Apple also only allows 10 app IDs every 7 days for an unpaid developer. Be warned.
People with different skill sets teach surprising things
While my dad (yes he was hacking away too) was building the subtitle player, I paired with Brian, a fellow from Queensland Health IT. He works in IT support. He was dubious about his value as a hacking dev but together we were awesome.
Pairing with Brian kept the up the momentum and armed me with a fresh set of eyes. As an administrator he had excellent experience in making sense of error logs and hunting down hidden configurations when we were wiring things together. I learned a lot from his approach.
With 2 hours to go, I finally had a viable demo to show the judges! Commit! Push! Beer!
We got second place! However the real reward was enjoying my Steve Jobs moment in front of the judging panel. I played the movie, started the app… and hey presto! The captions appeared and synchronised perfectly!
Thanks to all who helped run the event. I will be a big advocate for this one next year!
And a very special mention to my Perth counterparts who completed a beautiful user interface in a sister project during the same hack!