Proposing Navigation Changes

I just made a ticket on Trac with a proposal to address navigation in the WordPress dashboard. Here is the description.

  1. Explaining the difference between Posts and Pages to new users is time consuming and often frustrating. We’ve all done it, have our best/fastest version of the talk down pat, but it still takes longer than it should to get many new users to the point of understanding the difference.
  1. Back in 2.7, when we set up the left navigation we put Pages at the bottom of the content nav section because in testing 2.5/2.6 so many people complained about accidentally clicking Posts/Pages by accident because they were close together in the old UI and both started with P (blame it on capital_p). Because of this, Pages falls below the less-frequently accessed areas of Media and Links, and people don’t necessarily see it right away because they expect it to be higher up.

I’ve been testing out two changes to the left navigation aimed at reducing these two issues on my test blog for some time now, and have been using it during demos with both new and existing users to great success, so I think it’s time to propose it for core.

Change 1: Change the Posts label to Blog. All Posts can remain as is, or could be reduced to just Posts, since the reason we added the All in the first place was that Matt thought it looked weird to have the same word shown twice.

This change reduces the amount of time it takes me to get a new user really understanding the difference between posts and pages by about 75% (very informal testing, have kept track with about 30 new users by just keeping an eye on the computer clock to see how long it is before we move on). The dynamic blog/static site difference is much easier to grasp when they see that familiar word Blog instead of Posts because “posting” is an action that applies even to static content, and even posts are displayed in web pages (vs Pages).

Change 2: move Pages up the menu to sit below Blog, so the two most important content types are at the top. Since they wouldn’t look similar (ha ha capital_p) there would be much less risk of accidental misclick based on letter shape (poor manual dexterity would not be affected, but in that case those people are already clicking the wrong things, right?)

I’ve attached a screenshot showing what the navigation would look like with these changes.

screenshot of proposed navigation changes

Starting a Local Meetup – Status Update 1/29-2012

I posted here on January 5 that I was going to start two local meetups and document the process. Time for an update! Warning: it’s a little long, but it goes fast. :)

Tybee Island

I started with the Tybee Island WordPress Meetup Group in the sleepy vacation community where I live. There are a lot of WordPress sites among local businesses, but most have traditionally been managed by a firm and I would consider the WP community here to be more on the beginner end of the spectrum. That said, it’s as enthusiastic as any of the most insidery cliques at the big WordCamps, and I have high hopes for its progression.


For a venue, I picked the Tybee Island Social Club, a restaurant/bar in the middle of the island that’s good for groups and has free wifi. The meetup was planned to be a social get-together where whoever showed up could meet the others and we could find out what everyone’s interests and skill levels were, so there wasn’t any need for a venue with a projector or private area.


I scheduled the first meetup for January 11, a little less than a week after I created the group and announced it. I figured I’d be lucky if even one or two people showed up, since I knew I didn’t have time to really publicize it though local channels, and sends a note about new meetups to people in the area 3 days after you create your group, so there wouldn’t be much notice.

On the day of the meetup, I posted to the Facebook wall of the venue that we’d be meeting there that night and anyone was welcome to join in. I also posted to the wall of the Tybee Times, an online-only collection of local happenings. In the meetup description on I posted that I would be wearing a WordPress shirt (sometimes it seems those are all I have) and would have my laptop covered with WordPress stickers open on the table. I sat at a table right by the front door and got there extra early so I could feed Morgan dinner there before the meetup.

Getting Members

To my surprise, a person joined the group every day or so, having heard about it from someone or found it via search. I emailed two people I know in Tybee that are new to WordPress to encourage them to join. By the day of the meetup there were 9 members; I couldn’t believe it!

The First Meetup

Around 7, meetup time, I noticed a group forming in the back of the restaurant. It was the group! They hadn’t seen me sitting to the left of the door and had just gone and pushed some tables together. A total of 12 people showed up!

Lesson: Set up shop in forward-facing gazepath from the door if possible. Have sign or table tent to catch the eye.

What followed was a combination of mini-group chats, roundtable introductions, showing each other on laptops what currents sites were and talking about the changes people want to make, and talking about local and regional events. I helped one member download the WordPress iPhone app and make a mobile post using Quick Photo. About half the group had bought tickets to WordCamp Atlanta, and everyone was excited by the idea of putting together a small WordCamp in Tybee sometime right before tourist season hit in full force.

The people who came weren’t all beginners, as I’d expected. About half were beginners, mostly small business owners using or hoping to use WordPress to power their business site. Another couple were advanced users and/or developers who came over from Savannah, and there were a few intermediate users.

Interestingly, it was the beginners who’d all signed up for WCATL (Diane had been waiting for one to happen since we moved her site to WordPress last year in exchange for core meetup cottage rentals), and some expressed concern that they might not know enough to follow the WC presentations. I agreed to do a beginners’ tutorial before WCATL  to get the vocabulary down and be comfortable with the posting process.

We discussed what kind of format our meetups should take. People were interested in running free classes at some point, possibly through the library, and having our meetups be a mix of social (read: drinking, Tybee’s pastime), coworking, and mini-presentations sometimes. We agreed that once a month was the right timing for regular meetups, and that we could do separate events for things like classes.

Everyone paid their own tab for food/drink, and I handed out WordPress buttons to anyone who wanted one. Unfortunately the wifi died near the end, which also meant no one could pay with credit cards, so we stuck around and chatted while we waited for the manual charge slips to be created.

The meetup was given good ratings on (only about half of attendees had been members ahead of time).


The Second Meetup

The second meetup was the beginners’ session we planned at the first meetup. For venue we met at Diane’s house, where it would be quieter. We did it as a potluck — I was busy working on 3.4 scope/schedule and dev chat, so I brought a bottle of prosecco I had at home and a box of chocolate-covered Krispy Kremes that Morgan had decided she didn’t like. Diane made chili and people brought appetizers. My MOM joined this meetup. Not an acronym. My actual mother.

After we ate, we started with the basic intro to WP stuff. Got everyone posting and uploading an image, understanding the difference between posts and pages (it may just be time for us to rename Posts in the main nav to Blog, and have Posts be the subitem — though I know Jaquith hates that idea and will fight it to the death, it would save 15 minutes of instruction that happens with almost every new user), knowing the difference between categories and tags and how to use each, and using the mobile apps for iPhone and Android (except Diane, whose seemed to be hitting a weird bug).

Belinda was also able to help people get things going, so the two of us made sure everyone was keeping up. The evening eventually devolved into more of a social gathering with occasional meandering back to WordPress, but everyone had a great time and learned at least a couple of things.


As mentioned earlier, 5 or 6 people are heading to WC Atlanta next week, and our meetup group members are going to try and meet up there for coffee or lunch or something one day. We’ll return to regular meetups later in February and will pick a regular recurring day of the month. At that point I was thinking of taking out a small ad in the Tybee Breeze to get the word out, putting up flyers at the library and whatnot.


I started later with the Savannah WordPress Meetup Group. When I was at WordCamp Birmingham I decided it was time to get Savannah started. I initially planned the first meetup for Feb 1, thinking having a couple of weeks of lead time would mean a bigger turnout, but then I thought of the WP philosophies: Shipping is a feature. Don’t wait for perfection, launch and iterate. With that in mind, I went ahead and set the 1st meetup for January 24, about a week and a half from the group’s formation.


I wanted to use ThincSavannah, the co-working space I belong to. I have a low-level membership that allows me to work there up to 40 hours per month during normal business hours of 9-5 during the week. In addition I get 8 hours per month of conference room rental time. The space has two large open co-working spaces as well as a couple of conference rooms, and is located in a great location right downtown overlooking Ellis Square and near the Whitaker Street Parking Garage.

I approached the owners to ask if it could be made to work, since technically I wasn’t supposed to be accessing the space at all hours, but our meetups would be in the evening. They wanted to host us (they host several tech-related events), but their offer was a reduced rate on conference room rentals. I told them I appreciated the offer, but since I didn’t want to incur expenses for the meetup, I would just see if I could get free space from SCAD (they hosted WordCamp Savannah 2010 as a venue sponsor) even though I thought ThincSavannah was the better venue philosophically. They said they’d discuss it further. The offer they came back with was to let me use my hours for the actual space rentals, but for me to put down a deposit (about the same price as a month’s membership) against any potential problems. I thought this was super reasonable, and happily paid the deposit. (Why do I have the cheapest membership that limits me to business hours? Because I want to have contact with the vibrant tech community in Savannah, but don’t want to commute 20 minutes each way every day, so twice a week is the max I can handle.)


Again I didn’t really publicize. I sent a tweet to Creative Coast, and ThincSavannah tweeted it, but that’s about it. I tweeted once from the old WordCamp Savannah account, and I tweeted from my personal account that I would be bringing tootsie rolls. :)

Getting Members

Join rate was slower than on Tybee. 6 or 7 had joined (including me) by the first meetup, and 5 showed up. Kevin Lawver, organizer of Refresh Savannah, told me via Twitter that it’s impossible to get people in Savannah to RSVP for things.

The First Meetup

We took the brand new ThincStudio room (the venue recently expanded), and all fit around one of the big (sustainable wood) tables. There was me, two pro WP consultants/devs, one advanced user/freelancer, and one newish blogger. I had a clipboard on the table to get people to sign in. This was good, because I could send an email to the two people who’d heard about it via Twitter and hadn’t joined the group yet. My sign-in list had columns for name, member of group on (y/n), and if not, email.

It was pretty great. If we’d had beer it would have been perfect. We went around and told each other how we use WordPress and what we were hoping to get out of the group. We discussed different types of meetups we could have and agreed on casual work-on-stuff/social meetups for now, with occasional special events (every 3 months or so) involving presentations or speakers, rather than that being the default. Savannah is meetup-heavy, and it took us a while to itemize all the other events we’d want to work around (Refresh, cSpot, LunchTank, Free Advice Fridays, Social Media Club, etc). We eventually picked the second Wednesday for regular evening meetups at 6pm (vs 7pm in Tybee, b/c there we need to give people to get home from work, while in Savannah we figure people will come while they are still downtown), and a lunch meetup the 4th Wednesday (so people with evening commitments could still participate).


We also discussed bringing WordCamp back to Savannah, with a focus on local speakers and possible unconference portions. The plan would be to decide the general program as a group, and to assign meetup group members topics to learn enough about to be able to do a session. If needed, I’ll connect people with some of the higher-profile WP community experts to ask/answer questions. We’d like to bring in one featured speaker per track from outside of town.

We talked about venues. The River Club, donated last time by SCAD, is no longer a SCAD property, so we thought about alternatives. WCSAV 2010 had about 185 attendees, and now that there are a bunch of people in Savannah using WP to make a living, we know it would be even more this time around. Caila thought she could hook us up with the Telfair theater since she works at the museum. We also thought we could do a fun, lo-fi WC right there at ThincSavannah. It would be crowded, people would have to scrounge for chairs, etc, but the old-time BarCamp vibe is something we all thought would be a positive thing. We agreed to keep talking about possibilities at future meetups. The possibility of doing something the same weekend as Tybee was seen as a good idea (one day in Tybee for blogger and beginning users, one day in Savannah for more experienced users and makers), but wasn’t gone into in detail.


Our next evening meetup (WordPress Workalong) is scheduled for February 8 (4 people said yes so far), and the lunch meetup (WordPress Brown Bag) is scheduled for February 22 (2 people so far). After I’m back from WCATL, I might put up flyers at a couple of coffeeshops, but a small meetup of people who know what they are doing is such a nice thing I’m not in any big rush to draw in all and sundry. I will probably do more outreach to the other tech groups, though.

So that’s it for the first round. I’ll post another update next month with the progress.

If you currently run a WordPress meetup or would like te start one in your city, please fill in the WordPress Meetup Group Survey and check out the post about our new meetups program. Catch you later!


The blackout on is active. It is an interstitial, but you have to scroll all the way to the bottom to get the clickthrough link. It will go away if you click that link and be replaced by the Stop Censorship ribbon for 1 hour, at which point the cookie expires and you have to do it again. We’ll run the blackout for 24 hours. Yes, it will annoy you. I wanted to shut everything down, so count your blessings.

The reason we did this instead of a full shut-down is that there are many businesses and people who help drive the independent web that need access to the WordPress Codex, forums, plugin/theme repos, and APIs. We wouldn’t want to penalize them in our protest, so we just made it impossible to ignore instead.

The action on has also started. The primary home page of has blacked out all of its normal “Freshly Pressed” content. The official blog is sporting a ribbon — if we blacked out the blog, then bloggers would lose access to the post telling them how they can black out their sites using the option we deployed this evening. We launched on option tonight for all blogs on to either blackout (8am-8pm EST) or add a ribbon. In the couple of hours since we launched it, it looks like more than 10k have chosen full blackout, and around 3k have added the ribbon. People who chose blackout will have a ribbon before and after the blackout. Ribbons will remain until January 24, when PIPA comes up for vote in the Senate.

Both the and the blackout pages include a short message that includes a text link to the site, the Fight for the Future video, the email form, the call form, and the non-U.S. petition form.

These things are what I spent the last consecutive 18 hours working on.

For more information, check out

Starting a WordPress Meetup

2012 is going to be the year of the WordPress Meetup.

WordCamps are more or less running pretty well under the guidelines and policy changes of the past year. We have a few smaller pain points that we’re still working out like dealing with petty cash, some international shipping stuff, and the like, but by and large WordCamp Central is going great. But what about meetups? One of the adjustments to WC policy was the idea of a WC being tied to a local meetup or meetups — the pinnacle of the local community’s year, rather than a one-off event that is cool but doesn’t do much to build an ongoing community.

There are some great meetups out there, and obviously there are millions of WordPress users that are potential meetup participants all over the world, but how do you get one going? It can be intimidating, I know! To show that it can be done — that YOU can do it — I’m going to start two meetups this month and document the process of how I did it, which I can then turn into a Field Guide to Organizing a WordPress Meetup.

Meetup #1: I live in Tybee Island, a tiny little town on the ocean, about 20 blocks long and 5 blocks deep. There are 3 or 4 thousand residents, plus a booming summer tourist trade. There are no tech companies based here, there aren’t a bunch of other meetups, there’s not a great local community website… in short, this is a small town, where I’ll have to actively go out and find people to join this meetup, and there aren’t that many people to choose from. It will be work. It may not, er, work. But this situation is similar to that faced by people in other small towns, so it will be a good example.

