Website Performance Bootcamps in Korea, Taiwan, Hong Kong, and Singapore

I spoke to audiences in four countries and got a little sick from eating street food along the way.

Presenting in Taiwan
Chris took some photos of me presenting (e.g. talking with my hands). My photos from the trip are on flickr.

I just got back from a whirlwind 13 day performance tour of four countries. With only two days to present in each country I had to maximize impact as much as possible. I ended up shifting my talks around to fit the different audiences, and based on the quality of the questions and discussions, I think it worked out pretty well. I talked about High Performance Websites, which I now think of as a 101 level, intro course into web performance. I also talked about Measurements, Methodologies, and Tools. In particular, how to use tools to analyze and improve the performance and availability of your site. It was the overview that provided the background for the next days workshops.

In the afternoon of the first day, I did a session on Advanced Performance. These are all the new techniques you can employ “After the YSlow A”. This was roughly the same session Stoyan and I gave in California, so if you didn’t get to join us in person, you can still see the video on YDN.

The second day was my favorite. It was workshop style. It started off with Case Studies of sites that have made dramatic improvements in their performance and the innovative techniques (both technical and social) that they used to achieve success. The next portion was a live analysis session. The audience gave me URLs (Nope, I had no idea what they would be in advance!), and we analyzed them from A to Z. I showed them which tools I use, and which I pass up, in order to get a full picture of the state of performance. It is all about finding the magic balance of getting enough data, but not too much. In other words, you can spend all your time analyzing data, but your performance won’t have improved at all. This session was all about the happy medium — enough data to make critical decisions without being snowed under.

We had time to examine three sites together, and then they split off into smaller groups to analyze the sites they actually work on from day to day. These guided analysis workshops were really fun, especially in Taiwan. Seeing developers, who previously had varied experience levels, begin to get excited about understanding their sites performance, and see it as a geeky-fun activity — just the way I see it — was superb. I was impressed by the curiosity, persistence, and skill these developers brought to the sessions.

Taiwan guided performance analysis sessions

Realizing that the planned sessions were not design-focused, I also did smaller sessions with designers, in which we talked about some important aspects of designing high performance web sites.

  1. Image optimization and image formats (look for more of that on YDN and YUI blogs in the coming weeks).
  2. Design independent objects (headings, lists, contours, backgrounds, block headers and footers) that can then be mixed and matched to create graphical diversity while keeping the CSS overhead low.
  3. Semantics and consistent design keep the front-end lean and rapid. This, of course, goes hand in hand with the previous point.
  4. The transparent inside technique
  5. Tools – Photoshop tricks for smaller images, and open source tools that can make them even smaller.
  6. Most importantly, working with engineers to partner on performance.

The High Performance Design sessions were unplanned, so mostly I winged-it with practical examples, demos, and personal experience. They seemed to really appreciate the sessions. As a non-designer I hesitated to speak in a domain that isn’t my own, but I see a gap here, and the curiosity and interest of the designers made me excited to fill it. Designers get blamed for a lot of performance problems, some of which stem from immature CSS code rather than an inherent design flaw. I think I’ll work more in this area to separate the real best practices from the fluff.

Another thing people really wanted to hear more about is Managing a Performance Budget. Currently, I think a lot of project managers use a combination of divination (or dumb luck?) and finger crossing to meet performance goals. There are better methods. Speaking at this conference made me realize that this complicated domain of performance planning and impact needs more love. I’m not sure I’m the right person to do it, as I try to stay more on the technical side of things, but if someone else doesn’t get to it first, perhaps I’ll tackle the problem.

I was supposed to do two sessions the first day, and one the second. Instead it was more like four sessions the first day and three the next. Every two days I began the whole thing again. By the end, I couldn’t stand the sound of my own voice and I felt like I’d been run over by a truck. It was awesome.

No, seriously! I really liked it. It allowed me greater insight into the parts of my talk that work well, and others that are less fabulous. I think it has made me a better speaker, though my audience might disagree! ;)