WordCamp 2008 Unless you were there, you might not recognize the photo on-screen as that of WordCamp 2008. No special significance to the date, just a photo I pulled off Flickr, but it does illustrate a bit of what I want to talk about today: The pull of this community, the WordPress community.
My name is Owen Winkler, and I’m your tour guide through the wonderful community of wordpress. I just want to point out a few rules and regulations before we begin our tour. Please keep your hands and legs inside the vehicle at all times, as we will be moving at a high rate of speed through the treacherous terrain known as the intarwebs. If you have any questions, please feel free to exit through the doors at the rear of the theater, where a man in a black suit will happily squelch those feelings of curiosity. But if you must ask a question, you can find me online under the nickname “ringmaster” or at the portal to all things related to ME, owenw.com
One of the things they don’t tell you but you get to learn when you put together presentations such as these is that there are certain prime time slots for your session. The one right before lunch is pretty good. The only one worse than the first session is the one right after lunch, because people are still dragging back, they’re full of food and logey. The last thing you want to do is be roused from your nap-like state and encouraged to get out from under your comfortable rocking chair. So maybe you need a feather toy to chase to kind of wake you up…
So here’s the toy. This is a pretty simple question and kind of a test run of the system.
(Review most participants against poll. Ie Many of you are probably familiar with a lot of this/This will be new to many of you.) What I thought was, I don’t want to present a “History of WordPress” session. I’m not qualified. I’m practically not qualified to talk about what I am going to talk about. But I find that history is better if it’s personal, and hopefully my experience in coming into the WordPress community can be educational for the rest of you. Or at least amusing from many embarassing screenshots and photos. Alternatively if you’re asleep from the ardor of that last exercise, this could give you a chance for an extended nap.
Back in the dark ages of the internet… This was my website. Most of you did not have to suffer through this madness, the age of coding everything by hand.
Eventually, I moved all that content over to a CMS. Because who wants to edit HTML by hand. And I did this, as you can tell by the dates on this, for 2-3 years. I was a desktop developer at the time – very few people were coding the web for money. I put a lot of work into this CMS, because I had a couple of people using the software. And it’s really the users that drove me to the brink of insanity, where I started to wonder what else was out there. Who was out there. You start to see here my longing for community growing from my blog. Produced a comparison chart of the software that was out there that would best suit my needs. “Blog Software Breakdown”
To get the information I needed for the chart, I had to download and try each product, and ask questions. One of the biggest concerns I had with most of the software was where I could get support if something went wrong. Where do you go for WordPress support? The forums, of course. This was the forum at the time. Runs Minibb.net. Did not run bbPress or any derivation thereof, because that didn’t exist yet. Have a look at the numbers here. 414 total posts about plugins and hacks over the lifetime of the forum so far in 2004. I got 128 new messages on the hackers mailing list last week. In
175798 Community 175799 Features 175800 Popularity 175801 Recommended by Friends 175789 Forced to by gnomes
Mo, Ryan, Doug, Andrea, Me Back in 2005, Ryan Duff suggested that we start some kind of Philadlephia meetup.
December 19, 2005, Santacon Philly PW Meetup. By this time, we had 20-30 people coming to the meetups each month.
Meanwhile, in San Francisco…. Actually, sometime the next year. In about three weeks, Matt organized WordCamp, a kind of “state of the WordPress” event for about 300 attendees.
I’m skipping ahead quite a bit with this screenshot of the main WordCamp site, but that’s only because it’s to make the point logarithmically. This is a photo from WordCamp Hong Kong. That’s the other side of the planet. When you talk about the internet opening up possibilities for communication around the world, that’s great, and sure it’s obvious. But having some topical point to rally around is essential, and people’s love for the WordPress platform seems to have caught on well enough world-wide that WordCamp events take place pretty regularly all over the world all the time.
Did anyone catch any of the presentations from WordCamp Nagoya last night?
One fun thing about conferences I’ve learned is that most conferences themselves aren’t very useful. Have you ever watched some of the recorded video conferences? With bigger conferences, even this one (with much deference to the organizers), you get a few tracks. You can’t see everything anyway. And all day, you only get a handful of sessions, which can be hit or miss. But. One of the big things about conferences is that they get all the people with these interests together in one place. The hallway conversations are really where its at. There, and the afterparty. Because it’s really about the Community and not necessarily the event itself.
WordCamp isn’t the only place that WordPress happens. Here’s where dwells some of my more creative ideas about community. In 2007, I attended a conference called blogOrlando. blogOrlando was just an open conference about blogs, and occurred at the onset of the social media wave. There were a few sessions about WordPress. There were plenty of sessions about other things. I’m not in this picture because…
Ohio Linux Fest 2007. I participated in these events, but in others, I’ve spoken. There are a lot of local interest groups that don’t specialize in WordPress that have use for people with WordPress and, vice-versa, have a lot to offer WordPress users.
So this begs the question, where is the community? It’s a question I’ve been struggling with for a long time. Because we talk about the WordPress community like it’s just something that exists outside of ourselves, and in reality – to skip right to the conclusion – it IS ourselves. And when I talk about community, I’m not talking about producing WordPress at this point. I’m talking about the social layer above producing the software.
Wikipedia talks about how sociologists define community as being a group of interacting people living in a common location. Obviously, this doesn’t work for WordPress, because it’s global. It doesn’t happen in just one place. Most of it doesn’t even happen in a place at all – it’s all online!
Clearly, some of it happens here. A big mess of it. But most of what you find on wordpress.org is unidirectional. They broadcast, you consume. [FLIP SLIDE] There are some interactive bits here. The forums, the mailing lists… But a lot of community - interaction between people - happens elsewhere.
BarCamp Philly is next month on the 13th. BarCamps happen eveywhere!
The WordPress meetup, after many years hiatus, is back on with new organizers and a full head of steam Brad Williams and Doug Stewart organize the group.
This is not the only meetup of interest to WordPress users in Philly. PANMA Philadelphia semantic web meetup PHP Users meetup Philadelphia Graphic designers meetup Philly CHI Web development groups in practically every county surrounding Philadelphia
If you want to interact with people not in person, there are plenty of blogs to choose from. I’m showing wp-community.org, weblogtoolscollection, wptavern and wpcandy here, but there are a few others. What’s nice about these is that they allow comments. Some of the sites even have forums. This is important for a couple of reasons. First, community is about interacting. So your ability to respond to opinions is paramount for fostering a community. Many of the core wordpress blogs or places of potential interaction are closed to comment. Second, because these sites aren’t necessarily moderated by the same people who moderate what comes through wordpress.org, you get a wider view of events. It’s like everyone says about BBC news versus mainstream news in America. We’re not seeing the whole picture because our news programs are too busy telling us about some fluff piece. I’m not saying that the blogs run at WordPress aren’t uninformative or useful, just that they’re obviously and rightfully biased, and not very fostering of community. One thing I do want to point out is that the core devs publish blogs of their own that are often useful for discussion of WordPress topics.
So you’re reading these blogs and forums, and your participating in discussion and you’re learning things and interacting with people, and one day you decide you want to be even more involved. What can you do? A lot of people just get to this point and stop, because they think that they don’t have anything they can offer back to WordPress and its community. But there’s no reason to stop here. I have three thoughts related to this.
I’ve spent a good deal of time in the city over the past three years for a suburbanite. One of the things I really respect about the tech community in this city is that everyone has a jump in, no-holds-barred, own-in attitude. There are a few reservations I have about it, like reproducing existing work, keeping things legal, stuff like that. And there’s the real possibility of failure. But if someone’s not doing something that needs to be done, and you get the urge to make it happen, you should. It sounds kind of cliché, but nothing is stopping you but you. This attitude is contagious -- if you spend any time with the folks here in the city, you will be affected.
This isn’t quite fair to Microsoft, although I thought it was amusing. Anyway. Thought #2: WordPress is open source. I’ve given a couple of talks on open source, because I’m a big open source advocate. Why? Oh, that’s right, it pays for my house. Free software pays for my house. Amazing. I digress. Open source. One of the fundamental principles upon which WordPress is built is the ability for anyone who gets the code to do whatever they want with it. When you consider that the code is constructed on such tenets, how can you consider that participating in the community would be anything other than compulsory? You can’t. (Big words?)
Thought #3. My kid is in Girl Scouts, and they do this thing where they collect can tabs for the Ronald McDonald House in Philadelphia. If you didn’t know, the Ronald McDonald House is a kind of hostel for families of children who are gravely ill. It’s one of those situations where the parents have to leave their jobs to be with their kids in the hospital and just can’t afford to stay in a hotel. Well the people at Ronald McDonald house supply the room and board and keep the lights on. And our Girls Scout troop and many, many other people donate aluminum can tabs which they recycle and use to pay the electricity. My point here is twofold: First, I can’t be at the Ronald McDonald house to volunteer my time to those families. And I don’t really have the money to be a “donor” to the organization. But I drink a lot of soda, and I can at least do this. So what if your contribution is small? So what if it’s not direct? It’s still useful. Second, as huge of a following as WordPress has, it’s surprising to me that I don’t hear more about philanthropy coming from technology groups. I know there are organizations that will offer free web consulting services to non-profits, just to get them off the ground or pointed in the right direction. I think it would be a good idea for some local groups to start in on that. If we are a community, we can broaden our reach doing things like this.
So with those things said, let’s dive right into what I’m not going to tell you about. You can contribute code. Code is important, no doubt. Being a coder myself, I think that WordPress doesn’t exist without code. However, WordPress is not all about the code. And I want to emphasize this so much that I’m not even going to tell you how.
I guess that’s not really fair. I should say that the possibility of you becoming a core developer these days is likely to be pretty slim. And if you’re just starting out, coding plugins or themes is a better way to learn the system and carve out a name for yourself within the community. There are people whose names I don’t know, but they’ll say “I wrote such-and-such plugin” and I’ll be like, “Oh, yeah!”
If you are doing code work, and you want information, or you want to suggest a change to the core software, you should check out the wp-hackers mailing list. I mentioned this one mailing list earlier, and it’s just one of many mailing lists that WordPress offers to the community. The ones shown here at the top of the mailing list page on the codex are pretty useless announcement lists, but there are good ones for coders, including messages from commits and trac updates, and the hackers list itself, which is more of a talk list.
Also, if you’re looking to keep your plugins and themes up to date with core, or you want to know better how core is going to screw up your plugins, there’s wpdevel.wordpress.org On this page the core developers chat about what they’re going to do next. It’s interesting, but unless you’re a core dev, you’re not able to contribute, unless… You pop in to the IRC channel linked from this page!
Look there are actual people in the IRC channel. It’s a miracle! If you didn’t know, IRC is an ancient communication mechanism used by long-haired sysadmins and developers to communicate about code. Most regular don’t “get” IRC, and since it’s usually not moderated, even when you try to use it as a beginner, you are quickly turned off by it. That said, there’s a reasonably regular weekly meeting that happens to discuss core development topics, and if you can get your item on the agenda, and make it at the scheduled time, and anyone wants to discuss it, then you might have a chance at getting shot down. I’m not trying to actively discourage you from contributing code.
There are a lot of benefits to community. There are also some downsides that come along for the ride. One of the big downsides of participation is getting the smack-down. My very first WordPress plugin wasn’t a plugin at all. This was actually before there were plugins. This is the part where you all look at me like I’ve turned into a llama. Yes, I revised this trivial thing, don’t even remember what it did, but it was this other guy’s code. Have you heard of Alex King? I should say only that Alex was not nice to me, and that I still remember it. So I rewrote a bit of code because he left this hack unfinished, and when I released it, being young at the open source game, I wasn’t sure how to credit it. I just left his name on it and didn’t add mine at all. It was mostly his code anyway, and so, well, whatever. Looking back, I realize I didn’t do anything wrong, but his response has scarred me. As I suspect any similar response would scar you.
I do work with projects other than WordPress, and I try to be a good mentor. That said, there are some things that I really wish newcomers would bring with them to start. When you’re looking at code, and you see something you don’t understand or don’t like or seems odd, don’t assume that the author was an idiot. Most likely, they aren’t. Plus, you’re not going to make any friends saying “that’s stupid”. Figure out why it was done that way by asking high quality questions. Provide enough background to lead in, and get out what you need. There is also a certain point where asking too many questions can have backlash. If you ask a ton of questions that you could easily figure out by looking at code, you’re just not going to get a response from the people that you’re seeking the attention of. Engage your brain.
Just when you devs thought I was handing down justice only to noobs. In the projects I work, I have the occasion to deal with many seasoned developers. They are not all nice people to people that don’t get things immediately. I’m not saying they’re all like that, I’m just saying this: Remember what it was like when you were first trying to learn. And remember that even if you don’t help the noob do things the right way, he will eventually become a developer. If that doesn’t scare you into being humble, I’m not sure what will.
Alright. I’m tired of talking about code, and you’re tired of me talking about code. The very first thing developers say you can do to contribute if you’re not a coder is to write documentation. Everyone loves documentation. I actually caught my kids saying “Dad, I want more essays to write. Can I please?” Documentation is an important aspect of any project. In open source, it’s even harder to come by. I think one of the major issues with documentation is getting it organized in a way that it doesn’t overwhelm people who are using it. This is hard. There’s a whole nigh-forgotten mailing list for the topic of discussing documentation. I think this is one of those tasks that someone just has to own. But if you don’t like writing instructions….
There’s WordPress.tv. It’s a visual resource. Visual resources don’t make themselves. I know there are people dedicated to producing these videos, because I hear and recognize their voices. But there is still the opportunity for your to suggest or submit videos if they’re useful. Some WordCamp videos even show up there.
Number two on the parade of things that developers suggest you should do to contribute when you don’t write code is… Test! Testing is great fun. There’s a whole mailing list dedicated to it. Setting up endless Virtual Machines to test WordPress installs is a good way to waste a week. Don’t misunderstand, testing is important. But I have some suggestions to make it extra fun. PHP 5.3 and 5.2.12 have a lot of changes from prior versions. It’s fun to discover what those are and how they might affect the code. Perhaps a more pragmatic approach to testing is not to test core. Find a plugin that you love and a dev that makes it and offer to help test. You can send reports directly to them, and maybe even get something out of it, like early new features. Most of the time, if you provide good testing for plugins, your requests for new features end up on the top of the pile for implementation.
If you must report a core bug, you should follow the instructions on the Codex, and use Trac at core.trac.wordpress.org to report your issues so that the devs can work on them. This is trac. I think my caption says it all. I want to point out my personal rules for submitting bugs, should you happen to do so. Every bug always has exactly three parts: What I did. What happened when I did it. What I expected to happen. And the ancillary rule: if you can’t reproduce it, it’s not a bug.
Devs don’t usually mention this next avenue of contribution because almost universally we loathe users. User support seems silly to mention, but it’s really important. If you were seeking help with a problem that’s not a bug, where would you go? If you shout in an empty forum does it make noise? The answer is no. WordPress needs people in the forums not just trying to get answers to their questions, but trying to provide answers to others.
You can start a user group. There’s nothing stopping you. It doesn’t even have to be about WordPress, but could be a WordPress concern. If there is already a user group for the topic you like, ask to volunteer. Usually it’s 3 or 4 people that organize a whole event like this. Usually 6 people rotate through that set of 3 or 4 before the event happens. Stick around, it’s worthwhile.
If you’re truly this masochistic, I think you’d already know it, but who knows. WordPress has a lot of technology inside. Much of it is presumably based on standards. Someone has to write those standards. I have friends that write specs for WHATWG (Web Hypertext Application Technology Working Group) and W3C, and they’re scary precise, pedantic folk. Which you need to be if this is what you’re doing. And this stuff doesn’t just affect WordPress, it affects everything on the web.
Graphic design is like the icing on the cupcake. I had an argument recently analogous to the chicken and the egg: which came first, the designer or the developer? More to the point, can you cut either of the two out of the picture? I think the answer is no. They’re both *required*. WordPress has a couple of official UI channels. There’s http://make.wordpress.org/ui/ which is a blog about the UI design process by the core devs. There is also a UI mailing list that you can check out, but is about as ill-used as the other non-hacker lists. In addition to the core implications for design, there’s obviously room to produce theme designs and contribute them to the community. It always seemed like an appealing idea to me to partner up with someone that had the artistic skill I wasn’t born with so that we could produce beautiful web sites. If you know UI, if you know graphic design, if you know IA and UX, your skills can be put to good use in WordPress.
1. Be One of Us
Photo Credit: (CC) Randy Stewart, blog.stewtopia.com
2. Owen Winkler
3. I had cheezburger
4. How long have you been a member of the
5. Part 1: How the Heck Did I Get Here?
Photo Credit: http://www.flickr.com/photos/43510809@N03/4149199725/
6. The Early Years
7. In a CMS
8. The Support Forum
9. My First Forum Post
10. Birth of a Mailing List
11. Philly WordPress Meetup – Fergie’s Pub, March 25, 2005
12. Philly WordPress Meetup – December 19, 2005
13. WordCamp, 2006
Photo Credit: Scott Beale (Laughing Squid) laughingsquid.com
23. Thought 3: Ronald McDonald House Collects Can Tabs
Photo Credit: http://www.flickr.com/photos/allison-a-ralston/4275834502/
24. You can contribute code, I guess.
25. Mailing Lists
27. WordPress is not Fight Club
Photo Credit: http://www.flickr.com/photos/ekeynyc/3696808242
28. Three Things Noobs Need To Do To
Make Owen Happy
• Discover reasons for prior art
• Ask thoughtful questions
• Figure things out
29. Two Things Devs Need To Remember
To Make Owen Happy
• You were once a noob.
• Noobs eventually become devs.
30. Documentation – the red-headed stepchild of participation
32. Testing Is Fun!
Photo Credit: http://www.flickr.com/photos/cocoen/411960476/
33. Run away!
34. User Support
35. User Groups
Photo Credit: http://www.flickr.com/photos/ghindo/1739299123/
37. Lessons Learned
• Community grows by necessity
• Internet communities are global
• Meeting in person is important
• Coders aren’t everything
• Many ways to contribute