End of an Era (for me)

On Friday I’ll be leaving my job at Automattic, and my position in the WordPress community. I’ve poured my life into WordPress for 8 years, longer than I’ve ever stuck around at anything else, and it will be super weird to lose a job, a social circle, and an all-encompassing everything all at once. But while this wasn’t a change I had planned on (well, only planned for 3 weeks, anyway) I know that it will be better for me.

For the next month I am going to focus on getting my health in shape under my doctor’s care — it went to hell during my a8c tenure for various reasons — and figuring out what I need to do to go back and finish up the degree I was a month from obtaining before I walked away from it to work on the prototype that would become WordPress 2.7. Also, I’ll finally rip up the invasive plants in my yard and put in a garden and some native plants. And I’ll keep doing acupuncture. I’ll probably start writing again. Practice Spanish. Maybe re-learn how to play the guitar enough for a backyard singalong or two.

After that, we’ll see. Maybe a new ux or product challenge. Maybe something different. Maybe leave tech altogether. I’m not really going to think about it much until a month has passed, because I don’t want to jump into something else right away and perpetuate the same overwork patterns I developed over the last 8 years. Habits take time to break. I might take some of that time to write up some of the thoughts I never got around to publishing while I was on the job or to answer any questions that I get asked more than once. Or I might just sit outside feeding stray cats. Who knows?

My wordpress.org email address will not work anymore. If you want to reach me and don’t have my personal email address, you can use the contact form on this site or @jenmylo on Twitter. If you’re a “But I want proof we are connected!” person, I’m on LinkedIn. If you’re a Facebook junkie, I really don’t use it — it gets my Twitter feed but I don’t monitor comments on Facebook or anything like that. I should really just turn off the Twitter feed, probably. So many things to think about when everything changes! Hey, and now I can update my gravatar when my hair changes color, since I won’t be going to WordCamps where I want people to recognize me from online. Maybe I’ll do that next week. Maybe I should pick a new color first. Or go back to purple. So many decisions!

Anyway, to everyone in the WordPress community who enriched my life in some way over the past 8 years, thank you, and maybe we’ll run into each other again sometime. If you’re ever in Portland (Oregon, not Maine) and want to get a chai or Ethiopian food or come feed a stray cat in the backyard, let me know!

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.


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


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!


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?

Collaboration: Walkman vs. iPod

I get this email every day with an excerpt of something interesting from delanceyplace.com. Usually I delete them without reading because however interesting it doesn’t seem worth the few minutes it would take that I would be stealing from something else that requires my time (story of my life). Today, though, I read the email, which was delanceyplace.com 10/5/12 – sony’s walkman vs. apple’s ipod. Give it a look. It’s an excerpt from a book on collaboration and shows how poor collaboration skills caused Sony to totally lose in a space they should have dominated.

I’ve been thinking a lot about WordPress on my leave (Yes, I know I started leave a month and a half late and am supposed to be thinking about other stuff. Shut up.), and a lot about perceptions of .org vs. .com, and about why there’s a “vs.” in that phrase in the first place. It’s not helping users of WordPress, and it’s not even helping those of us who make such a big deal about the differences. It’s just creating factions.* Going to try to get my thoughts on this in a more coherent format in time for the summit, so hopefully one of the topics we look at can be how to move forward collaboratively instead of competitively.

* – If I can work in any analogies with the factions from the Jane True series that Ryan, Andrea, and I all love, I totally will. If I lived in Jane True’s universe, I think I would turn into either a dolphin or a sea turtle. Halflings rule!

Wishlist: P2 Template Plugin

I have been wanting this plugin to exist for something like 2 years now. If someone would be so awesome as to make it, that would be fantastic.

P2: A theme! A theme with a bunch of functionality in post/comment display that has nothing special going on in the layout or branding areas. It’s all about the content area (and an associated sidebar widget or two).

Other Theme(s): A theme! A bunch of stuff going on in the layout and branding department areas, but no great auto-display functionality in the posts/comments area.

The Dream: Make a plugin that will take the P2 functions and post/comments display within the content/loop area and create a template within your existing theme that keeps your header/footer/sidebar bits but subs out the P2 stuff for your default content area, and applies the stylesheet from your own theme but creates whatever additional classes are needed for the P2 display.

Why: Because P2 is good for conversations and planning, but not for marketing or straight information display. Other themes do that better. But what about when you have a business website (total custom theme usually), but would like the blog you have on one of the pages to be P2 style? What about event sites, that need specialized templates for schedules, attendee listings, and the like, but have planning blogs that would be best served up P2 style?

I would install this plugin on every single site I set up, and would use it as the Blog page template when there’s a static front page.

This is an idea that is long overdue. Would someone please make it a reality? Thanks ever so!

A Tale of Two Brothers: Plans, Construction, and Dev Styles

When we first moved into the Jitterbug building, my two brothers came to help fix it up. I wanted to get rid of the bar that had been in place before, and build a little bakery counter that would be a comfortable height for me to work behind (I’m short) and use some old windows I’d bought off craigslist to showcase the baked goods.

Brother #1’s Approach:

We can definitely build it. First I need you to figure out exactly what size you want it to be, where the windows should go, and draw me up a plan — a basic blueprint to work from. Then we can look it over and figure out what exactly we’ll need and then we can put it together.

Brother #2’s Approach:

Counter about this high, stretching across this space, and using as many of those windows as we can fit in, with a shelf inside and some kind of back covering to keep dirt away? Yeah, I can do that. I’ll do it right after I finish this other thing.

Jane: But, Brother #2, don’t you need a plan, a blueprint?

Nah, I know what you want. If it’s not exactly what you were thinking as we go along, we’ll just check in along the way and we can always redo a bit if I don’t do it how you pictured it. It’s not rocket science, you’ll be happy with the end result one way or another.

Guess which brother was in charge of building the counter? Brother #2. Brother #1 worked on it as well, and so did I, but Brother #2 was ready to jump in and rough it out to move things along quickly. He had no compunction about ripping something out if it didn’t work the way we intended, and embodied the idea of prototyping into iterative improvement/development so completely that I couldn’t help compare this experience to working on WordPress.

There are two schools of thought among WordPress core developers, it seems — the coding equivalents of Brother #1 and Brother #2.  Brother #1 in core terms would be asking for wireframes before writing a line of code, and for everything to be completely figured out in advance. Brother #2 would be more of a jump in and get something started kind of dev, who prototypes using his best judgment and solicits feedback on design aspects as the build itself comes together and can be experienced as a prototype.

When I started working on WordPress, it was mostly Brother #2s. If I said an idea in skype or IRC, someone had it roughly coded to look at before the rest of us were even done talking. Lately, it has felt like we’ve shifted more toward Brother #1s. Statements like, “We need wireframes,” or “You have to decide exactly how you want it to work,” come at me in IRC and Skype, making me a bottleneck and a gatekeeper to development. Yuck!

I don’t want to make any more wireframes. Period. 10+ years is too much. I don’t mind doing up a sketch now and then and putting it on Trac, but I’d like to see more of a return to Brother #2 style development. (There are definitely some in core who do work this way currently.) Just start prototyping. Better UX decisions will almost always come from playing with a prototype vs just imagining with pen and paper (or computer and mouse/wacom). That’s not to say there isn’t a place for specs — when there are a lot of developers working on something, a spec is really useful for keeping people on the same page. But that spec could be as simple as a written description of the feature or change that’s archived and updated as the project evolves.

I did a lot of wireframes in the beginning with WP. In 2.7 we had the Crazyhorse wireframes, which Liz and I did to communicate something totally different to developers I’d never worked with before. In 2.8 with widgets, I did them because we were radically changing the UI, but even more because the underlying widgets code was so sucky that experimentation would have taken forever in a live situation and I didn’t want to put Andrew through that.

Since then, I’ve avoided doing many wireframes. I like it when the dev takes the first stab. Not only does it remove me as a bottleneck, it puts more UI/UX ideas into play before things get finalized. If I do wireframes, then the devs are basically just builders. Which some like, I know, but many want to do product design thinking as well. And really, even for devs that don’t want input into design, having a conversation with a whiteboard or doing a rough sketch is just about always enough for a dev to rough it in as a 1st pass/prototype.

Think about how fast we could go. In this example, we’re talking about doing an update to the way Gallery tab works.

Brother #1 Style: I (and/or some other UI people and devs with a UI bent) review what we have, look at what else is out there right now, get some community feedback, throw around some interaction model ideas, core group debates, pick one, wireframe/write spec, start the build.

Brother #2 Style: “Hey, let’s make the Gallery tab better! Here are the 3 things we want to solve in this iteration. Core people: if you have an idea of how to improve 1-3 of these things, we want you!” Core people discuss their ideas, those deemed of interest make a rough prototype, I/core team/Matt/whoever reviews proposals (in prototype and/or mockup form depending on skillsets), picks one to use as base, makes list (for reference) of what to change in next round to better address the goals, someone starts development.

In the Brother #2 scenario, there’s no initial ux bottleneck, more people have a chance to propose ideas, proposals are focused on solving specific issues (vs being everything cool we can think of), and the real development begins with something to look at/refer to already in place. In Brother #1 scenario, it could be up to several weeks before anything gets coded… the same amount of time it would take to do several rounds of prototypes in the Brother #2 scenario!

I forgot to mention: my counter came out awesome. Not exactly as I’d first imagined it, true, but it served all my goals, was attractive — I’d never even thought of using beadboard until Brother #2 told me to start putting it on the front panel — and I was really happy with the end result:

Jitterbug counter

The counter whose construction was led by Brother #2.

So: no more wireframes for me. Brother #2s, I’m at your disposal for ux feedback!