WordPress 2.8.1 Coming Soon

Right on the heels of version 2.8, we will be seeing a WordPress 2.8.1 release soon. There are several minor bugfixes in so far, mostly dealing with tweaks to plugin and menu management. But the big problem driving a quick update is a bug in the core upgrade feature. It seems that in the case where the upgrade can’t be completed for some reason, the upgrade feature was deleting the wrong files when it attempted to clean up. Oops!

On the bright side, when this did happen, it would only delete files that are part of the core package, not any of your plugin or theme files. So the failure could be fixed pretty easily, by just manually re-installing the 2.7.1 or 2.8 files from a zip archive. Nothing would be lost except perhaps a few heartbeats of panic.

Looking at the auto-upgrade process, here are the steps outlined in the code:

  1. Test unzipped location for select files to ensure that unzipped worked.
  2. Create the .maintenance file in current WordPress base.
  3. Copy new WordPress directory over old WordPress files.
  4. Upgrade WordPress to new version.
  5. Delete new WordPress directory path.
  6. Delete .maintenance file.
  7. Remove old files.
  8. Delete ‘update_core’ option.

What can happen is that if an error was detected in step 3, where it tried to copy the new files into place (probably due to file ownership or permissions), it was supposed to delete the directory of new files that it had downloaded and unzipped. Instead, it deleted from the main site directory. It was simply a case of the wrong variable being used. For those of you following the SVN repository, this has been corrected in trunk and in the 2.8 branch, where the 2.8.1 update will come from.

If you haven’t upgraded to WordPress 2.8 yet, but you want to, and you’re nervous about possibly running into this bug, you can either wait for 2.8.1 to be released or upgrade the “old fashioned” way, by unzipping and uploading the new files.

Plugin: Fancybox Gallery 0.3.1

I have updated my Fancybox Gallery plugin to version 0.3.1.

Fancybox Gallery will automatically turn your photo galleries generated by the WordPress ‘gallery’ shorttag into a dynamic lightbox.

New in version 0.3 is the ability to navigate to the next/previous image while in lightbox mode. Another change is that this version requires jQuery version 1.3.2, and thus you’ll need to be using WordPress 2.8. If you are running an older version of WordPress, but the newer version of jQuery, the plugin should work, but I don’t think that the navigation feature will be present (I believe that the changes in the gallery code which enabled me to add it are new in WP 2.8).

View Fancybox Gallery Example…

WordCamp Organization Advice

I’ve already posted about the WordPress 2.8 release, and there will be plenty of other posts highlighting everybody’s favorite new features when it officially drops, so how about if I talk about something a little different? I’ve been listening to a couple of WordPress podcasts recently (WordPress Weekly and WordCast, in particular), and there had been a lot of buzz about some of the WordCamp gatherings taking place in various locations.

In particular, there were a few complaints that were pointed out (and some kudos, as well), and it got me thinking about things that event organizers might want to plan ahead for when getting ready for future WordCamps. Having been a speaker at WordCamp Birmingham last year (and planning to do it again this fall), I’m pleased to say that Andre Natta and his cohorts did an excellent job with that event. Some of that was probably made easier by the fact that it was a relatively small WordCamp (I think it was about 60 attendees). The bigger the group, the harder the logistics.