Meetup #2: The nearest city is Savannah, GA, about 20 miles away. As it happens, I now belong to a co-working space there and I go work from there once or twice a week (to be around other people vs working from home, alone, 24/7). Savannah has a burgeoning tech community, a handful of freelancers building WordPress sites, a lively downtown, lots of meetups and a very social culture, and a population of just under 140,000 people. There are groovy coffeeshops with wifi, an art college (SCAD), and pretty much everyone has a website. Getting this meetup going will hopefully take a little less effort if I’m smart about where I do the early publicity.

At the same time I’m acting locally, I’ll be thinking globally. I’ve wanted to do more to encourage, support, and facilitate local WordPress meetups via the Foundation for a while, but until we had the WordCamp program running smoothly there just wasn’t time. We’re now looking into a number of options (talking to, looking at rolling our own plugin, thinking about working with schools/universities, etc), and I’ll be reaching out to current WP meetup organizers over the coming weeks to find out their pain points and the things that have worked or not worked for them.

The goals is meetups, meetups, meetups. Whether you call it a meetup, a wordup, a hackfest, a dev day, whatever… if you’re bringing together local WordPress users and/or developers on a regular basis, we want to support that.

Wish me luck, and watch this space to see how it goes. I’m scheduling the first Tybee WordPress Meetup for next Wednesday — if I get even one other person to show up and work on their wp site, that means it’s working.


Savannah WordPress Happy Hour on Friday

The WordPress core team will be working together from downtown Savannah tomorrow afternoon as part of the annual get-together, and we’d love to meet local WordPress users, developers, designers, consultants, etc. after we call it a day. Come meet us!

We’ll meet up at Jazz’d at 6pm and will be the group wearing an assortment of WP shirts. If for some reason Jazz’d turns out to be a poor choice, the backup plan will be to mosey over to The Jinx.

So please, come out and say hello! If no one comes we’ll be forced to come to the conclusion that no one in Savannah likes WordPress very much, and we’ll just give up and take up miniature golf instead. And I really suck at miniature golf, so please come  have a drink after work tomorrow.

See you there? See you there!

Testing 1, 2, 3: Usability and WordPress

I did some lo-fi testing of WordPress 3.3 pre-beta on Sunday/Monday with local users, but since in the next set I want to get more multisite users, finding good participants will be tougher. Savannah has an art school, a music scene, and a burgeoning tech culture, so I can’t spend an hour at The Sentient Bean without overhearing someone tell their co-caffeineators about some new WordPress site they’re working on — a flyer posted for half a day gets plenty of individual users.

Multisite superadmins, though, are a bit harder to come by without effort, so I’m going to test out using some fancy web technology called “the skype” + “quicktime recording” as an experiment.

A Bit of Testing History

Once upon a time, usability testing was done in a lab, and was very expensive. Costly software like Morae was used, whole research teams were needed to recruit participants, moderate test sessions, and analyze results, and sometimes things went really high-end and lasers were involved. We’ll call this “formal usability testing.” The testing done in Spring 2008 on WordPress 2.5 and the Crazyhorse prototype was formal, included laser eye-tracking, and led to/strongly influenced the 2.7 admin redesign. Read all about it.

If you couldn’t afford formal testing, lo-fi setups involving a camcorder and a tripod allowed capturing the screen and participant speech, but even with a decent camera, the screen images were never fantastic. Also, unless you set up two cameras, you would miss things like facial expressions (which are hugely informative during observational testing). Although you could set it up anwhere and didn’t have to rent a lab, it was a clunky solution.

It is hard to believe it’s been so long, but I have been doing usability testing –both formal and informal — for more than 12 years now.

In July 2008, Clearleft released their Silverback app, and popularized the concept of  ‘guerrilla’ usability testing. Armed only with your Mac and their app, you could get screen capture and user video/audio thanks to your Mac’s built-in iSight. This was a game-changer. Though it didn’t have the hardcore analysis features of Morae, simply getting a high fidelity screen cap on your own was huge… and it was only about $50! Suddenly, you didn’t need to rent a big lab, you could use your regular office or even set up shop at the local caffeine vendor. Just stick people in front of your laptop and you were good to go. Suddenly testing costs could be a tenth of what they had been, and guerilla testers cropped up everywhere. By the time 2.7 was ready for testing in Autumn 2008, that’s how I was doing it, too.

I had grand plans to introduce a distributed testing model to create an avenue for usability testing professionals to have a way of contributing to WordPress that would be analogous to writing patches or helping in the forums. I put up a post about it, corresponded with potential volunteers, and tried to work out the logistics. Having each volunteer running Silverback and then uploading their videos to a central repository for analysis was the plan, but infrastructure was a problem in two ways:

  1. How would we match volunteer test moderators/usability professionals with volunteer participants? Well, there were some more grand plans around building a volunteer database tied to the .org profiles, but when the person who was working on it left, that basically sputtered, so finding participants remained a normal logistical nightmare.
  2. It would mean only Mac users could conduct testing, and non-Mac users would be using an unfamiliar OS during the test.
  3. We didn’t have a good way to collect the session videos.

