I just arrived and am set up downstairs in the developer session. Upstairs there are more people interested in how to use WordPress, whereas here downstairs it’s more for people that develop for WordPress.

WordCamp San Francisco

10:13am - I’m currently in a session gear towards making your websites faster. So far it’s been really informative, and it shows how important it is to properly structure your JavaScript to load faster. JavaScript actually blocks all other execution until the JavaScript is loaded from the server. One of the recommendations is to lazy load JavaScript - that is, only load your JavaScript dynamically when you need it. One of the tools people can check load times with is Cuzillion.

Another improvement you can make is to make your JavaScript load in parallel instead of the default which is serialized.

10:27am - I’ve started uploading some photos. You can check them out in my Flickr set. Too bad Dale wasn’t here — lots of this stuff is pretty interesting.

10:32am - We’re taking a look at Matt Mullenweg’s website to see how long his site takes to load. Using “@import” causes stylesheets to load in parallel in Firefox, but it has to be used carefully. Also, make sure you put stylesheets before scripts in the HEAD sections, otherwise it causes stalls.

Matt does a lot of good things on his site, including setting caching headers and ETags. The JavaScript is minified, and he has parallelized stylesheets.

In terms of bad things, he needs to move his scripts to the bottom of this head section. He could split his requests amongst various domain names (although this seems too hardcore for most users). His inline script code should be moved to after the stylesheet.

Steve’s now showing us his compare pages script he wrote on his site. You can type in two sites and compare the load times, that way you can gauge performance increases.

Some tools that might help:

New tagline:

  • Life’s too short, write fast code
  • . At google, an increase in page load time by 500ms decreases revenue by 25%. Important to write fast code when conversions or ad displays are important.

    Also, I spoke to Lloyd earlier and he asked if I wanted to sit on the genius bar for an hour or so, so I might do that later. I think it would be a lot of fun helping and meeting other people.

    Genius Bar

    11am - Next up is Secure Coding For WordPress by Mark Jaquith. This session is basically about how to ensure your code isn’t open to any security vulnerabilities.

    Anytime you do a manual query with WordPress in a plugin, you open yourself up to a SQL injection attack. So it’s important to escape all the data so that can’t happen.

    The new WordPress has a $wpdb->update() method that does automatic escaping for you, and it should be used in plugins (I think I have some work to do with my old ones).

    There is a lot of information here that’s really complicated, but important. I’m hoping Mark posts his slides after this, as every developer should read this information.

    11:48am - I’m upstairs listening to a talk about microformats. The Operator plugin for Firefox is recommended, as it allows you to extra calendar and contact information out of web pages.

    Also, as a company, everyone should be supporting the hCard format, as many tools can automatically pick it up and add it to their contact books.

    1:10pm - Lunch was pretty awesome. We had a big BBQ chicken feast outside, which given the nice day here in San Francisco, was a nice change from being inside. I spent about twenty minutes talking to Andy Peatling about various WordPress and Vancouver things. One of the things we both agreed on is the need for a bi-weekly WordPress oriented session to keep everyone up-to-date on the state of the art. I’ll try and organize the first one when I’m back in Vancouver, and keep everyone in the loop.

    I’m currently listening to a talk by Lloyd Budd about how to Switch To WordPress. This afternoon is rather chaotic in terms of content, so I’m going to be bouncing between sessions.

    Lloyd Budd

    1:32pm - Lorelle is giving a talk about 260 ways you can break WordPress. She’s actually using an example from b5media, which I think is interesting (Arieanna). I have to head downstairs in a second and listen to an iPhone specific talk. As I mentioned, we’re in the lightning talk session, so there’s lots of moving to do.

    2:05pm - Just got back from hanging out downstairs. There was a talk about the XML-RPC and Atom APIs for WordPress. That’s how the new iPhone app for WordPress works. I haven’t done anything with either of those APIs before, so I found it interesting. My problem has always been the lack of documentation in that area (or, my inability to find it). Hopefully I can talk to someone here later that can point me in the right direction. Up next is a talk on the “State Of The Word” by Matt Mullenweg, which is an hour overview about where WordPress is going.

    2:09pm - Sounds like there are moving WordPress to work with a SVN repository. That way you’ll be able to update WordPress simply by checking out a new version. That will involve changing the directory structure for WordPress around, but it sounds like it’s coming.

    2:18pm - Waiting for “The State Of The Word” to begin.

    3:37pm - State Of The Word was really awesome. I’ll write a post about it later. Haven’t had much time to blog as I’m too busy listening. Here’s a shot of Matt though:

    Matt Mullenweg

    4:36pm - Andy put his slides from his talk online about BuddyPress. Check theme out.


    Feel free to add me on Twitter, or subscribe to my RSS feed.