{"id":3018,"date":"2012-10-02T11:28:17","date_gmt":"2012-10-02T19:28:17","guid":{"rendered":"http:\/\/blog.mozilla.org\/webdev\/?p=3018"},"modified":"2012-10-02T11:30:03","modified_gmt":"2012-10-02T19:30:03","slug":"apps-are-boring-games-are-fun","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/","title":{"rendered":"Apps are Boring; Games are Fun"},"content":{"rendered":"<p>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 &#8212; my favourite kind). As a result, I didn&#8217;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&#8217;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.<\/p>\n<p>Well hot damn I was impressed.<\/p>\n<p>I was sent to Brazil pretty last-minute, so speaking at BrazilJS wasn&#8217;t possible. But I did get to give a brief talk after Brendan Eich showed off <a href=\"http:\/\/www.youtube.com\/watch?v=EeD3xSawJnc\">BananaBread<\/a> &#8212; which was basically the perfect segue ever.<\/p>\n<h3>Building More Exciting Apps<\/h3>\n<p>I spoke for what I remember to be about twenty-five minutes about building open web apps with Mozilla&#8217;s kick-ass app templates (<a href=\"https:\/\/github.com\/mozilla\/mortar\">mortar<\/a>, <a href=\"https:\/\/github.com\/mozilla\/WebGameStub\">WebGameStub<\/a>, and <a href=\"https:\/\/github.com\/mozilla\/sutthisan\">sutthisan<\/a>). 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 &#8212; especially 2D programming &#8212; was within the grasp of <em>many<\/em> more web developers than it was even a few years ago.<\/p>\n<p><a href=\"https:\/\/github.com\/mozilla\/WebGameStub\">Mozilla&#8217;s WebGameStub<\/a> makes this especially easy; it&#8217;s a simple game loop plus a <code>&lt;canvas&gt;<\/code> 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, <a href=\"https:\/\/twitter.com\/fwenzel\">Fred Wenzel<\/a>, was able to <a href=\"http:\/\/fwenzel.github.com\/serpent\">build a snake clone<\/a> and ship it to the Mozilla Marketplace in an afternoon. I added iOS support and touch events easily. Turns out: this stuff isn&#8217;t hard at all!<\/p>\n<p>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.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/hacks.mozilla.org\/wp-content\/uploads\/2012\/09\/7974498188_5eff2f1eb0_z.jpg\" alt=\"Photo of Porto Alegre hack day audience\" title=\"Some of the folks from the hack day\" class=\"alignnone size-full wp-image-3020\"><figcaption>A shot of some of the hack day attendees at my talk.<\/figcaption><\/figure>\n<h3>Of Woes and Wifi<\/h3>\n<p>Hundreds &#8212; sometimes even dozens &#8212; of people storming your wifi just doesn&#8217;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 <a href=\"http:\/\/developer.mozilla.org\">Mozilla Developer Network<\/a>. I was worried that between my very English help and the crummy wifi it wouldn&#8217;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.<\/p>\n<h3>Unexpected Turnaround<\/h3>\n<p>I was running around the whole day, helping people with JavaScript questions, API nonsense, and whatever else, that I barely got to really <em>see<\/em> 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:<\/p>\n<ul>\n<li><strong>Telepong<\/strong>: An HTML5 pong game, played against two people on different devices. Looks extra cool on phones and my personal favourite. <a href=\"https:\/\/github.com\/ricardobeat\/telepong\">github.com\/ricardobeat\/telepong<\/a>\n<\/li>\n<li><strong><a href=\"https:\/\/developer.mozilla.org\/en-US\/demos\/detail\/make-bacon\">Make Bacon<\/a><\/strong>: A hilarious way to make delicious bacon. <a href=\"https:\/\/github.com\/jesusmercado\/WebGameStub\/tree\/develop\/www\">github.com\/jesusmercado\/WebGameStub\/tree\/develop\/www<\/a>\n<\/li>\n<\/ul>\n<p>There was even a modified version of the demo game included in WebGameStub to be a somewhat <a href=\"https:\/\/developer.mozilla.org\/en-US\/demos\/detail\/run-little-boy-run\">Sisyphean version of the original<\/a>. I got a bit of a kick out of that one.<\/p>\n<figure><img decoding=\"async\" loading=\"lazy\" width=\"600\" height=\"304\" src=\"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/10\/blog-image.png\" alt=\"Make Bacon game screenshot\" title=\"Make Bacon\" class=\"alignnone size-full wp-image-3020\" srcset=\"https:\/\/blog.mozilla.org\/webdev\/files\/2012\/10\/blog-image.png 600w, https:\/\/blog.mozilla.org\/webdev\/files\/2012\/10\/blog-image-300x152.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption>Even vegans should find this funny.<\/figcaption><\/figure>\n<h3>Make Something Awesome<\/h3>\n<p>I did a short demo of the aforementioned Serpent and our own <a href=\"http:\/\/mkelly.me\/flux-game\">flux-game<\/a> &#8212; 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.<\/p>\n<p>So stop building to-do apps and make the web a more exciting place!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/\">Continue reading<\/a><\/p>\n","protected":false},"author":331,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53,4714,4713,19291],"tags":[20250,20260],"coauthors":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Apps are Boring; Games are Fun - Mozilla Web Development<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Riley MacPherson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/\",\"name\":\"Apps are Boring; Games are Fun - Mozilla Web Development\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hacks.mozilla.org\/wp-content\/uploads\/2012\/09\/7974498188_5eff2f1eb0_z.jpg\",\"datePublished\":\"2012-10-02T19:28:17+00:00\",\"dateModified\":\"2012-10-02T19:30:03+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/710b01118eeaa5607349ae02103de5d8\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/#primaryimage\",\"url\":\"https:\/\/hacks.mozilla.org\/wp-content\/uploads\/2012\/09\/7974498188_5eff2f1eb0_z.jpg\",\"contentUrl\":\"https:\/\/hacks.mozilla.org\/wp-content\/uploads\/2012\/09\/7974498188_5eff2f1eb0_z.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/webdev\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apps are Boring; Games are Fun\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/\",\"name\":\"Mozilla Web Development\",\"description\":\"For make benefit of glorious tubes\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/webdev\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/710b01118eeaa5607349ae02103de5d8\",\"name\":\"Matthew Riley MacPherson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/77cc8f7f43cdabbe5a275a420a0cbd33\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g\",\"caption\":\"Matthew Riley MacPherson\"},\"description\":\"Matthew Riley MacPherson (aka tofumatt) is a Rubyist living in a Pythonista's world. He's from Canada, so you'll find lots of odd spelling (like \\\"colour\\\" or \\\"labour\\\") in his writing. He has a serious penchant for pretty code, excellent coffee, and very fast motorcycles. Check out his code on GitHub or talk to him about motorcycles on Twitter.\",\"sameAs\":[\"http:\/\/lonelyvegan.com\"],\"url\":\"https:\/\/blog.mozilla.org\/webdev\/author\/mmacphersonmozilla-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apps are Boring; Games are Fun - Mozilla Web Development","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/","twitter_misc":{"Written by":"Matthew Riley MacPherson","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/","url":"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/","name":"Apps are Boring; Games are Fun - Mozilla Web Development","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/#primaryimage"},"image":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/#primaryimage"},"thumbnailUrl":"https:\/\/hacks.mozilla.org\/wp-content\/uploads\/2012\/09\/7974498188_5eff2f1eb0_z.jpg","datePublished":"2012-10-02T19:28:17+00:00","dateModified":"2012-10-02T19:30:03+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/710b01118eeaa5607349ae02103de5d8"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/#primaryimage","url":"https:\/\/hacks.mozilla.org\/wp-content\/uploads\/2012\/09\/7974498188_5eff2f1eb0_z.jpg","contentUrl":"https:\/\/hacks.mozilla.org\/wp-content\/uploads\/2012\/09\/7974498188_5eff2f1eb0_z.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/10\/02\/apps-are-boring-games-are-fun\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/webdev\/"},{"@type":"ListItem","position":2,"name":"Apps are Boring; Games are Fun"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/webdev\/#website","url":"https:\/\/blog.mozilla.org\/webdev\/","name":"Mozilla Web Development","description":"For make benefit of glorious tubes","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/webdev\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/710b01118eeaa5607349ae02103de5d8","name":"Matthew Riley MacPherson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/77cc8f7f43cdabbe5a275a420a0cbd33","url":"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g","caption":"Matthew Riley MacPherson"},"description":"Matthew Riley MacPherson (aka tofumatt) is a Rubyist living in a Pythonista's world. He's from Canada, so you'll find lots of odd spelling (like \"colour\" or \"labour\") in his writing. He has a serious penchant for pretty code, excellent coffee, and very fast motorcycles. Check out his code on GitHub or talk to him about motorcycles on Twitter.","sameAs":["http:\/\/lonelyvegan.com"],"url":"https:\/\/blog.mozilla.org\/webdev\/author\/mmacphersonmozilla-com\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/3018"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/users\/331"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/comments?post=3018"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/3018\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/media?parent=3018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/categories?post=3018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/tags?post=3018"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/coauthors?post=3018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}