So June 18 through 20, I got to attend O’Reilly Velocity 2013 in Santa Clara (just up the road from home). Given that I’m neither a web developer, nor a devops engineer, it may seem a little odd to some that I attended at all, but I have a good reason, I swear! We (the Necko team at Mozilla) wanted to investigate the existing web performance landscape to (1) ensure we weren’t doing something that web developers/ops didn’t expect (thus harming performance), and (2) see if there was anything we could do to help improve performance within the framework of what developers already expect. The good news is that I wasn’t taken completely by surprise by anything at the conference, so we’re not doing anything horrifyingly wrong. Even though there weren’t a whole lot of surprises, I still got a lot of good information, and I wanted to touch on some of that here.
Chrome… Chrome everywhere.
Given that I’m a Mozillian, I wanted to keep a (very informal) count of the browser distribution I saw in use by a crowd that was overwhelmingly web devs and devops. Google’s Chrome was overwhelmingly the browser of choice in this group. Of the browsers I saw open on people’s screens, I saw
- No Opera or IE
- One Safari
- Two Firefox (not including myself and the other Mozillian I knew at the conference)
- Everything else Chrome
Like I said, this didn’t exactly take me by surprise. My feeling, even before attending the conference, has been that the web developer community greatly prefers Chrome (I’ve heard various reasons for this preference). I’m not knocking Chrome, it is, indeed, a great browser. It still makes me a little sad, though, to see things so skewed in one direction. A little more balance would be good for the web.
Everybody Loves RUM
Again, not surprising. Real User Monitoring is pretty much the only way to really prove changes in production for any piece of software, whether it’s a web app or a web browser. There were quite a few sessions on RUM, and it was good to see my team’s intuition on the JS APIs around timing being validated.
Developing world? What developing world?
OK, this one took me a little bit by surprise. In the sessions I attended, at least, pretty much now one talked about optimizing for content delivery over anything less than a 3G (or even LTE) connection. Not that it wasn’t mentioned at all, but the only time I saw anything like GSM, EDGE, or GPRS mentioned was in an “Oh, yeah, these really slow connections exist, too, and you should probably care about them” sort of way. I know we’re all lucky here in the US (and Europe, and Japan, and …) to have excellent connectivity, but the next big group of people to come online won’t have that kind of connectivity (at least to start), and everyone needs to start thinking about how to best serve those markets.
A Little Better Balanced
This is probably the least scientific of my observations (with the possible exception of my browser count), but I noticed that, compared to the last conference I attended (PyCon 2007), there was a better balance between the number of men and women speakers. If I remember correctly (my google-fu failed in finding the speaker list online), there was only one woman speaker at PyCon in 2007 (during a session, not during any of the keynotes). By contrast, my (very) quick count for Velocity showed 10 women speaking (including one of the keynote speakers). Is this better? Yes. Do we still have a long way to go, in terms of equality in tech and tech conferences? That’s a resounding yes. Still, it’s encouraging to see progress being made, even if it is painfully slow.
HTTP/2 Questions and Worries
I kind of feel like I want to talk about this more at length, in a blog post of its own, but I feel like I should at least touch on it here. A lot of people were excited about HTTP/2, so that’s good. However, I heard some questions and worries about HTTP/2 (and have since seen similar worries eleswhere on the internet) that were just downright perplexing to me. The most common misperception I saw is that HTTP/2 somehow breaks the request/response model that we’ve all come to know and love from HTTP/1.x. Repeat after me: the semantics of HTTP are unchanged. Let’s say that one more time, all together. The semantics of HTTP are unchanged. Oh, and your app (client-side, at least) shouldn’t (except perhaps in very special cases) have to care whether it’s running on HTTP/1.x or HTTP/2. There now, doesn’t that feel better?
Lots of Love for WebPageTest
Also not surprising, but great to see. There was a lot of love being shown for WebPageTest. If you haven’t checked it out, what are you doing here? Go, look now. What’s left of this post can wait until you read about it, play around it, and see just how awesome it is.
Sessions I Enjoyed
- Avoiding Performance Regressions at Twitter. I was especially enamored with Slide 37 (why the load event is not the best metric) and Slide 47 (a performance comparison between a few browsers).
- Bits On The Wire. Note: these slides may behave a bit badly, as they’re HTML/SVG (this is the author’s caveat, not mine).
- What, Where And When Is Risk In System Design? (video). From Wednesday morning’s plenary. Very interesting stuff.
- Meet the Obama Campaign’s $250 Million Fundraising Platform (video). Also from Wednesday morning’s plenary. Really interesting to see how they made their systems scale to handle some pretty insane load.
- Resolution For a Faster Site - How DNS Affects Page Load Time. Did you know that your DNS matters? It really does.
- Tuning TCP For The Web. If you’re using the defaults, you’re doing it wrong. Oh, and Windows XP is really kind of horrible.
- Mobile Performance from the Radio Up: 4G Architecture and its Implications. This video isn’t actually from Velocity (they didn’t have video or slides available for this one), but it’s the same speaker (Ilya Grigorik) at Google I/O, with pretty much the same content. Good stuff, you need to watch this.
- Gamedays on the Obama Campaign (video). From Thursday’s plenary. Planning and practicing disaster scenarios, with a twist at the end! Go watch it, really.
- Lightning Demos (video). Two from Thursday’s plenary. Demos of httparchive.org data in Google’s BigTable, and also of WebPageTest.
Overall, Velocity was a good time. I met some people, saw some talks, and ate some surprisingly good food (especially surprising given that it was prepared for something like 3000 people). Hopefully I’ll get a chance to go next year, as well.