Defending Drupal

The last 7 years of my life have been all WordPress, all the time. In that time we went from powering around 2 million sites to many tens of millions. Today, W3Techs says:

WordPress is used by 23.6% of all the websites, that is a content management system market share of 60.8%.

I wish that sentence had a semicolon instead of a comma, but wow. Drupal, by comparison:

Drupal is used by 2.0% of all websites, that is 5.1% of all the websites whose content management system we know.

Sometimes, people like to pit WordPress and Drupal against each other, as if we are fighting each other, rather than fighting proprietary software. At WordCamps, meetups, or any professional gathering where someone asks a question (or makes a snarky comment) about Drupal, I point out that we are far more similar than we are different. “Open source CMS built with PHP” describes us both, as does any description of the contributor model, or even the economic models — how many times have I heard Acquia is to Drupal as Automattic is to WordPress? (A lot.) We’ve even shared booth space at the OSCON expo.

To drive the point home I often say that if you were stuck in an elevator/sitting next to someone on a plane, how psyched would you be to be sitting next to a Drupal person, who would totally get all your references and be able to have a conversation you’d enjoy? That usually gets a nod or two. Because, yeah, we’re a bunch of open source geeks who care way too much about things like software licenses and commit status and number of props. We are, in short, both ridiculous in the grand scheme of things — we’re not curing cancer or ending world hunger. At best we are powering the websites of those who are, and if we ceased to exist tomorrow, it wouldn’t be the end of the world (just of us). But free software is awesome, so yay! Let’s all be friends!

At conferences, people sometimes have been confused if I’m hanging around with Amye or other Drupal women I know and like. They ask, “Aren’t you rivals?” And then we laugh at them. Cue the more-alike-than-different stuff.

So I was kind of bummed today after all those years of defending Drupal and claiming kinship to see it pissing* all over WordPress today. But I should backtrack.

For years, people in the WP community have wished there was a way to pay the more advanced contributors to work on core full-time. Sure, Automattic, 10Up, Human Made, and other companies have been contributing some people, but there are only so many donated employees a company can float. We all get that. For a while people talked about the WordPress Foundation as a way to pay people to work on stuff, but that didn’t wind up being possible. So when people started doing things like Jtrip’s Indiegogo, it was a natural evolution, though it seemed not very scalable.

So when I saw Ruby Together a few weeks ago, I thought it was amazing.

screenshot of rubytogether.org

Then came the Drupal 8 fundraiser, and I thought that was pretty cool too. Matching donations and whatnot!

And then I saw this:

Screen Shot 2015-03-23 at 9.49.35 AM

I smiled, recognizing several people I quite like. But that one in the lower left, what?? I clicked through and saw this:

fundraising website for drupal 8 featuring a graphic of the Drupal logo peeing on the Joomla and WordPress logos

I was like, “What?”

Then I was like, “No, really, what?!”

I get it, this person thought this shirt from a previous Drupal event was funny and would fire people up to donate. But really?

That shirt is so completely tasteless I am horrified that the Drupal community endorses it.

And now we’re back to Drupal is pissing on WordPress.

I’ve given so many talks at WordCamps with a component about how it’s important to be nice, respectful, and welcoming — including the use of appropriate language and imagery — to the point that some people would really like to tell me to shut the fuck** up (or have!). I have extended that “let’s be nice” spiel to talking about Drupal multiple times. I would never design a tshirt that showed the W pissing on the Drupal (and I’ve designed a controversial WordCamp shirt or two in my time) because it’s not funny, it’s just tasteless and disrespectful. So that Drupal shirt makes me sad. I know that probably none of the people I know and like had a hand in making it. But it bums me out that as a community they seem to think it is okay, good even, if they’re willing to put it on the front page of the fundraiser.

“You can feel good about our project without putting down other projects, so let’s keep it clean.” I said something similar (s/our project/yourself) to my nieces and their friends when they were in 9th grade and had a habit of putting down other girls to feel better about themselves (as so many adolescents do). I hope more people will remember this in the future, and just because you can think of a snarky/sarcastic/mean/tasteless joke that elevates your side and pushes down the other doesn’t mean you should.

In any case, one person’s misstep shouldn’t be cause to demonize a whole project community. Assume good intentions. Reach out when something is awry instead of devolving into one-upmanship. Competition is healthy but there’s no reason to be jerks to each other. And also? Thinking there are sides is really silly. We’re all ridiculous open source CMS geeks. We’re all one side. Let’s stand together, y’all.


I’ve always hated the Calvin peeing stickers, and so has Bill Watterson.

** Profanity used intentionally to illustrate that it’s not appropriate language in a welcoming community.

Distraction-free Writing Mode

Once upon a time in WordPress there was a New Feature called Distraction-free writing mode. You accessed it by clicking the icon in the editor toolbar that means full screen pretty much everywhere on the web.

post editor toolbar

It would load a new screen tha mostly just consisted of a writing box not surrounded by meta boxes or formatting, and what limited formatting options there were would only appear when you moused out of the writing area. It wasn’t perfect (I would have liked that fading toolbar to have all the same formatting options as the regular editor) but it was pretty non-distracting, and it just felt calm.

old distraction-free writing interface

A while back I noticed some changes in the wp-admin regular editor. All the navigation and meta boxes now faded away while you were writing, and I thought, “Oh, that’s pretty nice, kind of a DFW Lite!” I didn’t pay too much attention, as I was just writing a quick post, but in my head I approved, and thought it was a good improvement. Until this morning.

Most of my blog-based activity happens on work-related blogs that have front-end posting forms, so it’s been a while since I tried to access DFW mode. But I was going to be writing a long post, and I wanted to go over into that peaceful screen, so I clicked on the full-screen icon. That’s when I discovered that what I thought was DFW Lite was actually the new DFW. There was no more new screen.

At first I thought,”Hm, that’s a lot more efficient. Good for them!” Then I started writing, and thought, “[Letters-in-a-configuration-to-replicate-my-slightly-alarmed-and-uncomfortable-sound]!” I hated to admit it, but I felt physically uncomfortable. Am I turning into Sheldon (skip to 3:34)? Crap! Anyway, here’s why I don’t love the new DFW.

When wp core switched over to the “toolbar anchors to top of editor no matter how long your post” setup, users lost the ability to grab a corner of the editor and drag it to make it taller. Since it is supposed to automatically resize as you write, most people thought this was a tradeoff with a net benefit, and even though I really didn’t want to lose my little corner resize handle, I agreed that the net benefit was worth it. The thing is, if in your head you’ve already thought out a long post, starting in the small box feels cramped, kind of like when you have to repack a sleeping bag and you’re smooshing it with all your might to get it to fit back into the compact stuff sack.

Think about opening a New Document in MS Word (or equivalent writing program) , or a writer putting a fresh piece of paper in the typewriter (for those who are too young to remember, it’s like this). There have been reams written by famous authors in the past about the feeling that action engenders — a feeling of limitless possibilities, a knock on the creative door, an open road ahead. That’s what DFW tried to emulate. Starting in the small box instead of the full height box feels like possibilities with limits, a creative window that won’t open more than 3 inches for safety, a road with one lane closed for construction. Thoughts scrunch down to try to fit into the available space.

Even when the box expands to be the height of the screen (minus padding against top and bottom of browser), a chunk of space is lost at the top for the toolbar. That fade it used to have really did remove distraction. I wish there had been a way to combine the zen of the fade away (Matt’s original nickname for DFW was zen mode) with the convenience of the always-at-top placement.

In the old DFW, the writing window really did have that feeling of a fresh New Document or crisp new sheet of paper. Now, even once it’s tall, it’s a bit off-center to the left, because that’s where the editor box is when on a screen containing navigation and metaboxes.

Screenshot of current distraction-free mode

There was a time (pre-2000) when I didn’t think too much about alignment in UIs. Then I got a lot of design ideas drilled into my head that stuck, especially regarding alignment. I like asymmetry in a lot of things, always have. Hell, in a site we were just working on one of the things we said we wanted was some asymmetry. But for DFW, the symmetry — the centeredness — was a big part of what made that screen so calming. Your brain didn’t have to do any pattern recognition or internal balancing to make it feel right. But now it skews to the left and it’s driving me crazy, Sheldon style. This isn’t zen for me; it’s a misused apostrophe, a lowercase p, a cabinet door left open.

I thought I’d be a holdout forever against using the new wordpress.com posting interface (I have a lot of issues with it, surprise), but, well, their DFW has that open and symmetrical feeling (even if it has other problems) that makes for a non-Sheldony writing experience.

Screenshot of distraction-free writing mode on wordpress.com

So this might be my last post written in wp-admin DFW mode for now. Farewell, old friend!

* * *

Standard disclaimer when writing about WordPress: This is my personal opinion. I have not been the UX lead for WordPress core for a couple of years now, so this post on my personal blog should not be seen as representing the WordPress project in any way, it’s just my personal experience with a user interface.

Site Setup Journal: Act II

Act II: Setting Up WordPress

Previously in Site Setup Journal: Prologue and Act I: Domains and Hosting.

One-Click Install Attempts

1-click installs are totally the way to go, right? I mean, 1-click sounds faster and easier than the famous 5-minute install that you get if you do it manually over FTP (according to the Codex). I immediately go into the Dreamhost control panel and went for a 1-click.

Screen shot 2014-10-05 at 6.36.55 AM

Okay, so 1-click, but 10 minutes. That doesn’t seem right, that it should take twice as long for the automated 1-click install as for a manual one. Well, too late now, right? Guess I’ll go feed the cats while I wait.

I have to kill a little more time than just feeding the cats, but eventually I get an email from Dreamhost telling me my WordPress install is ready for me, and linking me to install.php to set up an admin user and get going. I click the link and get a white screen. Hm. Try again. Hm. Open up FTP to see if the files are there, and they are. Start wondering if maybe 1-clicks can’t handle being in a subdirectory (where I’d put it), so think I’ll try another one in the root. Same thing, the 10-minute notice. Set up web email for the domain and send a test email so I can see if it’s just the website, or if it’s everything on the domain. Webmail is also whitescreened. Hm. Status on Dreamhost says my server is going to be getting some software updates and will be offline during this maintenance, but it doesn’t look like I’m in that time window. I get a 2nd automated email saying the 2nd 1-click has failed. I head into the support section.

The Live Chat support option shows as available, but when I click it it says that due to heavy activity there will be a 5-hour wait. Come on, just take down the Live Chat option when it’s 4am and you don’t have people on staff. I send an email, then another (first one re white screen, 2nd re install failure). In the meantime I start scrubbing through the Dreamhost support wiki.

I find the answer to the 2nd install failure before support gets back to me. Apparently, 1-clicks don’t work if there is anything in there already. So since I already have a subfolder in the root domain (from the 1st 1-click), trying to do a 1-click into the root won’t work. I have to empty it out first. That doesn’t make sense to me, but whatever. I wind up deleting everything via FTP and doing a manual install instead. Two, actually.

Manual Install

Well, then, back to the WordPress.org!

Screen shot 2014-10-11 at 8.04.50 AM

The “handy guide” is the Codex’s installation instructions page. Let’s take a look.

Before You Start

Screen shot 2014-10-11 at 8.22.15 AM

1. Minimum server requirements. As it happens, I had checked the php version stuff when I re-upped the hosting account for this domain, and had upped the version of PHP. Someone setting things up without my account gymnastics wouldn’t have encountered that, though, so I set out to find my hosting versions as specified in the ask-for-it text on the requirements page on wordpress.org:

  • PHP 5.2.4 or greater
  • MySQL 5.0 or greater
  • The mod_rewrite Apache module

I log into the Dreamhost control panel. I look for a navigation label that says something like hosting environment, version information, about, etc. Don’t see anything. Click into Manage Account, nothing. Click into Manage Domains. Oh ho!

Screen shot 2014-10-11 at 8.28.41 AM

Clearly I’d only upped the version on the one domain, not both on that account, but even so, I can see that the php versions are both above the minimum requirement to run WordPress.

Next up, MySQL version. Clicking the MySQL Databases navigation item seems the most likely, so I do. Nope. No information shown here about MySQL versions. You’d really think you would see that on the page labeled MySQL Databases, wouldn’t you? There is a link on that screen to phpMyAdmin, so maybe I can find it there. Wait — Authentication Required!

Screen shot 2014-10-11 at 8.39.09 AM

Bah, which username and password combination does it want? The hosting account (server?) or a database user? A note here saying which password is needed would be helpful. I can’t get in with the ones I know off the top of my head so I close out of that and go back to the main Dreamhost control panel (the phpMyAdmin attempt had bumped me into a new tab). In the search box at the top, I type “MySQL version” and hit enter. The page refreshes, but I’m still on the MySQL Databases page where there is no version info displayed. I think maybe there’s some documentation with version info, so I look for support.

Now, having been around a long time, I know that Wiki, a small link in the upper right corner, means documentation. But a lot of people don’t (I doubt my mom — the most recent person to ask me to set up a site — would), so for the sake of the experiment I go looking for a Help or Docs or Support link. I find it (Support) in the bottom left navigation after scrolling down (below the fold), because for some reason the “Goodies” navigation section is open. Why? Because apparently that’s where the MySQL Databases page actually lives, despite being in the navigation up above as a top-level item. Come on, Dreamhost, who’s your information architect, and what are they doing?

Anyway, I click on Support. It drops a layer with 3 options. Contact, History, and Data Centers. Why not have a link here for Wiki (or better, Documentation, which is less jargony)? Hmph. If you do click on Contact Support, it takes you into a form. There’s a live chat button, but no links here to documentation either. Hm, what’s this “Help is Off” button?

Screen shot 2014-10-11 at 8.48.09 AM

I decide to click it. Then I see this:

Screen shot 2014-10-11 at 8.48.47 AM

Oh, how handy, a link to documentation and forums. Why it’s even optional to hide that text is ridiculous. Anyway, to the wiki!

On the Wiki Home there is a nice little menu, and MySQL is listed there, so I click it. I come to another list of topics. None of them say Version, so I start clicking them in the order that makes the most sense. MySQL and PHP does not have version info. Neither does phpMyAdmin, but it does tell me that the authentication password request was for the database user password. Upgrading from MySQL 4.1 to 5.0 tells me that, “DreamHost is currently slowly upgrading your MySQL servers from version 4.1 to 5.0. You can also email support and request they upgrade your databases. There are some incompatibilities between versions 4.1 and 5.0, particularly with JOINs. This upgrade could cause some breakage of your application(s).” It does not say how to tell which version you are currently on. At this point, some people might email support, but I think a lot would just shrug and decide to take a chance and hope they were already on 5.0. So I do that. Because let’s face it, any host that is listed on wordpress.org/hosting had better be running the minimum requirements, right?

Mod_rewrite! Since I’m already in the wiki, I do a search for “mod_rewrite Apache module,” the last item in the ’email your host” list. The 4 search results are not helpful in any way. I remove “Apache module” from the search term and try again. Lots of results, none of them helpful. I decide again to shrug and assume, because this documentation is for the birds when it comes to confirming minimum requirements, and who has time to wait for support emails? Not me!

Around now I get an email from support about my earlier white screen issue. They say that it’s because the DNS hasn’t finished replicating. I might add that there’s a “works for me” comment in there that makes me purse my lips. But I stop to think about DNS. Yes, in the past I’ve had to set up a temp site on a dreamhosters subdomain if I wanted to work on a site before DNS caught up. Pain in the ass, yeah? Having to then do a move once the real domain is showing up? I hadn’t thought about that this time because the GoDaddy registration of the domain had been pointing at Dreamhost servers all along. I guess the hosting being down and then up created a DNS interruption. It was not explained to me satisfactorily, but I move on. Specifically, to step 2 of preparing for the install.

Step 2. Download the latest release of WP. Easy. Go to wordpress.org, click the big Download button. Oh, okay. That wasn’t really a download button, that was a navigation link to a download page. Okay. I skim the content in the middle and go to click on the… oh, that button at the bottom of the content area is to find a mobile app, and goes to a site at get.wp.com. That’s not right. Oh, there’s the real download button up in the sidebar. It seems like those should have been switched, but whatever. Click! Download! 6.3MB, it takes 7 seconds.

Step 3. Unzip the file. Also easy. Do Show in Finder from the download bar on the bottom of my browser, double click the file, see the wordpress folder appear. 3 seconds.

Step 4. Secure password for secret key. Click on the link to read about it. Get distracted by the big-ass blue-i information icon alert at the top that says, “Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!” Why is that following me around on every page of the Codex? For someone installing WordPress for the first time, that is not helpful. At all. Further, there’s no x to dismiss the box, so if I’m not interested, I still have to scroll past it every time, and it pushes the content farther down on the page, not to mention making me feel like I’m probably not in the right place because they obviously think I am way technical. (Tangent: People keep saying that the fold is dead, but I think they are wrong.) Anyway, I’m already confused. I clicked on a link that said  Secure password for secret key, but I don’t see that language on this page. It doesn’t anchor link me to the specific section I needed, so I guess I have to read this whole page? With multiple mentions of passwords but no headlines that say secret key? I command+f to do a search for text on the page, which shows that “secret key” is mentioned in the section titled Security Keys. Hmph. Would a little consistency here be so much to ask?

Read the section. Questions that should be answered in this section before jumping into the history of adding stuff.

  • What is a key?
  • What is a salt?

Then it shows what secret keys look like from the online generator. Cool, I like online generators. But the wording all over is inconsistent and confusing — is it one secret key, or four, or eight? And where do I set a secure password for the key (or keys)? I don’t understand this! So! Many! Words! Used! Indiscriminately!

I cheat and use the fact that I know what all that confusing language means, and what it wants, which is simply the block of generated keys and salts, not a password for them.

Step 5. Print this page. So I have it handy during installation? I’m thinking this list was written in the days before browser tabs, because why would I print it when I can just keep a tab open? Silly directions. But! On to the actual install!

Famous 5-Minute Install

That sure was a lot to do before doing the install, but I’m ready now!

Screen shot 2014-10-11 at 8.06.30 AM

Download and unzip — check. This step, which was 2 of the steps in the Before You Install list, took under a minute total, about 20% of a 5-minute install.

Create a database and a MySQL user — check. This takes a couple of minutes. I have to log in to the hosting panel, locate MySQL Databases in the menu, and scan the resulting page to orient myself. The first thing on the page is creating a new hostname, and the WP instructions didn’t say anything about creating a new hostname. Below that is create a database, which has fields to create the first user at the same time. There’s no instruction on the difference between a database user, an ftp user, and an account user. I go ahead and made new host, db, and user (and while I’m in there I delete the databases left from the aborted 1-clicks), but I think it would intimidate someone who hadn’t done it before and didn’t really know what a database was in relation to a hosting account or a website. This takes me a minute or two, but would probably take someone who’d never done something like this a little longer, maybe up to 5 while they tried to grok the setup page on the host panel.

Edit wp-config.php — check. This step is labeled optional, but I’m not sure why. If you click the Editing wp-config.php link, it says WP will create the config file for you from info you enter, and that turning wp-config-sample.php into a real wp-config.php file is for advanced users. If it works fine to have it be auto-generated, then why have this step in there at all? If it’s really better to do it manually, then why have the auto-create version? In any case, I’m used to editing the config file at this step, so I do it. Takes a couple of minutes because I had to go back and forth between tabs and copy/paste stuff. I happen to have Coda installed so the file opened in that program, but normally I’d have used textedit.

At this point I’ve passed 5 minutes.

Upload files via FTP — check. I open Transmit and start the transfer. It takes twelve minutes. Why? My first guess is that it is shipping with 3 default themes now, all with retina-ready images. But I don’t know, I could be wrong. I know I don’t need all those themes, so I delete Twenty Fourteen and Twenty Thirteen while I’m in FTP, and plan to start out with Twenty Twelve.

Tangent: Why do I want to start with Twenty Twelve? I think Twenty Thirteen is really aimed at bloggers and it has an overwhelming brand/design to it. The site I’m making is for a class, and needs to be chill. Twenty Fourteen I just personally don’t like, for the same reasons I don’t like the general mp6 coloring/style, which I’ve posted about elsewhere before.

Run the script at the URL where you installed — screeech! Screech to a halt here, because I wind up on another white screen. Side note: the wordpress.org instructions say to go right to the root URL, not to install.php directly (like the 1-click email tells you). Are they two different locations? Does install.php automatically load at root? Bah.

I go ahead and do a second manual install, so now I have one in root and one in a subdirectory. White screens on both. So it seems that the DNS stuff is really going to hold things up. I decide to go to school and finish it off when I get home that night.

INTERMISSION

Stay tuned for the exciting conclusion in Act III, which will cover finishing the WP install, installing BuddyPress and other plugins, and setting up BuddyPress.

 

Site Setup Journal: Prologue

I think that most of the people involved in creating software for the web have completely forgotten what it’s like to navigate these waters, and that “our setup is so simple!” statements are in general full of crap. Over the next few days, I am going to try to set up up a website on a domain I own using only the documentation and support available to the average person (who doesn’t have access to lead developers and heads of support teams). Is this decision predicated by the fact that none of those people were around when I tried pinging them today at 6am? Well, yes, yes it is. But given the frustration level I have encountered in the first 2 hours alone, I am glad they’re not around right now. I’ve been setting up websites since 1999, and I think we are making the process harder, not easier.

Get ready for some painful descriptions of just how janky all our product flows and documentation are. I know I’m wincing.

I’m thinking this will wind up being the equivalent of a play in 3 acts, but I could be wrong — it depends on how complicated things get.

Screen shot of unavailable webpage

Setting

A quiet home in the Pacific Northwest featuring cable internet with advertised speeds of 25Mbps down/10Mbps up. A comfortable bed with pillows propped against the headboard, against which our main character lounges at the opening of Act I, equipped with a MacBook Air circa 2010, an iPhone 5s, and a debit card.

Cast of Characters

Jen Mylo: An average web user trying to set up a site for the first time.

GoDaddy: The registrar holding the domain [Ed. Note: Legacy registrar; I’ll switch it to namecheap at some point before it’s time to renew].

Dreamhost: A web hosting company that Jen Mylo has loved forever and that employs one of her favorite people as their resident WP expert. They were hosting non-profits for free before it was cool.

WordPress: An open source content management system you can use to run a website. Claims a famous 5-minute install, “well-known for its ease of installation.” Rumor has it this web app is made by a bunch of weirdos.

BuddyPress: An open source WordPress plugin that creates a social network on your site. Also made by weirdos.

Rivermark Community Credit Union: A community credit union in Portland, OR that likes to do everything online; where Jen Mylo keeps some of her money.

Stay tuned for Act I!

Automatticians at WordCamps

Automattic is getting pretty big, almost 200 folks now, spread all over the world. That’s a lot of people we can send to WordCamps. I remember when it was mostly Matt and I splitting up who’d go to which events — how times have changed in five years!

Since we’re hiring so enthusiastically, my team is putting together a little guide for Automatticians on how to be an awesome Automattic representative at a WordCamp. I have a pretty giant list of tips and advice at the ready (you’d never have guessed, I know), but it occurs to me that non-Automatticians are probably the best people to ask about what we can do better when we pop in to a local WordCamp.

Here are some of the things from my giant list so far:

  • Don’t travel in packs. When there are a few or a bunch of Automatticians at an event, we tend to cluster together because we so rarely get to see each other — and we like each other — but it makes it less likely that we’ll meet new community members. 1. Because we’re too busy talking to each other to reach out to new people. 2. Because it’s intimidating for someone new to break into that group.
  • Ask questions. A lot of WordCamp attendees will already know about Automattic, so while we should definitely be a resource for anyone interested in the company, the better use of time is getting to know the community members: who are they, how are they using WordPress, what would help them make their community more vibrant, who are the local independent consultants/themers/developers that we should know about?
  • Help out. WordCamps are a lot of work. Automatticians aren’t visiting dignitaries — we’re getting paid to be there — and we should help out along with the locals, whether that’s taking a shift on the help desk, moving chairs, or passing out shirts.
  • Be identifiable. Wearing the same WordPress t-shirt as everyone else is cool and all, but wearing a shirt that identifies the wearer as an Automattic employee, or a lanyard for the badge or something, would make it easier for people interested in talking about Automattic (especially people interested in jobs!) to find the Automatticians in the crowd.
  • Carry cards. Saying “email me later” works better when the card with an email address is handed over at the same time. That said, getting community member contact info so the burden of follow-up isn’t on them is even better.
  • Tweet It.  Using Twitter to let local followers know Automatticians are there is helpful. They might love to meet in person and talk about working at Automattic or contributing to the .org project and may not realize we’re there, especially if we’re not on the speaker list.
  • Don’t hog the speaker slots. Yes, Automatticians are speakers you can rely on, and we do employ a lot of seriously smart people, but if the speaker roster is filled up with Automatticians, that doesn’t do a lot to help grow the experience of local folks, which is part of what WordCamps are about.
  • Don’t be exclusionary. If planning to go off to an Automattician dinner or something after a long day of not traveling as a pack, don’t make those plans in front of other people, who will feel excluded (or might not understand what’s happening and might inadvertently show up later and crash the dinner); make private plans in private via Automattic channels. Even better, don’t go to private dinners, go to dinner with members of the local community.
  • Be present. In sessions, don’t work on the laptop, just pay attention to the speaker. In the crowd, don’t focus on the phone, smile and meet new people. Be there for the whole event, don’t take off early or skip the second day. Show the local community that Automatticians are respectful and want to be there.

What would you add? In the comments (or in an email to me at jenmylo/wordpress.org if you don’t want people to see what you think) make suggestions for what Automatticians can do to be awesome at WordCamps. It’s also okay to give examples of times when we have not been awesome. Learning from our mistakes is good, too. Thanks in advance for your help!

Changes

Today I turn 41. It’s also the end of my quasi-leave of absence, and on Monday I’ll be returning to full-time work at Automattic on the Dot Org Team. When I do so, it will be in a new role; I’m posting about it here so that all concerned will know what I’m doing, why, and that yes, it’s intentional.

For 4+ years, I was the UX/Design lead for core. At some point in the first year or so, I also started project managing the core team/core development. Then I started doing some community work, events, and general contributor community management. There were also other things here and there, like trademark for a while, being the team lead of the Dot Org Team at Automattic, and various design forays. You might remember that this was too much. I’m not ashamed to admit that I burned out, and needed a break.

It’s my birthday, so it’s a natural time to reflect on where I’ve come from, where I’m at, and where I’m going. When Matt convinced me to take the job at Automattic, one of the things that got me in was that he said I could work on programs to bring women and girls into the WordPress community, especially around programming. In that lunch on a San Francisco sidewalk, I laid out a vision including mentoring programs, school projects, summer camps, trips to the moon… okay, not trips to the moon, but just about everything under it. And then I never did any of those things because I didn’t prioritize it over my work on core.

Don’t get me wrong, I still think core is mega-important. Core *is* WordPress. Without it there would be no community. That said, core doesn’t need me to pour my life into it; my offering feedback, some sketching, and advice occasionally can be as much of a help as my doing research, creating wireframes, reviewing every trac ticket, and testing every ui patch.

In 3.5, I was meant to be on leave (aside from the summit planning), so I  answered some questions and gave some feedback early in the cycle to Dave/Helen/Chelsea/Koop, but otherwise stayed out of it. (P.S. Kudos to Nacin on the project management of 3.5!) My only real involvement was at the end of the community summit, when I spent several hours the last morning sitting with Koop going though the media uploader screen by screen, asking questions (“What about _____?” “What problem does that solve?”), sketching alternate approaches, and generally dumping every reaction and idea I had about it into Koop’s head before he left for the airport. Then I didn’t think about it again. From Skype a few weeks later:

Andrew Nacin 11/27/12 12:28 PM
feeling good about 3.5?

Jane Wells 11/27/12 12:31 PM
i wasn’t really involved with it aside from media morning with koop before he left tybee

Andrew Nacin 11/27/12 12:31 PM
that morning was huge. completely re-shaped a lot of our thinking.

That has me thinking that 4 hours here and there will do just fine instead of ALL THE HOURS.

So! Where does that leave me, if I don’t need to do core design or project management anymore? I keep going back to that sidewalk lunch and how exciting it was to talk about possibilities around using WordPress as a gateway for women, girls, low-income kids, and minorities of all stripes who are under-represented in our community to get into the web industry (see also #2 in this post).

My first week back at Automattic (starting Monday) I will be doing a week’s rotation on wordpress.com support with my team, but will then be jumping into a new role focused on our contributor community. It will involve a lot of projects, but one of the first will be aimed at increasing diversity in the contributor groups, starting with the gender gap. These efforts will all happen under the aegis of the new Community Outreach contributor group, so if you are interested in working on this with me (and Andrea Rennick, and Amy Hendrix, and Cátia Kitahara, etc), please join us! I’ve got a giant list of projects that I’d like us to tackle in the new year, and we’ll need people to help make things happen.

But what about core? And other stuff? I’m reserving Wednesdays to do design so I don’t get rusty. These “office hours” can be used by the core team to have me look at something, or by an Automattic team. Otherwise, I’ll use that day to work on designs to improve areas of the WordPress.org site to help with our goals, and/or tools to help us get things done.

So that’s the plan.

What do you think?

A Bakery? Also, OMGOMGOMG!

This post has the potential to be as long as the scarf I made Matt for his birthday. Knowing that, I’ll try to keep it short and to the point. Opportunity knocked last week and I decided to answer. No, I’m not leaving WordPress or Automattic; get your mind out of the gutter. The owner of a small restaurant here on Tybee (Charly’s) is retiring and selling his place, and $10,000 was plunked down as a deposit to buy it so that it could house:
Jitterbug: eat. drink. blog.
I want to turn it into a bakery/internet cafe/WordPressy community gathering space. Bake in the morning to force some non-computer time, then do my usual WP stuff in the lulls. I wrote a 20-page business plan full of stats and projections, and some smart money types tell me it looks good. But wait! I’ve spent all my money in the last few years on things like raising my brother’s kids, buying braces for same, helping my mom buy her house down here, and stuff like that. I am broke! I can’t afford to turn this place into the vision of awesomeness I see in my head, despite the below-market price and my plan to take a loan out against my 401k. So: crowdfunding!

The project — the Jitterbug Bakery — was accepted to Kickstarter yesterday, and on Monday once I finish their project setup, I’ll launch a fundraising campaign there. I also set up a WordPress site with a paypal plugin for the non-Kickstarter types, which would mean less lost to fees. If you want to help me make this thing a reality, I’d love it if you’d pitch in (rewards range from my brownies and Jitterbug swag to website setups and reviews), but will in no way hold it against you if you don’t.

small green house with a deck with seating

The building in question: the future Jitterbug

Did you know a decent refurbished espresso setup costs up to $15k? And I don’t even drink coffee!

So if you ever thought to yourself, “I wish I could buy Jane a [drink, dinner, iPad, car] to show her how much I appreciate all she does,” here’s your chance! I’ll provide the drinks and dinner if you come visit the Jitterbug, I don’t like iPads, and I have a car I like. I put up a site at BuyJaneABakery.com that is pretty much just what it sounds like. It has all the info on what I (we, if you include my mom and Morgan!) want to create for my local community. The Contribute page has a donation widget at the bottom. Yes, a bit hidden. The Personal Fundraising plugin I wanted to use was pretty and awesome but more trouble than it was worth. If you’re a Kickstarter type of person, I’ll update this post by Monday when the project goes live there.

If you ever really loved me, help me buy a bakery!

Blackout

The blackout on WordPress.org 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 WordPress.com has also started. The primary home page of WordPress.com has blacked out all of its normal “Freshly Pressed” content. The WordPress.com official blog is sporting a ribbon — if we blacked out the blog, then WordPress.com 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 WordPress.com 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 WordPress.org and the WordPress.com blackout pages include a short message that includes a text link to the sopastrike.com 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 americancensorship.org.

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.

 

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.