So normally I'm not a big Hackathon guy. They scare me to be totally honest. I've always been a competitive person but I've always been competitive at things that I was never very good at. Programming, something I take very seriously and something that I consider to be my "profession" becomes terrifying when put into the world of the competitive. I went to a Hackathon once before this and I stayed for a few hours, had a hard time and gave up. It was hardly a positive experience.
I went to Software Freedom day for a few reasons. One was that I needed something really exasperating to keep my mind off of personal things. Another was that I really wanted to win a Firefox Phone which I had heard would be the grand prize of the hackathon. I guess I'm kind of vein when it comes to competition.The glory and all is pretty neat, but I just don't want to buy my own cool little trophy, I want to earn it.
What did I actually do? Something kind of silly. Wanting to win the phone I decided I'd try to write an app for said phone. Of course my app idea was an old fallback. I really like Last.FM and wanted to make a scrobbler knowing well that there would be nothing like it on the Firefox OS platform. I learned exactly why that was as I struggled for well over 24 hours trying to write a simple application that would submit track info to Last.FM automatically. Turns out Firefox OS has no good way to communicate between applications so I was left with almost no real way to write this app.
At least not easily. I had a couple of ideas on how to nab some metadata from the music app. One was something that callahad (the mozilla guy at the event who's actual name I cannot remember for the life of me) stumbled across. The lockscreen of the device displayed metadata, how was it getting it? Turns out there was an event handler that it was using from an experimental IAC (inter-app-communication) API. Hacking that into the project would have been a nice solution. However thanks to the lack of documentation and not being able to get it working after a few hours I opted to try to hack in my original solution.
When I pitched the app idea to everyone my goal was to hack up the Gaia (FxOS frontend apps) Music app to write out metadata to a JSON file that I'd parse later with my own app. This hit so many problems. First one was weird, turns out that unless you rebuild Gaia, none of the Gaia apps have access to localization. This kills the app when you try to run it. After figuring that out and cloning down Gaia I ran into another issue. You can't debug Gaia apps in the FxOS Simulator which makes any sort of Gaia hacking very difficult. Especially when FxOS descides that it doesn't want to let me write anything out to the SD Card ever. I could not for the life of me get any of my code working inside of it. Callahad offered me the use of his Flame phone to try debugging the defunked muisc app. Turns out that replacing the music app files will just remove the app; I would have had to reflash Gaia to see my code running. What a headache.
By the time I got all this figured out it was all over. There was no time left and I was exhausted. The other projects were all really cool and I was certain that what I had spent my time working on was not going to stack up. Apparantly the point of a hackathon is to hack things, WHO KNEW, and I wound up with a fancy new Flame phone. Pretty neat, right?
What will I do with this neat new phone? Maybe I'll post a review of some sorts, or maybe I have some super secret plans for it.
No comments:
Post a Comment