Add your site & custom fonts
The Nov 15 2011 crawls for the HTTP Archive and HTTP Archive Mobile are done. Two new things were added.
Add your site
Our goal is to crawl the world’s top 1,000,000 URLs. This month we doubled the number of URLs from 17K to 35K. We’re still a ways away but making progress. But what if you’d like your website to be in the HTTP Archive but it isn’t in the top 1M?
Now you can add your site to the HTTP Archive. If it’s already in the list we’ll tell you and point you to any data that’s been gathered so far. If it’s not in the list we’ll queue it up for the next crawl. We moderate all additions to make sure the URL is valid. We also have a limit of 1 URL per website. We strive to crawl a site’s main URL (e.g., http://stevesouders.com/) but not all the subpages within a site (http://stevesouders.com/about.php, http://www.example.com/videos.php, etc.).
Custom Fonts
I’ve been thinking more about custom fonts after Typekit‘s acquisition by Adobe and seeing Jeff Veen at Velocity Europe. (Make sure to watch the video of Jeff’s talk – it’s an amazing presentation with a humorous start.) So this week I added a chart to track the adoption of custom fonts:
Typekit is clearly on to something – the use of custom fonts has tripled in one year. I warn against using @font-face for performance reasons, but performance isn’t all that matters. (Gasp!) Custom fonts obviously have aesthetic benefits that are attractive to website owners.
Fortunately, Typekit has several performance optimizations in how they load fonts. They combine all the fonts in a single stylesheet for browsers that support data: URIs. The fonts are served over a CDN. The font’s are only cacheable for 5 minutes which hurts repeat visits, but I believe they’re working on longer cache times.
For truly fast and robust font loading we need to lean on browser developers to implement better caching for fonts and better timeout choices during rendering. I’ll be talking about this during my High Performance HTML5 session at QCon on Friday.
Announcing my focus on mobile
For over a year I’ve been saying that I want to focus 100% of my time on mobile performance. I’m finally there. It might not be literally 100% of my time, but I hope to spend most of my research cycles investigating mobile.
My approach to building a practice around mobile performance will follow a similar path as what I did for desktop web:
- Measure
- Identify what to measure wrt performance and services to measure that.
- Profile
- Gather a set of tools that provide visibility into performance issues. Since there’s a lack of tools in this space we’ll have to build them.
- Research
- Analyze mobile performance problems using the identified tools and metrics.
- Best practices
- As a result of this research gather the tips & tricks that have the biggest impact on improving mobile performance.
- Evangelize
- Get the word out! Write case studies, blog posts, and books(?). Speak at conferences
- Lint
- Build tools that spot the performance problems that are most important to fix.
- Automate
- Provide services that automatically apply the performance fixes.
My initial focus is mobile devices over wifi. This allows me to nail down the behavior of mobile browsers independent of the wrinkles introduced by the mobile network. Once the mobile browser variables are well understood I’ll look at the idiosyncrasies of the mobile networks themselves. I’m especially excited to build an archive of transcoding behaviors that harm performance. I’ll dig into the performance of native apps once the behavior of mobile web performance is well understood.
I have a slightly ulterior motive for this announcement. I really want to speak at Mobilism May 12-13 in Amsterdam. (If you do mobile development make sure to register early.) Unfortunately, the speaker schedule is full so I have to convince the organizers I have enough good stuff to present that they need to somehow fit me into the schedule.
Tune back here tomorrow for my first announcement on mobile tools. (Assuming I finish it tonight.)
Velocity China
I returned from Velocity China yesterday. It was a great, great conference. It sold out with ~600 people – the main ballroom was standing room only for the morning keynoters. One thing I noticed that’s different in China – people fill in the seats from the front back, whereas in the US people have to be encouraged to move up to the front.
There were 35 sessions. I invited several speakers from the U.S.:
- Changhao Jiang (Facebook) talked about some of the performance projects he’s worked on including BigPipe, Quickling, and PageCache. This was a great talk covering a lot of material. He was mobbed with questions afterward:

- David Wei (also from Facebook) did two talks. The first was about managing static resources – caching, combining scripts, etc. The second was about the challenges of setting up a performance practice and culture within an organization such as Facebook. This is a topic I get asked about frequently and we need a talk like this at Velocity US.
- Doug Crockford (Yahoo!) did two talks as well. His first was Using JavaScript Well – a focus on the good parts of JavaScript. The second talk was called There and Back Again – a much needed presentation about the potential of JavaScript running on the server.
- Daniel Hunt (also from Yahoo!) did a talk on the performance optimizations behind the Yahoo! Mail rewrite. This also talked about serverside JavaScript and their use of the mustache templating system.
- Alex Nicksay (YouTube) described four specific performance improvements made to YouTube. This talk was great because he included quantified load time results for each improvement. He also talked about their UIX widget system when should be open sourced soon. The slides contain almost all the code anyway.
- I did two talks. One was a variation of my Even Faster Web Sites presentation with some new slides talking about how script loading has changed dramatically in just the last few years. My other talk was about the arrival of the WPO industry. This is a new talk that includes my view of the main phases of building an industry-wide focus on performance.
A special treat that I was able to pull together at the last minute was presentations from the Chrome, IE9, and Firefox 4 teams. These browser talks are always popular at the Velocity US conference. Web developers understand that having fast browsers is critical to improving the user experience, and these browser teams have responded with tremendous focus on performance the last few years.
The other sessions were arranged by my co-chair Zhang Wen Song (Taobao). The presentations in the main ballroom were translated to English, and I also sat through presentations in Chinese. The translated talks were very good mostly focusing on the operations side of Velocity – availability, scaling, CDNs, and more. I had trouble following the talks that were only in Chinese although slides that had code or charts are universal. But I could tell these were good speakers – they were at ease up on stage, they engaged the audience, and their slides looked good.
Here’s some of the back story around how Velocity China happened: Velocity China is the first conference O’Reilly has done in China. And it sold out! A great start. We held it in Beijing since O’Reilly has an office there. But it’s not a very big office – just four employees headed up by Michelle Chen. This team of four people organized their first conference and pulled off a great event. Huge credit to Michelle and her team. I got to meet all them – Douglas, Donna, and Jian – they were incredible hosts taking us out to dinner every night and arranging drivers and tours.
O’Reilly partnered with Taobao on Velocity China. It was critical to have someone building up the conference program direction and content from China. The co-chair, Zhang Wen Song, arranged the program and also delivered a great opening keynote. Joshua Zhu, also from Taobao, helped with emceeing many of the Chinese sessions.
I want to thank O’Reilly and Taobao for making Velocity China happen. I also want to thank all the people I met there. I was overwhelmed by the enthusiasm of the developers. Even with the language challenges, I had deep conversations during the breaks with attendees. There’s no doubt that performance is a big focus in China. With the success of this conference I’m confident we’ll be back again next year.

Web Directions South, Sydney photos
I just got back from Web Directions South in Sydney. John Allsopp and team do a great job. I and many others complimented John on pulling together great speakers at an awesome venue. I especially appreciated the smaller things he did to make a great conference – informal talks during lunch, great coffee and afternoon tea, and an incredible hack day called Amped. About a hundred folks were there on a Saturday creating amazing apps. The winning team, which included Tatham Oddie, built a conference app and also started a website dedicated to a conference data API standard – in one day.
The best talk for me was Tom Hughes-Croucher (@sh1mmer) talking about Doing Horrible Things to DNS. I’m not sure why he called it “horrible” – it’s actually a great performance gain. He described a technique for returning resolutions for multiple CNAMEs in a single response. This is a typical scenario for any web sites doing domain sharding. I also enjoyed watching a live release mid-session from Ben Schwarz (@BenSchwarz). He developed the W3 specification styles Greasemonkey script. Working with Michael Smith from the W3C, those styles are being incorporated into the specs themselves.
In addition to great speakers, there was an energetic vibe across all the attendees. The breaks were packed with great conversations and Q&A. I saw more of this JS community vibe the night before the conference when I attended SydJS. Over a hundred JavaScript developers packed the downstairs of the Atlassian offices for a panel of experts.
I spent Sunday sightseeing before flying home today. The sights and people were great. I want to share two photos:


On my walk back from Bondi Beach I passed through a neighborhood with this street sign for Sustainability Street with the added tagline “It’s a village out there.” A nice community boost in the middle of Sydney. At the Botanical Gardens this morning I enjoyed this sign at the entrance directing me to “Please walk on the grass.” I was further invited to “smell the roses, hug the trees, talk to the birds, and picnic on the lawns.” In the bottom right it says “Plants=Life”. It was a great final touch of Sydney before heading home.
Velocity: Top 5 Mistakes of Massive CSS
Nicole Sullivan and Stoyan Stefanov had the #3 highest rated session at Velocity – The Top 5 Mistakes of Massive CSS. Nicole (aka, “stubbornella”) wrote a blog post summarizing their work. The motivator for paying attention to CSS are these stats that show how bad things are across the Alexa Top 1000:
- 42% don’t GZIP CSS
- 44% have more than 2 CSS external files
- 56% serve CSS with cookies
- 62% don’t minify
- 21% have greater than 100K of CSS
Many of these problems are measured by YSlow and Page Speed, but the solutions still aren’t widely adopted. Nicole goes on to highlight more best practices for reducing the impact of CSS including minimizing float and using a reset stylesheet.
Checkout the slides and video of Nicole and Stoyan’s talk to learn how to avoid having CSS block your page from rendering.
| Choose Your Own Adventure | Adam Jacob | Opscode |
| TCP and the Lower Bound of Web Performance | John Rauser | Amazon |
| The Top 5 Mistakes of Massive CSS | Nicole Sullivan | Consultant |
| Building Performance Into the New Yahoo! Homepage | Nicholas Zakas | Yahoo! |
| Hidden Scalability Gotchas in Memcached and Friends | Neil Gunther | Performance Dynamics Company |
| Internet Explorer 9 | Jason Weber | Microsoft |
| Creating Cultural Change | John Rauser | Amazon |
| Scalable Internet Architectures | Theo Schlossnagle | OmniTI |
| Ignite Velocity | Andrew Shafer | Cloudscaling |
| The Upside of Downtime: How to Turn a Disaster Into an Opportunity | Lenny Rachitsky | Webmetrics/Neustar |
| Metrics 101: What to Measure on Your Website | Sean Power | Watching Websites |
| The 90-Minute Optimization Life Cycle: Fast by Default Before Our Eyes? | Joshua Bixby | Strangeloop Networks |
| Progressive Enhancement: Tools and Techniques | Anne Sullivan | |
| Chrome Fast. | Mike Belshe |
Back to blogging after Velocity
The last few weeks have been hectic. I was in London and Paris for 10 days. I returned a day before Velocity started. Most of you experienced or have heard about the awesomeness that was Velocity – great speakers, sponsors, and attendees. Right after Velocity I headed up to Foo Camp at O’Reilly HQ. This week I’ve been catching up on all the email that accumulated over three weeks.
During this time blogging has taken a backseat. But now that my head is above water I want to start relaying some of the key takeaways from Velocity. I wrote my Velocity wrap-up and mentioned my favorite sessions. But here are the top 10 sessions based on the attendee ratings:
- Choose Your Own Adventure by Adam Jacob, Opscode (unofficial video snippets)
- TCP and the Lower Bound of Web Performance by John Rauser, Amazon (slides)
- The Top 5 Mistakes of Massive CSS by Nicole Sullivan, consultant and Stoyan Stefanov, Yahoo! (video)
- Building Performance Into the New Yahoo! Homepage by Nicholas Zakas, Yahoo! (slides)
- Hidden Scalability Gotchas in Memcached and Friends by Neil Gunther Performance Dynamics and Shanti Subramanyam and Stefan Parvu, Oracle (video)
- Internet Explorer 9 by Jason Weber, Microsoft (slides)
- Creating Cultural Change by John Rauser, Amazon (video)
- Scalable Internet Architectures by Theo Schlossnagle, OmniTI (slides)
- The Upside of Downtime: How to Turn a Disaster Into an Opportunity by Lenny Rachitsky, Webmetrics/Neustar (video, slides)
- Tied for #10:
- Metrics 101: What to Measure on Your Website by Sean Power, Watching Websites (slides)
- The 90-Minute Optimization Life Cycle: Fast by Default Before Our Eyes? by Joshua Bixby and Hooman Beheshti, Strangeloop Networks
- Progressive Enhancement: Tools and Techniques by Anne Sullivan, Google (slides)
- Chrome Fast. by Mike Belshe, Google (slides)
Some things to highlight: Adam Jacob is an incredible speaker – insightful and funny. John Rauser is the speaker I enjoyed the most – he shows up twice at #2 and #7. Two of the browser presentations registered. The workshops this year were incredible and very well attended – four of them registered in the top 10 (#8, #10a, #10b, and #10c). Annie Sullivan rated high and it was her first time speaking at a conference.
The last two years at Velocity we’ve only been able to videotape the talks in one room, so this year that means about a third of the talks were videotaped. Four of these top rated sessions were taped. Next year I’ll try to get more of the top speakers in the video room. I’ve asked the five speakers without slides to upload them to the Velocity web site. Check back next week if you want those.
I actually feel electricity running up and down my spine looking over these talks. To think I had something to do with pulling these gurus together and offering a place for them to share what they know – it’s humbling and exhilarating at the same time. I’ll be doing some more Velocity-related posts on specific sessions next week, so stay tuned.
| Choose Your Own Adventure | Adam Jacob | Opscode |
| TCP and the Lower Bound of Web Performance | John Rauser | Amazon |
| The Top 5 Mistakes of Massive CSS | Nicole Sullivan | Consultant |
| Building Performance Into the New Yahoo! Homepage | Nicholas Zakas | Yahoo! |
| Hidden Scalability Gotchas in Memcached and Friends | Neil Gunther | Performance Dynamics Company |
| Internet Explorer 9 | Jason Weber | Microsoft |
| Creating Cultural Change | John Rauser | Amazon |
| Scalable Internet Architectures | Theo Schlossnagle | OmniTI |
| Ignite Velocity | Andrew Shafer | Cloudscaling |
| The Upside of Downtime: How to Turn a Disaster Into an Opportunity | Lenny Rachitsky | Webmetrics/Neustar |
| Metrics 101: What to Measure on Your Website | Sean Power | Watching Websites |
| The 90-Minute Optimization Life Cycle: Fast by Default Before Our Eyes? | Joshua Bixby | Strangeloop Networks |
| Progressive Enhancement: Tools and Techniques | Anne Sullivan | |
| Chrome Fast. | Mike Belshe |
Velocity wrap-up
Velocity ended yesterday at 6pm – and the final presentations from 5:20-6:00 were still packed! It was a great conference. I’m wiped out from talking web performance from 8am to 10pm the last three days.
The highlight of the conference was the conference itself:
- 1200 attendees
- 89 speakers
- 28 sponsors
- 26 exhibitors
Compare that to the numbers for Velocity 2008: 600 attendees, 65 speakers, 9 sponsors, 17 exhibitors. The growth is a testimonial for how the focus on web performance and operations has increased in just 2 years. Companies know their web sites have to be fast, available, and scalable. That’s why they come to Velocity.
We added a third track this year on Culture which meant I wasn’t able to attend every performance talk. But here are the talks I saw that really stood out:
- Creating Cultural Change (video) and TCP and the Lower Bound of Web Performance (slides) – John Rauser (Amazon) was the breakthrough speaker of the conference. Both talks not only had great content, they were also funny and delivered with style.
- Datacenter Infrastructure Innovation (video) – James Hamilton (Amazon) presents surprising stats about the true costs of infrastructure services.
- Speed Matters (video) – Urs Hölzle (Google) evangelizes creating a faster web via a long list of performance initiatives. Make sure to check out the links at the end to SSL and congestion window improvements.
- The O’Reilly Radar (video, slides) – Tim O’Reilly leads the rally cry for the critical role of performance and operations to the future of the Web.
- Don’t Let Third Parties Slow You Down (video, slides) – Michael Kleber (Google) presents some great stats on the impact of 3rd party content, and at the end slips in some performance improvements he’s working on for Google AdSense.
- JSMeter: Characterizing Real-World Behavior of JavaScript Programs (slides) – Ben Zorn (Microsoft Research) reveals how unrepresentative today’s benchmarks are compared to real web sites. I really recommend you check out his charts.
- Building Performance Into the New Yahoo! Homepage (slides) – Nicholas Zakas (Yahoo!) provided a case study of adding advanced performance techniques including progressive enhancement.
There were other great talks such as The Top 5 Mistakes of Massive CSS and Google Maps API v3 – Built First for Mobile for which we’re still waiting for slides and possibly video. I encourage you to check out all the slides and videos – remember, I was only able to sit in on one of three tracks. There’s a lot more to see.
Thanks for making Velocity 2010 so amazing. I’ll see you at Velocity 2011! (Remember to register early!)
Velocity is coming fast June 22-24
Jesse Robbins and I co-chair Velocity – the web performance and operations conference run by O’Reilly. This year’s Velocity is coming fast (get it?) – June 22-24 at the Santa Clara Convention Center. This is the third year for Velocity. The first two years sold out, and this year is looking even stronger. We’ve added a third track so that’s 50% more workshops and sessions. That means more gurus to talk to and more topics to choose from.
Jesse did a post today about the ops side of the conference. Here are some of my favorites from the web performance track:
- Mobile Web High Performance – This workshop (workshops are on Tues June 22) is by O’Reilly author Maximiliano Firtman. Mobile is big and only a few people (including Maximiliano) know the performance side of mobile. His book? Programming the Mobile Web
- Progressive Enhancement: Tools and Techniques – The most important pattern I recommend for today’s web sites is to render the page quickly and adorn later with JavaScript. Some of the more advanced web apps are doing this, but otherwise it’s not a well known pattern. Annie is one of my favorite performance developers at Google. She has built sites that do progressive enhancement, so I’m super psyched that she agreed to give this workshop. Very important for anyone with a bunch of JavaScript in their site.
- Building Performance Into the New Yahoo! Homepage – Nicholas Zakas, JavaScript performance guru, talks about the real world story of making Yahoo! front page twice as fast.
- The Top 5 Mistakes of Massive CSS – Nicole Sullivan (consultant) and Stoyan Stefanov (Yahoo!) share their lessons learned optimizing the CSS for Facebook and Yahoo! Search.
- The Firefox, Chrome, and Internet Explorer teams will be there to talk about the latest performance improvements to their browsers. That’s followed by the Browser Panel where you get to ask more questions.
- Lightning Demos on Wed and Thurs will give everyone a chance to see dynaTrace, Firebug, YSlow, Page Speed, HttpWatch, AOL (Web)Pagetest, Speed Tracer, and Fiddler.
- We have an amazing line-up of keynoters: Wednesday morning features James Hamilton (Amazon), Urs Hölzle (Google), and Tim O’Reilly (O’Reilly Media). All in one morning! Thursday brings back John Adams (Twitter) and Bobby Johnson (Facebook). Their Velocity 2009 talks were standing room only.
I’m looking forward to all the talks and catching up with the speakers. I’m most excited about the hallway conversations. It’s great hearing about what other developers have discovered during their own performance optimization projects. I especially enjoy how accessible the speakers are. It’s amazing how willing everyone is to share what they’ve learned and to work together to advance the state of web performance and operations. After all, that’s what Velocity is all about.
Velocity OLC, upcoming events
Velocity is the O’Reilly conference Jesse Robbins and I co-chair. This is our third year and it’ll be bigger and better than ever. Dates are June 22-24. We’re almost done reviewing proposals and the speaker line-up so far looks great: mobile, browsers, tools, JavaScript, metrics, and more all covered from a performance perspective. I hope you’ll be able to make it.
As a warm up to Velocity in June, O’Reilly had the great idea of starting Velocity OLC (OnLine Conference). We had the first one on December 8 with great speakers including Mike Belshe (Chrome, SPDY), Charles Jolley (SproutCore), and J Chris Anderson (CouchDB). The next Velocity OLC is coming up fast – March 17 9-11:15am (PST). The agenda is:
- Site Performance in Google Webmaster Tools – Sreeram Ramachandran (Google)
- MySQL Abuse – Kellan Elliott-McCrea (Flickr)
- Keeping Track of Your Performance Using Show Slow – Sergey Chernyshev (truTV)
- Provisioning Toolchain – Lee Thompson (DTO Solutions)
- Diagnose and Prevent JavaScript/AJAX Performance Issues in Internet Explorer – Andreas Grabner (dynaTrace Software)
The event is free! I invited the performance speakers, Sreeram, Sergey, and Andi, because they’ve released these amazing, free tools that all web developers focused on performance should know about. I hope you’ll tune in.
I also want to mention my next few speaking appearances.
JSConf.US (April 17&18, DC) – I missed the first two years of this conference and was bummed. I heard so many good things about it, I jumped at the chance to speak at JSConf.EU last November in Berlin and it exceeded my high expectations. Now I get to experience the main event. And I’ll be back in my old (20 years ago) stomping grounds!
Web 2.0 Expo San Francisco (May 3-6) – This event is sentimental for me. 4 years ago Tenni Theurer and I showed up to do a workshop on Sunday. It was beautiful outside and we figured everyone would be out sightseeing. Instead, 300+ people showed up. That was the first conference I had spoken at in a decade, and was the beginning of the evangelism campaign that I carry on today. I’ve spoken here every year and it’s always a great, smart crowd. Super hallway discussions.
@media (London, June 8-11) – Dion and Ben turned me on to Web Directions, speaking highly of all the conferences they run. I reached out to John Allsopp and he was kind enough to put me on the speaker list. I’m pysched to see some of the speakers I know well, plus some I’ve never met. And it’s a great opportunity for me to touch base with EU web devs focused on performance. Use the “SOUDERS” discount code.
Definitely grab me if you’re at any of these events. I want to know about your biggest performance bottleneck, and tips & tricks you’d like to share. And I’m always happy to sit down with a packet sniffer and do some performance analysis on the fly.
Velocity CFP now open!

Velocity 2010 is just around the corner!
Well, actually, it’s not until June 22-24, 2010. But Jesse and I have already been working with the O’Reilly conferences team for a few months. We have the venue – Hyatt Regency Santa Clara. We have the theme – Fast by Default. We have the cool blur motion speed image. The Program Committee signed on for another year: John Allspaw, Artur Bergman, Scott Ruthfield, Eric Schurman, and Mandi Walls. We’re already fielding calls from sponsors and exhibitors. The next step is speakers. That’s where you come in.
The Call for Participation for Velocity 2010 just opened today. We want to hear proposals for web performance and operations topics that you’re passionate to share. Some suggested areas include:
- Web frameworks with built-in performance
- Effective cloud computing
- Profiling web applications (esp. JavaScript)
- Network performance – HTTP, TCP, DNS
- NoSQL
- Mobile performance
- Evangelizing performance within your company
This is Velocity’s third year. The first two years were incredible. I’d love to see you at this year’s conference. If you’ve been working on something that other SpeedGeeks should hear about, submit a proposal now.
