Apps are Boring; Games are Fun

A few weeks ago I headed down to Porto Alegre to help out with a Mozilla hack day after BrazilJS. I was around at the BrazilJS event as well, but I only fielded the odd question as most attendees were off at the awesome talks (it was a single-track conference — my favourite kind). As a result, I didn’t exactly know what to expect from the hack day, seeing as it was to be a mix of BrazilJS attendees and folks who heard through the grapevine there’d be a day of hacking. It was also my first time in Porto Alegre (and in Brazil, for that matter) so I had nearly no idea what to expect of the coding scene there.

Well hot damn I was impressed.

I was sent to Brazil pretty last-minute, so speaking at BrazilJS wasn’t possible. But I did get to give a brief talk after Brendan Eich showed off BananaBread — which was basically the perfect segue ever.

Building More Exciting Apps

I spoke for what I remember to be about twenty-five minutes about building open web apps with Mozilla’s kick-ass app templates (mortar, WebGameStub, and sutthisan). I focused specifically on ditching the tired idea of making your first app a grocery list or Twitter client; I argued instead that game programming in HTML5 and JavaScript — especially 2D programming — was within the grasp of many more web developers than it was even a few years ago.

Mozilla’s WebGameStub makes this especially easy; it’s a simple game loop plus a <canvas> tag that lets a developer get their own 2D game engine started with no extra boilerplate. It even includes a demo game that you can use to bootstrap your own game (which is how yours truly got started). Another Mozilla web developer, Fred Wenzel, was able to build a snake clone and ship it to the Mozilla Marketplace in an afternoon. I added iOS support and touch events easily. Turns out: this stuff isn’t hard at all!

So after I stood in front of a decent-sized audience and spoke in weird English for half an hour to a Portuguese audience, we got hacking.

Photo of Porto Alegre hack day audience
A shot of some of the hack day attendees at my talk.

Of Woes and Wifi

Hundreds — sometimes even dozens — of people storming your wifi just doesn’t work. We got stuck with pretty slow connections for everyone, which meant I was fielding a lot of questions and folks were having trouble getting access to GitHub and the awesome Mozilla Developer Network. I was worried that between my very English help and the crummy wifi it wouldn’t be a very productive hack day. With about three, maybe not quite four hours of hacking behind us, we announced that it was demo time.

Unexpected Turnaround

I was running around the whole day, helping people with JavaScript questions, API nonsense, and whatever else, that I barely got to really see what they were working on. Other groups were a bit secretive of it. But what they turned out from a few hours was totally awesome. My two favourites from the hack day were:

There was even a modified version of the demo game included in WebGameStub to be a somewhat Sisyphean version of the original. I got a bit of a kick out of that one.

Make Bacon game screenshot
Even vegans should find this funny.

Make Something Awesome

I did a short demo of the aforementioned Serpent and our own flux-game — the result was an afternoon of games including more than just the highlights I picked out. The takeaway for me was validation of what I was saying to all the hackers in Porto Alegre: you can building something fun, something unique, and something genuinely cool with the APIs and tools provided by the web.

So stop building to-do apps and make the web a more exciting place!