In addtition to WordCamp, I’ve also attended a couple of other technical gatherings, like CodeCamp and SoCon, so some of  what I’ll speak to are from first-hand experience. That said, what are some of the areas that an organizer should give particular attention to? Here is my completely unsolicited, backseat-driver’s list of event organizer dos and don’ts:

  • WiFi and Bandwidth: Poor internet connectivity is probably one of the most frequent complaints heard at just about any technical conference. Try to do whatever possible to ensure that you have enough bandwidth to handle your group size. If there are special setup/login instructions, make sure you provide that information to every attendee when they check in. It’s frustrating to spend the first couple of sessions trying to figure out how to get online.
  • Streaming: If you can, identify and designate just one or two people ahead of time to handle live video/audio streaming (and perhaps a backup person). Gently remind attendees that if several people are uplinking to ustream simultaneously, it’s going to kill the network connection for everybody. Also, try to reserve good seats for those handling the videography.
  • A/C Power Outlets: Just about everybody there is going to have a laptop, and will need to charge their battery at some point. If it can be arranged, ensure that there are power outlets available. You might want to procure a bunch of extension cords and multi-outlet power strips. If outlets are in short supply, try to encourage people not to “camp” on them for the whole event, and to let others have access. Label your cords so that folks know that they belong to you, and are less likely to wander off with them.
  • Food: Be prepared to offer lunch, coffee, soft drinks, water, and maybe snacks. Try to find a sponsor for the event who can provide these things. At WordCamp Birmingham 2008, Microsoft sponsored lunch, arranging a catered buffet with salad, cole slaw, and BBQ sandwiches from a local restaurant. However, I’ll also suggest that you try to have an option suitable for vegetarians, too (something more substantial than an iceberg lettuce salad).
  • Hashtags: Decide ahead of time what the “official” hashtag for your event should be, make it known, and encourage attendees to use that. Keep it as short as possible while remaining unambiguous. I don’t know how many times I’ve seen somebody on Twitter saying “What’s the hashtag for the Dallas XYZ Conference? Is it #xyzconf, #xyz09, #xyzconf09, #dallasxyz, #xyzdfw09, or what?” Also, remind folks to use the hashtag when uploading photos to Flickr, and while you’re at it, go ahead and set up a Flickr Group for everyone to submit their photos to.
  • Adapters: You are going to have speakers with various types of computers that need to hook into your projection system. Not everybody has a standard 15-pin VGA output — DVI and mini-DVI connectors are also pretty common. Let them know what kind of connector your projector can hook up to, and make sure that they either have an appropriate adapter to bring with them, or that you have one, or that you can transfer their presentation someplace where you can access it. Slideshare is a great resource to be familiar with. Encourage your speakers to upload and test their presentations with Slideshare, if feasible. Also make sure you have a couple of USB jumpdrives handy, for quick, last-minute file transfers.
  • Bigger Is Not Always Better: As I mentioned before, the logistics get more complicated as your group gets bigger. Big groups are great in some ways, but don’t feel obligated to accomodate a huge group if you aren’t sure you can arrange enough resources to handle them. Better to have a smaller, happy crowd, than a large angry mob (c.f., bandwidth, food). In particular, finding a low-cost location to host an event is going to be harder in proportion to the size of your group. But if you can definitely handle a big group, go for it!
  • Diversify Topics: At WordCamp Birmingham last year, we had a couple of speakers who didn’t really discuss WordPress at all. One of them spoke about freelance writing, and another spoke about how her doctor introduced her to “cancer blogging”. I found these talks to be just as engaging as anything else we heard. Also, for technical subjects, try to have topics that cover begining, intermediate, and advanced skill levels. In particular, one of the podcasts mentioned above complained about the lack of intermediate-level talks. Lastly, don’t allow too many “marketing” talks. Nobody wants to sit through what amounts to an hour-long infomercial.
  • Social Time: Make sure you allow some free time for people to socialize and network. Another complaint I heard was about an event where there was a video presentation during the luncheon. The attendees were frustrated that they felt obligated to listen to the presentation, when what they wanted to do was to talk amongst themselves. Also schedule short mid-morning and mid-afternoon breaks, if possible (don’t forget that everybody is drinking water, coffee, and soda).
  • Schwag: Even if everything else about your event is successful, people will probably think it was a little bit lame if you don’t have some sort of schwag (freebie items). For WordCamps, I believe that Automattic helps out with this a little. But don’t forget to hit up your sponsors, too. They should be happy to provide some logoed stickers, t-shirts, “stress balls”, pens, fridge magnets, or whatever. Also see if you can get a few “big ticket” items to raffle off at the end of your event. Books, software, hard drives, desk toys, and such make great raffle items. If one of your presenters has authored a book, hit them up for some autographed copies!
  • Thank Your Sponsors: Make a point to thank your sponsors before, during, and after your event. Point out to the attendees things like, “it’s time to enjoy a great catered buffet lunch from Joe’s Eatery, provided by our generous sponsor, FooCorp!” Or, “remember, our bandwidth is generously provided by Own-U-Net!” (keep in mind that all sponsors are generous).
  • Leverage Your Network: Personally, I would have no idea where to start with organizing an event. But I know people who do. I’d ask them for whatever help and advice I could get. And don’t be afraid to think outside the box. Tech companies aren’t the only ones interested in sponsorships. Try restaurants, bookstores, local business entrepreneurship groups, colleges, radio and television stations, ad agencies, etc. And don’t be afraid to think big: as I mentioned before, WordCamp Birmingham had Microsoft as a sponsor (thanks for the BBQ, guys).
  • Plan Ahead: Don’t let your excitement over setting up an event trick you into committing to a date before you’re ready. I really don’t know a good guideline, but I would think that you probably need at least 3 months lead-time, and 4 would probably be better. I know I’ve seen a couple of events announced, then canceled, and I’m pretty sure that insufficient set-up time was part of the problem. Also, when you get close to nailing down the official date, you might want to see if there are other local or regional events that might conflict with your planned date.

There it is, my armchair-quarterback advice for organizing a conference. Take it with a big chunk of kosher salt, because I’ve never organized anything like this myself. But as a speaker and attendee, I’ve seen conferences that were well run, and some that were… not so well run. Obviously, you want to be in the former category. Out of all of this, you probably need to consider Bandwidth, Power, and Food to be your Holy Trinity. Handle those three things well, and everything else will go more smoothly.

If you’ve organized or attended a WordCamp or other technical conference, what other advice would you give?

What’s the buzz?

WordPress

Here’s a quick post, just to let everybody know that I’m still alive.

During my long silence here, a lot of things have been happening in the WordPress community. First and foremost is the upcoming WordPress 2.8 release. There are several nifty new features in there. The most notable (for me) are probably:

  • Built-in theme browser/installer
  • Drag-n-drop widget management
  • Syntax highlighting when using theme/plugin editor
  • Image cropping in media uploader
  • New theme functions for author metadata
  • New OOP WP_Widget framework for plugin authors
  • More support for custom taxonomies
  • New combined i18n/escaping theme functions
  • Script loading improvements

The first four  are the main “visible” features for this release. Most of the other changes are “under-the-hood” sorts of things, mainly of interest to plugin and theme developers.

In other news, today marks one full month that I’ve been working for MailChimp. I’m still getting a handle on things, but I’m starting to get a few things done, migrating some old back-end management code into the framework used by the bulk of our system.  And to bring things back around to WordPress again, I’ll give you the tantalizing teaser that MailChimp is sponsoring the development of a new WordPress plugin. I don’t want to say too much about what it is at this point, but the Photoshop mockups looked pretty cool.

As I get myself organized again (stop laughing, Susan), I will be posting this blog more. And as if my time wasn’t stretched enough already, I’m also planning to do some guest blogging for The WordPress Doctor.

Where’s Waldo?

Or, more to the point, where’s Dougal?

Sorry about the long silence here. After our son got out of the hospital from his pneumonia, he had four weeks of therapy before he returned to regular school. I had to drive across town to drop him off and pick him up, which ate up around 3 hours of each day when all was said and done. I’ve also tried to devote some time to taking care of some tasks around the house before I start my new job.

MailChimp HeadNew job, you say? Yup. I’m going to be working at MailChimp (go ahead, post all your ‘code monkey’ puns, get it out of your system). MailChimp is a service for managing email newsletter campaigns, with nicely formatted HTML mail templates, and readership analytics. The team there is already doing a lot of nifty stuff, like when they used Amazon Mechanical Turk to help vet a large set of programmatically generated themes and color schemes. I’m looking forward to seeing what I’ll get to work on, both in the main service, and in their “MailChimp Labs” projects.

Drupal LogoI’ve also been dipping my toes into Drupal a little bit lately. My wife, Susan, uses Drupal at her job, and I figured it might be nice to offer her some real ideas every once in a while, instead of just saying, “if you were using WordPress, I could help you figure out how to do that.” And no, they can’t just switch to WordPress, unfortunately :) Drupal does have a steep learning curve (if you really want to do more interesting things with it), but it also has some nifty architectural bits. While much of it still feels alien to me, some of it has more in common with WordPress than I expected. When I feel like I’ve learned enough, I’ll try to write up a WordPress/Drupal comparison (mostly from the developer’s perspective).

Twitual

Recently, I launched a new project called Twitual.

Twitual is a service which lets you compare your Twitter friends and followers lists in interesting ways. You can see which people are ‘mutual’ (you follow them, and they follow you back), which are ‘fans’ (people who follow you, but you don’t follow them), and which are your ‘idols’ (you follow them, but they don’t follow you back).

Currently, I still consider Twitual to be in an alpha-testing state. The basic functionality is there, though I already have a list of new features to add. The overall visual design is still a bit lacking, in part because I’ve been more focused on finding and fixing bugs in the core functionality, and also because I’m a developer, not a designer.

One of the more obvious features I plan to add are progress bars to show the progress as Twitual builds its friends and followers lists. Another idea is to let you enter two Twitter usernames, and compare which followers and friends they have in common. There are plenty of other things I hope to add in the future, but for now I’ll be happy to just find the time to do a few of them.

I have found the evolution of Twitter and the social networking ecosystem that has sprung up around it to be facinating. And I think it’s going to be interesting to see how Twitual ends up fitting into the Twitterverse, and how people will use it. It’s been fun to build so far — the first time in a while that I’ve started a project to “scratch an itch”, and done it in a way that was worth sharing with the community.

If you are a Twitter user, I hope you’ll check out Twitual, and let me know what you think. Make sure you follow @twitual, and visit the Twitual Development Blog for updates and news.

The Future of WordPress Themes

WordPress

A couple of months ago, Ian Stewart asked me to be one of the voices for this year’s roundup on The Future of WordPress Themes 2009. There were a variety of angles from which to look at the subject, so it’s interesting to see how everyone interpreted the question.

There are discussions about “Premium” themes and the GPL, about whether plugin functionality belongs in themes, and about seperation of presentation and content, among other things. Give it a read to learn what I (and 14 other WordPress community influencers) had to say.

There’s no place like…

For anyone who wasn’t already aware, my wife and I spent the last two weeks in the hospital with our son, Jamie, who had pneumonia. Scary stuff, that pneumonia. I hope nobody else we know ever gets it. Anyhow, Susan and I pretty much lived at the hospital the whole time Jamie was there, though we did manage to get some work done remotely, and Suze put in some face-time at her office here and there.

Jamie was released on Friday afternoon, and we were certainly glad to get home. It’s hard to imagine that we’ll ever get caught up on sleep (those fold-out chair/bed things are not the least bit comfortable, and nurses came in and out of the room every few hours during the night). And of course, I seem to have caught a cold, because you can’t be at a hospital without getting sick — it’s a universal law or something.

My day as a tag cloud

If I could record all the phrases I said in a typical day, and turn it into a tag cloud, it would probably look something like this:

What would yours look like?

WordPress 2.7.1 Released

The official WordPress 2.7.1 release is now ready for download. The announcement on the WordPress Development Blog is short and to the point:

2.7.1, the first 2.7 maintenance release, is now available. 2.7.1 fixes 68 tickets. You can automatically upgrade from 2.7 to 2.7.1 via the Tools->Upgrade menu, or you can download the package and upgrade manually.

Consult the list of fixed tickets and the full set of changes between 2.7 and 2.7.1 for details.

I was going to highlight some of the changes here, but really there aren’t any major things worth pointing out. And as Martha Stewart would say, “That’s a Good Thing!” The fact that the bugfixes are all so minor simply reflects the overall quality of the initial 2.7 release.  Good job, dev team! If you’re curious enough, you can view the list of closed tickets for WP 2.7.1.

I'm happy to use Increase Sociability.