nate koechley's blog

http://nate.koechley.com

You're browsing the “Browsers” category.

Congratulations to my friend and colleague Stoyan Stefanov for the publication of Yahoo!’s Latest Performance Breakthroughs after presenting them at the PHP Quebec Conference in Montreal last week. The 20 new tips bring to 34 the total performance tips his team at Yahoo! has published in the past two years.

Stoyan (who authors the phpied.com blog) is part of an established tradition of Yahoo! sharing performance research publicly and widely. Stoyan’s teammate Tenni Theurer concluded the official blog post announcing these data and findings by saying, “We share our findings so that others can join us in accelerating the user experience on the web.”

I agree. That’s why I was honored to help disperse their 14 Rules for Faster Web Sites in my presentation at the @Media conference in London last year.

And that’s why it was a special honor to write the foreward to Steve Souders’ High Performance Web Sites book for O’Reilly last year. (Steve used to head up the Performance team at Yahoo!.) In the foreward I tried to express why performance matters to professional frontend engineers:

Here is why it matters. As a frontend engineer, you hold a tremendous amount of power and responsibility. You’re the users’ last line of defense. The decisions you make directly shape their experience. I believe our number one job is to take care of them and to give them what they want—quickly. This book is a toolbox to create happy users (and bosses, too). Best of all, once you put these techniques in place—in most cases, a one-time tweak—you’ll be reaping the rewards far into the future.

Read more about Yahoo!’s Latest Performance Breakthroughs on the Yahoo! Developer Network site.

Douglas Crockford has a plan for Fixing HTML. I think it makes sense. His proposal is a static document, but comments are collected on his related blog post.

In the comments you’ll see a few issues pop up (empties, quotes, get-bys), but after further reflection I think they are without merit.

Alex Russell (of Dojo fame) has an good post up right now called Browser.Next in which he lists 10 key things browsers need to give us poor developers so we can do our jobs without going insane. Here’s the list, but head to his blog to read the details:

  1. Event Opacity
  2. Long-Lived Connections
  3. Expose [DontEnum] To Library Authors
  4. Fast LiveCollection -> Array Transforms
  5. Provided A Blessed Cache For Ajax Libraries
  6. Mutation Events
  7. onLayoutComplete
  8. HttpOnly cookies
  9. Bundle Gears
  10. Standardize on the Firebug APIs

I’ve long felt that the balance of power between web developers and browser vendors is out of whack: for every one developer working on the browser itself there are probably 1000 web developers at companies around the world toiling endlessly, struggling to overcome the shortcomings and weaknesses of the browsers. It’s wrong. It’s wasteful. It’s expensive - a drain on the economy, and serious sand in the gears of what should be the world’s most powerful innovation platform.

And so, from that perspective, I’m very happy to see visible developers like Alex telling the world (*cough* browser vendors *cough) what needs to change. He’s got a good list of comments going over on his blog - I hope you’ll join in the rally.

I let the cat out of the bag about the forthcoming YSlow plugin for Firebug during my @media presentation (High Performance Web Sites) last month. But the wait is finally over and I’m happy to let you know that Steve Souders, Yahoo!’s Chief Performance Yahoo! (and the guy who’s data I used in my presentation), made the announcement during his session at OSCon yesterday.

YSlow has three main views: Performance, Stats, and Components. Performance view scores the page against each performance rule, generates an overall YSlow grade for the page, and lists specific recommendations for making the page faster. Stats view summarizes the total page weight, cookie size, and HTTP request count. Components view lists each component (image, stylesheet, script, Flash object, etc.) in the page along with HTTP information relevant to page load times. It also contains several tools including [Douglas Crockford’s] JSLint.

Give YSlow a try, your users will thank you. And for more about performance, check out the Exceptional Performance section on the Yahoo! Developer Network.

Opening slide of the presentation

photo by Amnemona

I’ve uploaded the slides from my High Performance Web Sites presentation at the @media conference in London last week. They are available in PDF format (3mb) as well as in PowerPoint format (25mb) as delivered.

Please note an important change: In Steve Souders and Tenni Theurer’s original three-hour presentation (which I remixed into a hour-long session for @media), and in the forthcoming O’Reilly book, “High Performance Web Sites,” there are 14 rules for faster web sites. My talk offered 12 due to time constraints. In the interest of consistency I added the two missing rules to my slides before posting them. The added rules are #12: Remove duplicate scripts; and #14: Keep Ajax cacheable and small. With these restored the numbering used in my slides will match the numbering in the longer workshop and in the book. (The new rules are #12 and #14; the dozen rules I presented have their same numbers except for #12 which became #13.)

I’d like to thank Steve and Tenni and the entire Exception Performance Team at Yahoo! for letting me bring this important content to the @media audience. Thanks also to Patrick Griffiths and the @media staff for the invitation to speak, all their help, and a great conference across the board. Most importantly I’d like to thank my wonderful audience for their time and attention, for our good round of Q&A, and for the feedback already posted on blogs across the web. Thank you.

I hope to see you all again soon. (Maybe at Hackday this weekend?)

I’ll keep this short: I’m looking for a few top-notch front-end engineers / web developers for some interesting and challenging projects. If you think that’s you, please drop me a note at nate at koechley dot com.