The Pond at Mobile World Congress with Firefox OS

Last week I attended Mobile World Congress in Barcelona, Spain after being invited by Mozilla to show off The Pond (blog post). Originally Mozilla found me through my blog, and asked me to write a post about The Pond on Mozilla Hacks. For Mobile World Congress they were looking for app developers to help showcase Firefox OS, which is where I came in.

Before heading out though, I decided to update the app in a few areas:

Memory Management Update

The first thing I looked at was memory management, and attempted to achieve static memory via object pooling. Unfortunately things didn't go smoothly, though decreasing allocations inside core inner loops aided greatly in reducing the rate at which the garbage collector ran.

Device Scaling via devicePixelRatio

If you're not familiar with mobile web, the following meta tag is used to properly scale websites:

<meta name="viewport" content="width=device-width,user-scalable=no">

However, the problem with this approach is that it scales the canvas as well, causing the rendering to be low resolution. The solution is to scale the canvas size relative to the device pixel ratio, increasing the rendering resolution without changing the physical size of the canvas:

devPixelRatio = window.devicePixelRatio || 1
$canvas.width = window.innerWidth * devPixelRatio
$canvas.height = window.innerHeight * devPixelRatio
ctx = $canv.getContext('2d')

Background Music A while back I created a game called Avabranch, wherein I used a background sound track I found on Sound Cloud. The author of that track, Chrissi Jackson, got in touch with me and offered to create an audio track for The Pond. She did a fantastic job, and got it to me just in time, with the commit going in less than 3 hours before the conference.

Mobile World Congress Surprisingly, the vast majority (I'd say ~90%) of attendees were business people and not developers. Even more surprising was the crazy world of meetings which manifested itself at the conference by means of physical meeting rooms. The first hall was entirely dedicated to meeting rooms, and more were spread out throughout the rest of the halls. That being said, I personally got to speak with some amazing people, including the guy behind js13k games (for which I wrote Senshi), someone from Aviary, and a few people from Line.

Many people were interested in The Pond, which I demoed for those that came to the Firefox OS booth. Additionally, I got to show a few people Zoggle, and got some great responses (Spanish Zoggle might be coming soon!). Overall most people seemed to enjoy the games and were really interested in the technology behind them.

There were also a few interesting products at MWC, including some Tizen and Ubuntu mobile devices and a handful of smart watches which were fun to play with. However, both were trumped by the recently announced $25 Firefox OS phone (which I tested out). The potential impact of the phone is huge, and look forward to the challenge of developing for such a low-end device. Barcelona

And finally I also got to spend some time exploring the beautiful city of Barcelona: