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.

Embedding Video on WordPress.com

I wanted to embed something from Vimeo so that I could demonstrate to a wordpress.com user the easiest way to do it. The video I picked to embed is a short film (about 4 minutes, and it doesn’t seem that long) that I liked. The oddity of how someone goes from being a girlfriend/boyfriend to being an ex to being just someone in your old pictures is definitely something I have pondered myself. This may be due in part to the fact that my friends are still close to most of my exes, and some of the exes are fairly high profile in the tech community, so they pop up in the news I follow on a fairly regular basis. Even so, I think that attrition of attachment is something that almost everyone has experienced at some point or other, and this short film approaches it in an unconventional format (and makes a comment on the ubiquity of documented experience that has resulted from social media sites) that I thought was awesome. Check out the film by pressing play below, and if you want to know how to embed videos like this in your wordpress.com blog, just scroll down to below the video for my quick instruction.

Okay, so how did I get that Vimeo video to appear on my wordpress.com blog?

First things first — I did NOT do it this way, which is how most people are used to embedding videos:

Hover over video on Vimeo, click on the “embed” button, copy the code that looks like the image below, and paste it into my wordpress.com post editor.

Hover state of video playing on Vimeo Vimeo embed buttonVimeo embed dialog

I repeat: I did NOT do it that way. Why? Because that embed code won’t be accepted for security reasons, and you’ll just see a link to the video. But! Because Vimeo is a trusted provider, they’re “whitelisted” on wordpress.com for use with the oEmbed format. That means it’s actually even easier to embed Vimeo videos on wordpress.com than it would be with their embed code.

All you have to do is copy and paste the URL of the Vimeo page onto its own line, and WordPress will transform that URL into an embedded video.

Just copy:

Copying the Vimeo video's URL from the address bar

Then paste on a separate line:

URL is pasted on its own line in the post editor

And you get this:

Easy, right? The oEmbed format is supported on wordpress.com for embedding content (not just videos, but pictures, polls, music, etc) from all of the following sites: YouTube, Vimeo, DailyMotion, blip.tv
Flickr (both videos and images), Viddler, Hulu, Qik, Revision3, Scribd, Photobucket, Polldaddy, Google Video, WordPress.tv, Funny or Die, SmugMugBlurbEntertonementSoundCloudofficial.fm (old Fairtilizer links work, too).

And you thought WordPress was just for words. :)

#thesiswp

As anyone can see from looking through past posts, I almost never blog here. I mostly post on the official WordPress.org blog, or toss out snippets of thought via Twitter. However, my two years of relative silence here — when it comes to the GPL and Thesis — is now at an end. Normally I would write this post and then wait a day and edit it before publishing, but in this case I’m just going to hit Publish. Tomorrow is a another day, and I can clarify anything that needs it then.

Yesterday, I met Chris Pearson, of Thesis theme infamy. How? Why? What? I accepted an invitation to speak at a real estate convention largely for the chance to meet him in a neutral situation (not a WordCamp, etc). I introduced myself in the hall and we went to sit down and talk in a room some speakers were using. As we walked down the hall, he mentioned wanting to get an iPad while in town that day, though supplies were scarce. I offered to call “my guy” at the SF Apple store to ask if he could snag one from stock and hold it for Chris. Even though Chris had previously been a confrontational jerk to most of my co-workers, collaborators and friends, I am just a generally nice person. If I can help, I want to. I made the call.

While pretty much everyone knows that I agree with the argument that themes and plugins count as derivative works and therefore inherit the WordPress license (GPLv2), I’ve really tried to stay out of the mud when it comes to the fighting. Even when people have baited me in the past, said mean things on Twitter, misrepresented/misquoted me or in any other way were just plain uncool, I tried to stay calm, think about the overall impact to the community and make love not war (figuratively speaking). I’ve traveled to meet with WordPress community members to discuss the issues that had them riled to see if we could come to some understanding; in most cases we wound up agreeing and became friends, while in others we at least agreed to disagree and be polite for the good of the community. It takes a lot to ruffle my feathers. I was raised to be a nice girl, and even when someone is a total jackass, that training usually sticks. I am basically an overgrown hippie who just wants everyone to get along and be nice, no dogma.

There is a history of antipathy between Thesis/Chris and WordPress/Matt that predates me. I have to admit that when I first started working with the WordPress open source project and I would see their squabbling on Twitter, it reminded me of boys kicking each other in the schoolyard. I began my job with the WordPress redesign for 2.7 in 2008, right around this time of year, though I’ve known Matt and WordPress for much longer. When I started paying more attention to the issue of themes being distributed under proprietary licenses, I was actually pretty astounded. The license text itself seems pretty simple, and has been around for several decades. Each copy of WordPress comes with the license attached, and states that derivative works inherit the GPL license when distributed. I’m not going to get into the details of the license here, that’s freely available all over the web. The thing is, most of the theme developers who were distributing WordPress themes under restrictive licenses either didn’t understand the GPL, or just hadn’t really thought about it too hard, especially those coming from agency or proprietary design/software backgrounds. Those people? Pretty much all went GPL once they realized what was going on. A few others, however, simply don’t think that the license applies to them.

When I met Chris Pearson yesterday, I didn’t expect him to jump up and say, “Yay for GPL and here I come with license compliance!” Based on things some people had told me, I expected the aggressive dude from Twitter to be more of a persona than a person; I thought I’d be talking with an intelligent guy who just had a different point of view. It seemed to start out that way. However, it didn’t last, and many circuitous statements later, it became clear that Chris had no interest in peace in the community nor any respect for the license. It was almost impossible to make sense of his assertions. In one breath he would claim that Thesis had nothing to do with WordPress, then in the next would say that he builds on top of WordPress because of the profit potential (broad user base). In one breath he would say that the GPL wasn’t valid, then in another breath would say that because of the GPL he was allowed to build on WordPress for free. Discussion addressing respect for the developers went nowhere, as did points about license structures, pricing, promotion, community, and more; pretty much they all wound up with Chris saying he didn’t care about the GPL, and that he would continue to license Thesis as he does for as long as he could make money doing so. I had planned to write up this conversation last night, but frankly, had started to wonder if someone had slipped me a roofie, because I found it hard to believe anyone could be so convinced that he was above the law (at one point he asked me where the cops were, if he was breaking the law).

I stated over and over that for WordPress, a lawsuit was an ineffective use of time and money that we could be using to improve our software and grow the community resources that support it, and Chris said something similar with regard to prosecuting his own pirates (he mentioned Malaysians profiting from his work several times). Yet somehow it kept coming back to him saying we should sue him if we were so sure that the GPL was valid.

The hour or more of this type of discussion was exhausting. At one point he raised his voice so loudly that another speaker in the green room (we were at a conference) shushed us. There were a couple of other guys there who tried to back me up (not related to WordPress project team; they were real estate guys), but Chris would have none of it. We parted ways and I was terribly disappointed, not just because I am sick of this whole thing, but because he really proved my pollyanna people-are-inherently-good-and-want-to-do-the-right-thing-if-they-only-knew-what-that-was attitude to be total crap. He showed me that he does not care about the good of the community. He wouldn’t even have a straightforward discussion. His responses to questions had more misdirection than a Penn & Teller act. Ask about the license and he responded with a statement about creating solutions that work or the quality of WordPress code (which he totally dissed, btw). Eventually I asked him why not just move to a platform that was licensed in a way he approved, and he said he was working on it, but that as long as WordPress was as profitable as it is, he wasn’t leaving. He kept claiming it was “just smart business.”

1. It’s smart business to adhere to the license of any software you use. Have we not learned this in this litigious age?

2. It’s professional to answer the actual questions someone asks rather than spouting pre-determined talking points.

What makes me think they are practiced talking points? Today, a brouhaha arose on Twitter under the hashtag #thesiswp. I was trying to avoid it, but eventually it came down to Matt and Chris and they wound up going on a live webcast to debate it. Chris was saying the same things he’d said to me yesterday, verbatim. In one exchange he said iPhone instead of iPod, but otherwise, he repeated almost every single thing he’d said to me the day before. I challenge anyone to listen to the debate and come away thinking Chris Pearson has anyone’s interests at heart other than his own. Frankly, I still don’t want WordPress to sue him. I still think it is a massive waste of time and money that could be put to much better use. I think he should either respect the license or choose a different platform. But if a court case will settle this once and for all, maybe it would help the community in the end; at the very least, it would make it all less confusing.

Oh, and after Chris walked away? “My Apple guy” called to verify that there were no more iPads available in the store, but he’d gotten one out of other stock and was holding it. Too bad Chris didn’t bother to ask me about it before he left.

Yesterday sucked. Today sucked, too. I’m really ready for a day to arrive when all this crap stops taking our attention, and we can focus on documentation, forums, plugin repository enhancements, fixing the media uploader, etc. You know, get back to the business of building WordPress for those 20 million+ WordPress users around the world who owe their publishing freedom to the GPL, and are glad to have it.

