Christian Heilmann

Chrome Developer Summit 2013 – Day one review

Thursday, November 21st, 2013 at 6:50 am

When I was invited to come to the Chrome Developer Summit, I went with a sense of dread. I got a weird impression the last few months that Google is pushing very hard into a Chrome-only world, with lots of information about Dart and APIs only available in Chrome packaged apps flooding Google+ and the announcement that extensions to Chrome can only come from the store now. That said, I have massive respect for the Chrome relations team and many people in there I love to work with. So I went to see what’s what.

The conference organisation

All in all, it was an excellent conference so far. It seems that the Chrome Developer Summit has taken a leaf out of the book of smaller conferences like Edge and Full Frontal and learned that a single track conference with shorter talks and larger breaks makes more sense than hour-long talks rushing people from track to track. The event was also streamed and I am sure the recordings will be available, too.

The location – one building on the Google Campus – was easy to get to and had all the facilities to look after a large group of geeks already in place. Food and drink was plentiful and good; breaks were half an hour each which gave people plenty of time to network and ask questions. Instead of Q&A speakers were available in the breaks after their talk at a dedicated “meet the speakers” spot. That made it much less of a rush to get the answers you wanted.

Jake Archibald and Paul Irish did the moderation and introduction of the other speakers which was very low key and just the right amount of information and – in Jake’s case – a good amount of dry humour.


The audience was mostly developers and a who is who of client-side development. In addition to the Google developers working on bleeding edge stuff well known faces like Alex Sexton, Brian LeRoux, Nicole Sullivan, Eli Fidler and quite a few Microsoft people were around to chat.

Following is a presentation by presentation review I was asked to put together, pointing out what I liked but also what could be improved. Bear in mind that right now I live from event to event and dabble in the bleeding edge of what browsers do. Some of this might sound harsh because of that but I was explicitly asked to give this kind of unfiltered feedback. That way I ask you to read the following with me playing the role of the harsher judge of a TV “next rockstar” show rather than the one who is supposed to make you feel good before the other one can crush you.

Keynote by Linus Upson

This was the first surprise. Linus is a very down-to-earth, charming speaker and instead of pushing Chrome we got a history of writing code for the web, the move towards mobile and apps and what challenges it brings. Linus forgot a few things and had to ask his experts to help him out, which may sound terrible in a keynote, but to me actually made it much warmer and human. I was really inspired and it managed to evaporate my worries of being at a two day indoctrination summit to the way of the Chrome.

Build mobile apps with Chrome WebView by Matt Gaunt

Matt introduced the new features of Chrome Webview. Lots of good information here and no glossing over the issues that are still there with the concept of WebViews (deep connection with the OS, not automatically updating, lack of support of technologies available in Chrome Desktop). I’ve never seen Matt speak before, and it was a well paced talk with lots of good information.

Network connectivity: optional by Jake Archibald

Jake is always very insightful and extremely funny to watch. In this talk he covered the issues of detecting connectivity and being able to provide offline functionality using current solutions like Appcache but also improved ideas like Service Workers. I’ve seen excellent talks by Jake. This one did the job, but felt a bit rushed. I guess the double duty as moderator and presenter is tough to pull off.

Media APIs for the multi-platform web – Sam Dutton and Jan Linden

This was the show-and-tell talk about all the cool things we can do with media. Video, Audio, WebRTC, realtime communication and so forth. Sam and Jan did a good job of showing that WebRTC is more than getUserMedia and give a lot of demos how we can use multimedia natively on the web these days. They were also joined on stage by Chris Wilson and his magical Midi and USB hardware – if only briefly. Technically this was a really good talk and showed the state of WebRTC, I just found that it tried to show too many demos for a half hour talk and thus felt a bit dense and rushed and in the end it ran out of time. Two really significant demos, less extra hardware and more “check this out as homework” would have been better.

#perfmatters: Tooling techniques for the performance ninja – Colt McAnlis

Colt, self proclaimed “angry bald man who shouts a lot about performance” did exactly that. A lot of great information about performance, delivered at machine gun speed with a lot of good things to take away. It could have been overwhelming for some. I enjoyed it.

