State of the Browser

Warning This article was written over six months ago, and may contain outdated information.

This weekend I attended the London Web Standards group’s State of the Browser, a one-day event with representatives of many of the major browser makers giving us status reports on their products. Chrome, Firefox, Opera and Blackberry were all there; a member of the IE team was due to show but had to pull out for personal reasons (he viewed the live stream and answered some questions from home). The notable absence was Safari, whose community engagement is really not good enough.

There were long talks and shorter breakout sessions, as well as plenty of time to socialise; the LWS must really be congratulated on organising such a good event. There was plenty of news and talking points throughout the day – far too much, really, for me to write here, so I’ll just write up notes of what I found most interesting to me.

After a fun introduction from Terence Eden, the first full session was by Michael Mahemoff of Google. He showed that Chrome’s V8 JavaScript engine is now some 700% faster than when it was first released, and then mentioned a few features that have just landed (or are about to land) in the browser: the HTML5 File System, Shared Workers, and Server-Sent Events. The big round of applause, though, was reserved for speech input in forms, which is supported in Chrome (dev channel) right now; you just need to add the attribute x-webkit-speech:

<input type="text" x-webkit-speech>

He also showed off the Chrome Web Store and a neat little utility, Appmator, which you can use to easily publish your own app. His slides are available online, but they only work in WebKit browsers. :(

Next was Paul Rouget of Firefox, showing off a load of neat demos of the capabilities of open web media, many of which can be found at Mozilla’s Web O’ Wonder. He also demonstrated them all running perfectly on Firefox Mobile, which pretty much has feature parity with its desktop sibling – indeed it may even have more, as it includes the Notifications API which isn’t in Firefox desktop yet. There’s a cool little dashboard demo which showcases many of Firefox 4’s new features, and an impressive mobile version which doesn’t seem to be online yet.

He then talked about Firefox’s new release schedule, which is moving to quarterly releases meaning that Firefox 7 could be out by the end of this year. Features planned for inclusion in Firefox 5 include Web Sockets, Server-Sent Events, the Fullscreen API, Notification API, and an Account Manager. No mention of what Firefox 6 may have, but Firefox 7 may include an update to the Gecko engine.

Chris Mills of Opera was next. In his talk, A Matter of Good Form, he focused a lot on Opera’s implementation of HTML5 Forms, which it must be said are streets ahead of anyone else. I’m putting together a couple of posts on forms, so I’ll save discussion of this until that time.

After lunch there were some breakout sessions to choose from. I attended first Google’s Malte Ubl’s session, Performance Optimization for HTML5 Apps. In fact this was a really good overview of performance best practices, not limited to only HTML5 apps. One of his points was to let the browser take as much of the work from the JS engine as it can; use CSS transitions instead of JS animations where possible, as this uses the browser’s hardware acceleration and therefore less processor resource. Another was to interact with the DOM as few times as possible, and to also to group those interactions; if your JS is currently structured Read-Write-Read-Write, changing it to Read-Read-Write-Write means less DOM interaction, and increased speed.

An interesting aside: he said that this generation’s equivalent of zoom:1 (which triggers hasLayout in older versions of IE) could be:

E { transform: translate3D(0,0,0); }

This triggers hardware acceleration on elements which don’t already use it (in Safari, at least). I think this may have been partly a joke, however!

The second session was The Dos and Don’ts on the Mobile Web by Blackberry’s Mathew Staikos, which covered some similar ground but had more good tips, notably not to use position:fixed with WebKit Mobile – it can cause a complete repaint after every scroll action! Also, use touch events where possible as they’re faster than click, which has to wait anywhere up to 500ms to see if the action will be doubleclick before firing. He also used a tool I hadn’t seen before which provides information about the version of WebKit you are running. His colleague Sanyu Kiruluta then gave us a very rapid overview of the Blackberry App World (link is Windows-only) and their tool WebWorks, which is similar to Phonegap.

To round the afternoon off we had a Q&A with all of the main speakers, then off to the pub for a free beer courtesy of BlackBerry. Thanks, BlackBerry, and thanks again to everyone else who organised, spoke and attended.

NB: I’ll update this post with more slides and videos from the event as they become available.

2 comments on
“State of the Browser”

  1. Thanks for the writeup Peter.

    “His slides are available online, but they only work in WebKit browsers. :(”

    I agree this is fully lame. In fact, there’s a lot that’s lame about the slide framework I use, which was mostly hacked up on a couple of flights. It’s served its basic purpose as a rapid way to build slides and reuse content with cut-and-paste, but I do have a major TODO to throw it away and rewrite it with flexibility and web standards in mind.

  2. Crap. If I had known about this, I would have gone too!