So that plan never really got off the ground.

Skip to Today

Guerilla testing is still going strong, and if the number of people proposing sessions about it at SXSW is anything to go on, the fact that it’s been more than 3 years since Silverback was introduced hasn’t made it any less exciting a concept. That said, it’s still not a perfect solution. Let’s look at pros and cons…

  • Pro: Output video content and quality on par with tools like Morae
  • Con: Lacking in the post-test analytic tools of Morae.
  • Pro: Works on Macs! Morae is still PC only.
  • Con: Works on Macs! 3 years later, Silverback is still Mac only, excluding all our PC users from participating in tests in a familiar environment, and preventing non-Mac usability pros from getting involved this way.
  • Pro: Much cheaper than buying Morae.
  • Con: If the plan is to have many people doing testing all over, each moderator needs a copy of Silverback. While markedly less expensive than copies of pro software like Morae, adding up all the copies of Silverback would wind up being more than one person or team running Morae.
  • Pro: Can conduct testing in convenient locations such as an office, a coffee shop, etc. or travel to participant location. Great flexibility.
  • Con: Limited to in-person-only testing unless test participants download and install Silverback on their machines. We don’t want to require people to install software (even a free 30-day trial version) just to be a volunteer test participant, so anywhere we want to test with real users, we would need volunteer moderators with the software to be co-located.
  • Con: Non-realistic experience when using a moderator-provided laptop during in-person tests. Real-world things influence how a user interacts in the browser with any web app — saved passwords, form auto-fill, chat windows popping up, email notifications, torrent downloads of Doctor Who hogging your bandwidth, screaming kids in the background, a ringing phone, you name it. To get a more realistic picture of usage/behavior, the researcher always prefers the setup that is as close to normal as possible. Using someone else’s laptop just doesn’t cut it.* And just as Morae limited us to PCs, Silverback is limited to Macs, but we want to test with users of both platforms. (And Linux! Don’t forget Linux!**)

So while guerilla testing with Silverback is cheaper/and more flexible than hiring a lab, and provides you with deeper observational information than an online service like, you’re still limited to doing testing in a place where you can have both a moderator and participants, which makes the participant pool quite limited, and not representative of the WordPress user base as a whole.

With the advent of Skype screensharing and Quicktime screen recording, we may finally be getting to a point where we can bridge that gap and include participants who are not local to the moderators — where we can get good recordings and can let participants use their own machines without significant cost or requiring unfamiliar software downloads. The drawback to this is that if you’re using skype to screenshare, you can’t also continue the video chat talking head.*** Still, observing real-time usage in a far-away participant’s own environment while being able to ask questions is a big step forward. So, I’m trying it out. We’ll see how it goes… Skype screensharing can get jumpy or laggy if you’re not on a reliably blazing internet connection.

If you are someone who uses WordPress multisite as a superadmin and would like to be a guinea pig to help me work out the kinks of this method (and get a look at some new UI stuff we’re considering at the same time), leave a note in the comments and I’ll get in touch over the next couple of days. Thanks!

When we get into Beta, assuming the trial run of this goes okay, I’m hoping to try and revive the distributed testing idea, so if you are a professional usability tester and would like to get involved with that in a couple of weeks, a note in the comments will get you added to the email list for when that’s ready to try again.

All that said, why do we do testing? It’s time-consuming and expensive, even when the software is cheap or free. Most agencies do it to show their clients that the design decisions they made were good ones. Most companies do it to find out what problems customers/users have with their products. With WordPress, we don’t so much have a “client” and our users tell us straight up in the forums what things cause them problems. So why should we do testing at all?

  • Define benchmarks. One of the things we’re always trying to improve with WordPress is making it faster. How long it takes to complete various tasks in wp-admin is one benchmark of performance and usability that can be measured. Testing can provide a sample data pool with these stats.
  • Test assumptions. With so many people weighing in on every design decision for WordPress, sometimes we have to forge ahead in what we think is the best direction despite siren songs from contributors who would prefer a different UI approach to something. Design by committee, camel, etc. That said, when’s there’s more than one UI idea or suggestion that seems reasonable for a given task, we don’t want to cling dogmatically to the status quo, either. Testing a few different design approaches allows us to see which designs people seem to respond to better.

So, could we live without testing? Sure. But do we want to? No. Seeing our work being used by regular people — not code contributors, not designers, not WordPress insiders with a vested interest in the choices made in the UI — keeps us humble. I challenge you to watch someone who’s not especially web-savvy figure out how to embed a video the first time. Change the tagline. Create a custem menu. I think the perpetual praise of WordPress as the most user-friendly platform for blogging and content management is justified, and we’ve worked hard to earn that reputation, but everyone on the core team is painfully aware of how much further we still need to go. Good testing can help us get there faster.

P.S. I haven’t even touched on testing with people of different abilities, different languages, etc., but that all needs to get more attention as well.

*And also means the researcher will have to re-arrange all her keys to be QWERTY for the sake of testing, then swap back to Dvorak afterward. Hmph.

** We usually forget Linux.

*** If we wanted to do another Mac-only thing, people with iPhones could use FaceTime for the talking head part while Skype was in screen share mode.

In Praise of the Forums

Forum thread moderator resolution menuI go to a lot of WordCamps and meet WordPress users in person, I get a lot of email, and I monitor several official WordPress twitter accounts in addition to my personal one. Through all these channels, the most common question is not, “How do I become a contributor,” or, “How do I get more traffic to my site,” it’s “Where do I go for help with WordPress?” Little do they know that the answer to the latter is the answer to all: the Support Forums.

When I tell people (in person, via email, over Twitter) to head to the support forums, they often reply with annoyance. They want immediate one-on one assistance, phone help, me to rebuild their site and get them more traffic….. oops, tangent. The point is, people who don’t come from an old school web background mistrust the forum format. Their concerns:

  • No one will answer my question
  • How do I know they know what they are talking about
  • I will look dumb asking my question in public
  • Someone is going to scam me

This morning there was an example that made me think about how much better public support is than private.

  1. Bill asked his question in the forums about a Publicize notice appearing in his self-hosted dashboard.
  2. esmi (volunteer forum moderator) saw the forum post and replied within an hour.
  3. Bill clarified something in a reply, also within an hour.
  4. Nighttime. Sleep.
  5. In morning, esmi sees the reply and says she will ask around to find an answer.
  6. esmi emails the wp-forums list at 7:12am to see if other moderators have seen the bug/have any idea what’s causing it.
  7. I reply to list at 7:21am suggesting it may be Jetpack-related, and comment on the forum thread asking Bill for his URL (because then we could View Source) and whether he uses Jetpack.
  8. I post to an internal blog (7:31am) at Automattic for the team that makes Jetpack, noting the behavior and asking if they know what’s up.
  9. Westi (lead WP dev) sees my internal blog post and pings me in IRC at 7:33am to ask for more info, agrees it’s likely a Jetpack bug.
  10. Westi and I both leave additional comments on the internal blog (7:36am and 7:38 am, respectively) for Greg, the lone Jetpack team member who’s not en route to Lisbon for a WordCamp/team meetup.
  11. Greg replies to us at 9:34am (he’s in a time zone an hour behind me) and gets to work on fixing the bug.
  12. At 10:36am Greg posts to the internal blog with a link to the changeset that has his bugfix.
  13. Greg then posts to Bill’s original thread apologizing for the bug and notifying him that it is fixed.

Granted, this doesn’t happen with every thread, or even most of them. Most of the time the volunteer moderators are able to answer things on their own. But when they can’t, the moderators know exactly how to get the attention of the right people, and those people give them that attention because the moderators have earned trust — their requests for help are not seen as noise, but as a valuable community resource.

Little did Mr. Bill realize that when he asked his question he would get the attention of an experienced moderator, the UX lead, a lead developer, and one of the Jetpack developers all at once. And thanks to him asking that question in the public .org forums, the right people were pulled in, and the bug was fixed right away.

So, back to those concerns.

  • No one will answer my question. Well, first you should use the search box and see if they’ve already answered it for someone (or some hundred) before you. Then you don’t have to wait at all. If you do post a thread, it will most likely get an answer pretty quickly (or at least a request for more information to allow volunteers to troubleshoot).
  • How do I know they know what they are talking about? If someone is labeled as a moderator, keymaster, core team member, etc., they know what they are talking about. Other volunteers may also offer help. Usually additional people will weigh in to say if their advice is correct or not.
  • I will look dumb asking my question in public. No, you won’t. We all start somewhere, and the first question you ask in the forums should be a mark of pride: you’re learning how to do something new! And while I encourage this bravery, some people are just too shy to ask. With almost 60 million WordPress installs worldwide, I guarantee you are not the only one with your issue/bug. Asking in the public forums means other people can benefit from the answer as well.
  • Someone is going to scam me. No one who is official in the forums will ever ask for your admin password, for money, or for sketchy personal details. If someone does, please add the modlook tag to your thread so we can check them out and correct the behavior (if they just didn’t understand the rules) or ban them (if they are scammers/spammers).

Oh, and as for those other questions people tend to ask me that also can be answered with the forums…..

How do I become a contributor? You can start by helping people in the forums! This is a great way to give back even if you’re not an expert yet, because there’s almost always something you’ve learned already that someone else hasn’t. If you’re a developer, it will also help you find bugs to fix. Helping people in the forums with consistency and accuracy builds your reputation with the core team, and gives you an “in” with the powers that be. Having a close connection to WordPress users via volunteering in the forums gives you insight into the way people use the product and what bugs or workflow issues need the most help, which will help you focus on the most important things to improve in core.

How do I get more traffic to my site? Well, you can specify your site URL in your forums profile, and it will be linked from your name in your forum replies. If you give helpful answers in the forums, people will tend to click that link to learn more about your awesomeness.

And a bonus tip if you are a WP freelancer or run a WP-based business: Paying one or more of your employees to spend some time helping in the forums (and/or contributing to core with patches) is a smart idea for several reasons:

  1. Your company will suddenly know a lot more about the needs of the WordPress community and can address them better with your products/services.
  2. You’re investing in the platform that powers your business.
  3. You gain reputation — both bragging rights and core team appreciation and respect.
  4. Clients like to hire people/companies that have their hands in the actual project, because they feel more secure knowing that you will always be ahead of the curve and know the codebase better than your non-contributing competition.

So! Asking questions in the forums? Win-win. Answering questions in the forums? Win-win-win. All hail the forums, and the amazing efforts of volunteer moderators like esmi, Ipstenu, alchymythandrea_r, samboll, and zoonini,  and active volunteers like kmessinger, Rev Voodoocgrymala, crondeau, and danhgilmore.* The next time I write a post like this, I hope your name will be listed here!

*This list is based on activity I see on the wp-forums list, a tweet asking for recommendations, and a quick query on posting activity. We really need to start gathering stats on forum activity. What kind of activity levels do these guys have? Here are the top five posters and how many posts they’ve made to the forums in the past 3 months:

  • esmi: 8514
  • Ipstenu: 4432
  • alchymyth: 2018
  • andrea_r: 1385
  • kmessinger: 1074

Remember, you don’t need to put in this much time to make a difference. Having a goal of helping one person a day, or even per week would make a big impact if everyone did it. Happy helping!

Forking, Woo, Free Agency, Automattic, and Me: Or, a Simple Comment that Became a Really Long Post

I started writing this as a comment on Mika’s post on The Morality of Forking, but I think if you start to pass two paragraphs, it’s time to write a post instead. So here it is.

Open source (and specifically WordPress) developers have a lot of options. When Daniel Pink wrote Free Agent Nation back in 2002, the idea that people could just go from good opportunity to better opportunity for no reason other than wanting to (more money/flexibility/peanut butter cups/new challenges/location/people/whatever) was still pretty revolutionary. These days, in our community, it’s the norm. Netflix has a good presentation on how to keep the employees you value. If people feel valued, they don’t leave. We accept less money, shitty hours, and even snotty customers when we feel good about we’re doing. Just look at any startup or non-profit job.

I have not been following the Woo/Jigo thing at all (WCSF and 3.3 have kept me busy lately), but if the description in Mika’s article is accurate about the steps that were taken, I don’t think Woo pulled a dick move at all. I’m the first to hop into the forums (in ninja mode, as Mika says) and tell off someone who wants to redistribute a paid plugin for free without adding any value to it — I do the whole legal-but-a-dick-move spiel. In this case, though, it sounds like they tried to do the right thing.

E-commerce and WordPress seem like such a natural fit, and yet nothing out there is great. Period. I love all the guys who develop these plugins (and I’ve tried most of them) but without exception there are always issues. Spaghetti code, bad UI, weak features… e-commerce plugins have seemed to have some kind of inverse version of the project triangle forever.

Will forking Jigoshop and hiring the developers who got it to its current state catapult Woo to the exalted position of “the ones who got it right”? Maybe. And if that happens then Jigowatt will be super bummed. Maybe not, though. Maybe Jigowatt’s vision is better and they’ll wind up with new developers who share that vision and they’ll come out on top after all. And if Woo just wanted to fork something, they might have been better off forking Shopp — it has a more consistent UI, less complex code, and better reporting. Then again, Jigoshop creates fewer tables and uses custom post types. Hm, but WP e-Commerce also uses CPTs, has way better reporting, and creates fewer tables than Shopp. This is the problem — everyone is doing something better than the others, but no one is hitting all the targets yet.* Presumably Woo chose Jigoshop because they thought it was the best option for a starting point. Either way, whoever gets there first will win the hearts of the community and a ton of new business. (Side note: this is why I think a core commerce plugin that sets up how the WP core developers would recommend doing it and that independent devs could both contribute to and build on top of would be phenomenal and is actually the right answer.)

So why take the developers? Obviously they liked their work, if they were trying to buy it. At Automattic, when we’ve acquired a product/company, it’s always been about the team that made the product more than the product itself. Isn’t that kind of the underlying ethos behind most of the open source models that are successful (both as purveyor and as buyer): don’t pay for code, pay for people?

So I don’t think it was dick move. Good developers/employees are a hot commodity, and you need to give them something they don’t want to lose if you want them to stick around. If Woo looked better to them, it’s none of our business — that’s a decision for them and their families. The devs shouldn’t be judged for deciding to take a new opportunity, and Woo shouldn’t be judged for offering one. It’s not as if they hadn’t made their interest pretty plain, if there had already been acquisition discussions — it’s not the same as secretly trying to poach employees from friends/partners/fellow businesses while pretending to have no interest in them (which would be a total dick move). If Woo doesn’t deliver on whatever promise they’re banking on, the devs will find another opportunity. That’s how it works.

I reviewed Free Agent Nation for the now-defunct New Architect magazine (which had just changed its name from Web Techniques) in 2002 and noted that it resonated with me because I averaged a new job a year as I moved from opportunity to opportunity once the current one stopped being good enough to keep me around. When Matt hired me for Automattic, during the conversation about salary I said I didn’t give a crap about stock options because I’d never stayed at a job long enough for them to matter. We also agreed on an unofficial “easy out clause” that would protect our friendship for the inevitable day when I left after the challenge was gone, got sick of the people, or just plain felt like a change and decided to either go to grad school or run off and be a baker in a beachside cafe in Mexico (or he got sick of me), which was estimated to occur within or around the one-year mark.

Three years later, I’m still at Automattic and am not looking. I have never stayed at one job this long. EVER. It’s not money — though Automattic salaries are competitive, I made more at both of my last two jobs. I don’t run out of challenges, I respect both my co-workers and the company leadership, and Automattic works hard to make sure my work environment is awesome. They even make me take days off when I work too hard. I mean, come on.

Mika mentioned in her post that Nacin almost went to Woo before Matt “snatched him up.” She forgot to mention that John James Jacoby was consulting on WP e-Commerce for Instinct before Matt snapped him up, too. Dan has made a few comments of friendly resentment to me about this, but J-trip had already applied to Automattic when he started consulting for them and had informed Dan of this in advance — I can’t help it if sometimes our hiring process takes a long time (we like to be really sure the fit is perfect, which is part of why we have such low turnover). Even if J-trip hadn’t applied to us first, though, would it have been wrong to hire someone who wanted to be here? We should not be putting the success of companies before the happiness of the people who work for them (and make them successful in the first place). Corporations are not people, as much as the US Congress would like to believe it, and in our community, a company name is only as good as the people behind it. I want every WordPress developer/worker to be ultra happy, wherever that may be. I would believe this even if it meant Woo hiring away every single person from Automattic, and they are welcome to try (though Matt it would probably think it was rude to poach without giving us a heads up for the sake of the relationship, and he’d be right).** Who knows, a maybe a year from now Jigowatt will nab people from Woo. Or StudioPress will swipe iThemes guys. Or WebDev Studios will hire CubicTwo peeps. You get the picture. The thing is, if people are “swipable,” they’re not where they belong anyway, so no one should begrudge a change.

By the way? Automattic is totally hiring badass developers and designers and happiness engineers ( support), so if you are one of these and need a new challenge, you should apply. The team I lead, the dot org team, is a group of people that are donated to the open source project: me, Ryan Boren, Andrew Ozz, Daryl Koopersmith, Chelsea Otakan, and Andrea Middleton. Wouldn’t you like to be the next name on that list? I need a developer or two. Must love the GPL, coding according to WP standards, decisions instead of options, Doctor Who/Dr. Horrible/The Guild/Firefly/Portlandia/Buffy/Torchwood (more the old one)/Misfits/Eureka/Warehouse 13, kittehs, standardization, accessibility, watermelon mimosas, turtles (sea variety), Words with Friends/Scrabble/Bendywords, steampunk/paranormal novels, and good food and booze. A couple of those are negotiable. Well, maybe. Think you’re good enough and cool enough? You might be right! Apply.

* Credit where credit is due: John James Jacoby recently did a review of the top shopping cart/ticketing plugins at my request. We’ll be releasing his findings soon.

** Fair warning if you’re going to try to poach from Automattic all sneaky-like instead of right out in the open: we love each other here, and we’re likely to immediately turn around and tell the rest of the company. Better to be up front and transparent and just say, “We really need someone like so-and-so and would love to have them on our team if they’re interested,” than to skulk around like a headhunter. When employees are unhappy, skulking works. Not so much with us. We will mock you on our internal blogs. :)

WordPress 2011

End of the year means planning for the beginning of the coming year. I posted earlier today over on the .org blog about the fact that we’re going to be doing a core leadership meetup in January. Also made a forum thread taking suggestions for agenda and questions for a video town hall that we hope to do. In addition to planning the meetup (which we’re having here in Tybee so I don’t have to leave the kids), it’s time to update my list of things that I’m behind on working on/thinking about. Somehow that list just gets longer every year. I need to find some apprentices I can train and hand things off to when they’re ready. Which is one more thing to add to the list.