WCSF Day One – Large Scale Installs

This day surprised me as being the most informative day of all. I was intrigued by more sessions and had a harder time choosing between tracks than any other day of the conference. Here is what I learned:

What’s New in BuddyPress 1.5

BuddyPress is a set of plugins that adds a social layer to your WordPress site. It gives users the ability to have an activity feed similar to a FaceBook wall, an extended profile, private messaging, access to groups and forums, and friending, also similar to FaceBook. I’ve only used it a few times and found it a little confusing to get used to. Some of the programming is a bit difficult to understand as it creates a TON of it’s own functions you have to learn. It also currently works outside of WordPress’ Custom Post Types.

Lead BuddyPress developer John James Jacoby gave us an update on what’s coming in the latest version of BuddyPress. The first aha moment is when he said that everything will be Custom Post Type enabled. This is great news because it makes it easier to create your own custom funcitonality based on WordPress funcitons we’re already used to. Here are a few more key features that caught my interest:

The BuddyBar will be integrated into the WordPress admin bar

They are getting rid of a whopping 27 unused functions

The xProfile fields is getting a facelift including the ability to drag and drop between groups

The API is being improved to make it easier to build custom components

Pages will be used to display things like “Members”, and “Groups” to make them easier to manage and include in custom menus

WordPress in the Enterprise at eMusic.com

It’s the age old question: Just how big can WordPress get? We already know it can handle a network of millions of blogs, just look at WordPress.com, but I was truly impressed to find out eMusic.com is using it as their CMS at an enterprise level.

According to the speaker of this session and developer at eMusic.com, Scott Taylor, they have over 400,000 subscribers and get up to 6 million visits a month, which further mulitplies to millions of pageviews which translates to BILLions of http requests. Still want to convince me WordPress isn’t scalable? Fat chance.

eMusic was using an Adobe CMS called Day CRX. The system was old and hard to keep updated. When the company decided to upgrade their system, they first tried to convince the development team to go with Drupal. They were going to bring in a team to teach them the system. But the developers cried out against it since most of them were already familiar with WordPress. They are now happy with their new system.

Some of the tips that Scott gave:

Plan

Make a sitemap

Write an import plugin that can be used over and over again if necessary

There will be Gotchas

They struggled with having to add country codes late in the game, but loved that using custom taxonomies smoothed this out for them.

They also knew the UI would have to change some along the way, but this should be minimized with proper planning!

Re-importing content happened, but they had planned ahead with a stable import plugin.

Some of the custom things they did were moving the BuddyPress avatar uploader to the WordPress profile UI in the back end and taking advantage of the CDN cloud feature from the W3 Total Cache plugin which also rewrites the URLs to local permalinks. They also created a plugin called “Slot Machine” which lets them handle which content goes into which slot on the homepage.

Scaling, Servers, and Deploys— Oh My!

WordPress core contributor Mark Jaquith gave us some great tips on coding and servers, especially in the case of large installs. Most of this was over my head since it isn’t anything I’ve had to work with, but I did take away a few nuggets, as well as some notes to study on later.

First of all, he gave us all a light hearted scolding for making changes to code on a live site. He petitioned us to please use version control and also suggested we do our development local with XAMP and telling our computers to recognize thsoe local sites with a domain name by editing your hosts file.

He introduced us to Nginx, an Apache alternative, that is exponentially faster. In fact, WordPress.com is now completely running on an Nginx server. It’s not mainstream yet, and I had a hard time finding a good hosting solution with it already set up for me. I look forward to seeing it breakout though because we all know that speed is everything these days.

Mark wrapped up by urging us to have a plan, not just an idea of scaling. Start adding servers before you need them, rather than rush to get it done when you’re at the brink of a meltdown.

Lightning Sessions

Each day of the conference we had a full session time that was broken up into 5 minute lightning sessions. This was a fun way to cram in several little goodies that you might not otherwise have a full length session on.

UppSite is a service that you can use to easily push your content to mobile environments. It creates a custom plugin for your site that you install and then use to “appify” your site with a customized look and feel. It submits your app to the three major app stores. The acceptance time into the store is about 2 hours for Android, 2 days for Windows, and 2 weeks for iTunes.

Storefront Themes is a theme shop for working with the plugin, WP eCommerce. This is a pretty nice idea since even though most eCommerce plugins play nice with most themes out of the box, this store makes it easy to have an optimized design for selling various kinds of products. They also include insight tracking to monitor what features bring the best conversion rates.

bbPress is now a plugin, yay! This has been a standalone forum software for a few years now and was always integrateable with WordPress, but now they’ve completely re-written it with custom post types and taxonomies as a plugin. Forum pages are created so that you can integrate them into your custom WordPress menus.

The Otto and Nacin Show

Core developers Samuel “Otto” Wood and Andrew Nacin gave a lively talk on transients and wp_object_chache(). Must of this flew right over my head as far as a practical application goes. The best I could glean from the surface was that when doing queries, you can store the results in a cahce and then pull in that information similar to how the general loop works and things like bloginfo(‘home’). I’m going to be doing more research into this and encourage you to do the same.

How to Hire and Manage a Developer

Steve Zehngut gave an audience made up of mostly the client type and a few of us other developers, some tips and inside advice on how to make working with a developer easier. He suggested you start out with a few important questions:

What is the production schedule?

Do you have the bandwidth to take on my project?

What happens if something goes wrong?

What kind of turnaround time can I expect?

What’s you’re process for bug reporting and big fixes?

What project management system do you use?

Who will I be in contact from day to day?

What version control system do you use?

Body language is something else he stressed to be an important factor in working with a developer. Obviously this requires face to face contact or at the very least, a video chat. I personally have dealt with mostly remote cusomers in my experience, but I can tell you that for some clients, there’s nothing like hearing a human voice to help even off any rough edges that come along the way.

Steve gave a lot of good pointers and tips; some I agreed with and some I didn’t. The crowd loved his tips and he was getting great feedback from folks in the audience that had had negative experiences. In the end, I wound up feeling like a bad guy for being a developer instead of the successful service provider I know I am. This is probably one of the most delicate relationships one can have in the business world, which is why my approach is to be open, honest, and friendly. Under promise, over deliver, and make customer service your product.

Day One Wrap Up

This is the longest blog post I’ve ever written, and we’re only through day one of the biggest and best WordCamp ever. I can digress a lot more on some of these topics and would love to hear from you on what you’d like to hear more about in the comments below.