#perfmatters: Optimizing network performance – Ilya Grigorik

Ilya’s talk was one that would have gone down immensely well at a performance conference like Velocity. Lots of information, a lot of it based on real data and analysed eloquently and with proven results. I felt a bit overwhelmed and it was too academic for me. Basically all the information was on the slides and Ilya read it out to us. I guess with a data-heavy topic this can work, but I was missing some zing for it to be an engaging presentation. I want to see this as a post.

#perfmatters: 60fps layout and rendering – Tom Wiltzius and Nat Duca

The first of my two highlights of the day, Tom and Nat did a great job selling the jankfree idea with real examples how to make scrolling smooth in a web view and on the desktop. Lots of great information about performance optimisations, how to use tools to find the bottlenecks and what to avoid if you want to create a truly engaging experience on the web. These talks can come across as very arrogant and condescending (“this is how you do it”) but the interplay of Tom and Nat on stage made it much more human and exciting than many other talks I saw with this topic. There was also no selling of pixie dust – we heard about the good and the bad in equal measures. More of that.

Polymer: declarative, encapsulated, and reusable components for the web – Eric Bidelman

My second highlight (probably because I really dig web components by now) was Eric Bidelman explaining Polymer and web components by starting with the humble select element and how versatile it was and how this fidelity of declarative markup can be achieved for all of our widgets using web components. Seth showed short and to-the-point demos of how to use web components and what they are good for. This was not “the Polymer show” but a good introduction to the need for web components and an explanation how Polymer makes them possible today rather than having to wait for them. Excellent job.

Dart for the modern web developer – Kasper Lund and Seth Ladd

This one already got some flak online for being a talk that didn’t tell many new things seeing the improvements that are happening to JavaScript itself. While I don’t necessarily agree or disagree, I enjoyed the talk. I don’t care about Dart, I never was interested in writing a language that “fixes JavaScript” but converts to it. The way Seth and Kasper showed the language though showed me how it can be very interesting for certain developers and I found the explanation how Dart optimises the generated JavaScript very insightful. My main worry about abstractions is always that the final code is not only unreadable but also bloated (GWT anyone?). I now am actually pretty confident that Dart can make people happier with writing for the web and result in optimised, fast JavaScript, too. I’ve avoided Dart talks before this, now I know what they try to do and am happy with it.

Develop Chrome Apps on desktop/mobile, distribute and profit – Joe Marini

The packaged Chrome Apps talk was not the “hey, this solves all your problems” presentation I dreaded but a nice overview of how packaging an app for Chrome or via Phonegap makes it achieve more in the OS it runs in. Much like the talks I give about Firefox OS, with a bit less standardization proposals mixed in. Joe showed some nice demos, explained why Chrome needed a packaged app model and how to get started. A solid talk, maybe only lacking some real success stories. Some of it was glossed over and shown to impress. Sure you can make a text editor in HTML5 look like SublimeText; the real issue is making it have the same keyboard shortcut fidelity and speed in rendering lots and lots of code. I liked very much though how Joe explained the need for real offline functionality being easier to achieve and easier to understand for end users in packaged apps.

Portable Native Client: How we learned to stop compiling and love the translator – Molly Mackinlay and David Sehr

pNaCL was one of the big things for Samsung at their developer conference in San Francisco a few weeks ago. They did a great job showing how this technology allows to convert C++/Java/C# etc. code to the web whilst keeping performance and security and the development tool chain the same for developers of classic native apps. This talk, however, it has to be said, was terrible. It appeared badly rehearsed, sounded at times very condescending and was all in all a pure sales pitch sometimes disagreeing with great points already made and proven in other talks.


Day one was well worth it and I congratulate the events team on a job well done. The only real issue I had was the presentation part of the event ending with the worst presentation instead of leaving with a bang and giving people some excitement to talk about at the after party. I’d have loved to see something at the end that is brand new, a preview of things to come, something that only people following this event, right now, could see and talk about. Start strong, end strong. Let’s see what tomorrow will bring.

Share on Mastodon (needs instance)

Share on Twitter

My other work: