Core HTML5 Canvas

by David Geary

NDC, 2012: My Choice for Top 3 Sessions


NDC, Oslo 2012: My 3 Favorite Sessions

This was my first time speaking at NDC, and it was a great conference. Lots of great speakers and sessions, and the food was top-notch. Along with Devoxx and StrangeLoop, NDC is now one of my favourite places to speak.

Besides speaking, I sat through as many sessions as I could. Here were my top three picks:

#1 HTML5 Web Sockets and Socket.IO by Geuillermo Rauch

Guillermo’s the implementor of Socket.IO, and a very good speaker. He’s soft-spoken and self-effacing, and gives you the impression that he’s a fun guy to have a few beers with. He instantly builds rapport with the audience.

And what a great talk this was. Most of it was live-coding a multiplayer CANVAS game that let you blast away DOM elements on NDC Oslo’s website. It’s hard to think of a more compelling example than that.

In general, I’m not a big fan of live coding because so many things can go wrong, and you have to waste a lot of time typing. Generally, people don’t want to watch you type, but they have to constantly pay attention or they get lost.

But if it’s done right, live-coding is magical, and Guillermo did it right. He came prepared with code on his iPad, that he referred to once in a while, and as he was typing, he was able to speak about what he was doing.

This was my pick for best session.

#2 CSS in the 4th dimension: Not your daddy’s CSS animations by Lea Verou

Lea knows what audiences like to see: interactive demos that effortlessly communicate tricky concepts. And this presentation is full of them. For example, in CSS, “for a property to animate with a transition, it must be possible to represent all intermediate states of the property”. Simple, right? Could that ever trip you up? Oh yeah, it most certainly can. Lea explains this very well with a concrete WTF? example. You can watch it starting at around 6:00 of this video of the talk from the Scandanvian Web Development Conference in 2011: http://bit.ly/LMsl1R.

As I exited her talk, I noticed that Lea had nothing but green cards in the speaker box. I thought it was very well deserved.

#3 Web GL What? by Rob Ashton

Another self-effacing speaker, this time a Brit with a dry sense of humor, those two qualities made me like Rob from the very beginning of his talk. He was also refreshingly honest about what a horrid affair it is to implement Web GL applications. Web GL programming is essentially direct manipulation of the GPU, an abstraction that’s almost certainly a long ways away from whatever abstraction you’re trying to express with Web GL.

To paraphrase Rob, implementing Web GL applications consists of “most of the time staring at a black screen, trying to figure out what the hell what wrong”.

One thing I didn’t like about this talk was Rob’s characterization of HTML5 Canvas: “It sucks, don’t use it.” IME, such dogmatic statements rarely hold water upon further examination.

I’m not sure what Rob’s beef is with Canvas, perhaps it’s a perception of poor performance–the Canvas API is orders of magnitude more user friendly than Web GL, so that can’t be it–and if it is performance, Rob should take a look at the current state of Canvas affairs, now that hardware acceleration has become a reality in many browsers (such as Chrome 18, iOS5, Mac OS X Lion, and so on).

Anyway, I thoroughly enjoyed this talk because it showed the basics of Web GL in an entertaining manner and was honest about the warts — which are legion — in Web GL development.

I had to slip away for most of Remy Sharp’s HTML5 Outliers talk, but it looked like a very good talk also.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: