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 meetup.com, 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 usertesting.com, 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 WordPress.org 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 (wordpress.com 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.