** I would have linked to dozens of tweets by various community members to support this narrative, but writing this all out makes me want to go get a drink with friends instead. I’ll come back and add links  later.

Words of Wisdom from Glenn Ansley

Its funny how you think you know ‘who’ a community is because you’re following a couple mailing lists or a couple of opinionated talkers on Twitter. Getting plugged into the development process has opened me up to a whole new world of very intelligent individuals that I continue to learn from by listening in on their conversations. My coding has become more efficient due to the little tidbits of information I skim off of their public discussions every day.

via Contributing to WordPress Makes You a Better Developer | FullThrottle Development.

Word.

Panda Raccoon

We have a saying in my current family configuration (in which I go to my brother’s house in between WordCamps to help raise his teenage daughters). That saying is Panda Raccoon. It recently started spreading (my fault) into the WordPress dev community, and Nikolay has tasked me with writing up the history of it, so that people will know what the heck we’re talking about when we tell them, “Panda Raccoon!”

Okay, so I have these nieces who are in 9th grade, twins named Jamie and Morgan. Jamie and Morgan both have active imaginations, but Jamie is also an avid reader, which sometimes leads to conversational threads that are based on fictional characters and/or situations that are wholly unrealistic and unrelated to the topic at hand. For example, we might be talking about going to the lake on Saturday, which might turn into speculation about the weather and who to invite to come with us. Then Jamie will open her mouth, and before you know it there is an owl in a mouse costume flying a helicopter to drop bottled water on impoverished villages in Africa and that’s why we should have root beer to drink instead of water with lunch today. By now, of course, no one remembers that we were trying to decide if we should invite people to come to the lake with us. One of these tangential flights of fancy involved a panda in a raccoon costume. It was that evening that we declared “Panda Raccoon” to be the exclamation we would use to alert Jamie (or anyone else) that the tangent had gone too far and it was time to come back to reality. This has worked out pretty well for us. And Jamie loves pandas.

Anyway, sometimes in the #wordpress-dev weekly IRC chat, someone will raise a topic that is not on the agenda, which takes us off track and slows us down. Sometimes people will raise suggestions that are wholly impractical. Sometimes people just start self-promoting, unrelated to the topic at hand. When these things happen, I now call “Panda Raccoon” on them. The words themselves, even without the backstory, make it clear that something is happening that has nothing to do with our agenda. It’s nicer than saying, “Hey, stop it. That’s a tangent.” It’s fun to say (or type). And we all love pandas.

So we think that instead of saying “bike shed” as verbal shorthand in the WordPress community to indicate people are quibbling over inconsequential details or making unrelated suggestions that are taking us off track, we should say, “Panda Raccoon.” Tell your friends.

Woo, Menus! And a Recipe.

People ask me why I don’t post much to my site. Today, I’d like to post about the new Woo menus that are being integrated into core. But, wait! I already posted about it officially on the dev blog! And then I posted my official UI/UX review of the menus patch on the development updates P2. And I’ll be talking about it again today in the official #wordpress-dev IRC chat. So I don’t have much left to say about it that I haven’t already posted in official channels. I’d do book reviews or recipes or something here instead of WordPress stuff, but, well, I don’t.

Okay. Here’s a recipe (speaking of menus).

In a frying pan, swirl a little olive oil. Throw in some minced garlic and some bay scallops. Sauté.  Cover with some dried basil and oregano and black pepper, continue stirring. Squirt some lemon juice over the whole thing. Add two handfuls of fresh spinach. It will wilt, but will stay bright green. When the spinach is half cooked down, add a handful of cherry tomatoes. Do not cut up the cherry tomatoes, just throw them in whole. Continue to stir. When all the spinach is wilted, it’s ready. Dump it all on a plate. Take a picture, because this simple, diet-friendly meal is super pretty. Then eat it. Yum. If only I had some scallops right now, I’d be making this for lunch myself.

Patches Welcome

There are a handful of small UI enhancement tickets that are low priority for the hardcore devs, but that I’d still like to see make it into 3.0. If you mess around with PHP, consider writing a patch for one of these tickets. Contributing to core gives you awesome bragging rights, and if you do WordPress consulting, it generally gives you the cred to charge more. :)

Here are three tickets that would be awesome for someone to bang out:

I’ll try to post a couple of pet tickets each day throughout the sprint week that is coming up. If you want to take a stab at one but aren’t sure how to deal with the core patch process, check out the links under “How to Submit Patches” on the WordPress Trac home page.