This last weekend I attended WordCamp Seattle and learned a ton. I mean a ton. This post about it is really long! Just read the headings you find interesting.
Getting to the WordCamp was a bit of a pain though- the weather was not favourable. First there was a surprise snow-storm in Shawnigan the night before my flight, which looked like it was going to make the drive to the airport impossible. I was wondering what they’d do if I couldn’t make it to my presentation… Morning of my flight, though, the snow was cleared.
But then the blizzard that passed over us was now over Seattle. So my flight got delayed one hour, two hours… it got delayed 5 times, leaving 5 hours later than scheduled. I barely made it to the last 20 minutes of the speaker’s reception.
But made it I did. Admittedly, arriving at the very end of it was a bit awkward, everyone was already well-engaged and chatting it up. But Larry Swanson came over and made me feel more at home. Also met Steve Case who was really friendly. Met Devon Delapp in-person (we had just chatted the night before, practicing each of our presentations on each other, because we were guaranteed to miss each others’ because they were at the same time) and he was also really friendly. He promised to come pick me up for the next WordCamp in his club’s plane. Promised! (jk)
My hotel, the Baroness, was a blast from the past. I suppose it was cool staying in the same type of accomodations my grandparents would have enjoyed. But the wifi worked so I got a bit of work done, the room was quiet, and I slept like a log.
I managed to arrive at WordCamp in good time. I managed to go in the wrong line twice (first because I forgot my alphabet, then because I forgot I was a speaker). So that was an amusing start.
Andrea Middleton’s keynote presentation was informative. I thought hearing the stories of WordPress contributors was helpful, and she had an excellent point that, especially with WordPress, you don’t need to know any code to contribute. (That assertion might not be as true for some node.js libraries etc and other projects only known and used directly by developers, but WordPress is at the stage where it needs a lot more work than code).
While waiting for the first presentation to start, I spotted a guy who similarly was just waiting around alone so I said “mind if I introduce myself? I’m Mike. What’s your name and what brings you here?” His name was Aaron Sturm, a developer. He told me how he’s currently making a Tribe Events Calendar integration with Slack, and that he’s hoping to make to share the code on GitHub, which I strongly supported primarily for his own benefit: for learning and notoriety. We talked about how writing an integration like that is a great signal to that company (and others) that you got the skills– probably more so than anything you put on your resume. Most of Event Espresso’s hires (strangely, excluding myself) landed the job because they helped report issues to us (Tony Warwick), built sites with it (Brent Christensen) or built other plugins we used (Darren Ethier).
Ben Byrne’s presentation on how they’re using the WP-CLI I for dynamic scaffolding was great: for web devs, creating WP-CLI commands for speeding up oft-repeated site-setup tasks makes a lot of sense (like restyling the login page). Relying on a premium theme to do stuff does often stink because they try to do so much, and you invariably need to tell clients “oh, just don’t touch those settings (they’ll break the site, or confuse you)”. Plugins for each of those is nice, but I can see how it’s nice keeping those away from the client’s access if they’re just going to break things or be confused by them. I can see how it would be great to make a WP-CLI command for generating Event Espresso add-ons. I’m pretty sure my coworker Darren previously suggested that…
While getting myself seated for the next presentation, I once again introduced myself to someone with my very original “Hi there, mind if I introduce myself? I’m Mike. What’s your name? What brings you here?” This time I met Casey from Microsoft with whom I had a great chat too. It surprises me to no end that Microsoft utilizes WordPress- the worlds largest software giant uses free software made by mostly-non-degree holders mostly volunteering from their homes in their pyjamas.
I asked him “doesn’t Microsoft have the means to build their own blogging software?” I’m sorry I don’t remember exactly how he responded, but basically they think it’s best to use WordPress. Why reinvent the wheel? and a large organization like that can move really slowly (that was my experience at BYU office of IT which had about 100 engineers; and it’s why my brothers small company doing FileMaker Pro does work for big banks).
So does Microsoft support the development of WordPress? Not directly. They hire 10up to meet their WordPress needs, and 10up contributes a ton.
Just last week I was working with 10up’ers on WordPress core- from my couch, I was working with Microsoft’s hired experts. Weird.
Also weird was that a Microsoft employee was at an event costing $20 per day, also attended by small site owners.
Saied Abbasi’s presentation on the Death of the Media Query. Was great for becoming familiar with some of the more-recent CSS tools for making responsive websites, and making it really easy. Things to google: caniuse.com, and the following CSS terms
@support. I also enjoyed the tree of serenity (slide he posted for a second between tons of code to help us “clear our minds” or something. It was amusing at very least. And although it was quite a lot of code, it was much easier to learn like that than from a textbook).
Between session, I visited a few of the sponsors tables, grabbing swag (mostly stickers for my girls). While they were certainly there to promote their product, I appreciate that they also acted like members of the community, not opportunists trying to swipe everything they can and run.
Among the sponsors that I talked with was Avalara. I can see how their tax calculation service is great for small sites where keeping track of all the world’s tax calculation rules is simply not pracical. It would be nice to get that working with Event Espresso.
Event Espresso did not sponsor this WordCamp (but have others). It’s hard to quite put your finger down on the benefits, and certainly had to weigh them against a fixed price tag. I found a really good article discussing it on WPTavern. I appreciated how realistic it was. Looking purely at new customers acquired as a direct result of sponsoring a WordCamp painted a very dismal picture of it.
I did feel a sense of loyalty to the sponsors though (which is hard to measure, of course). E.g., just because BlueHost was there with a banner, giving a away a few t-shirts, I feel more loyal to them. I have their dirt-cheap hosting for my hobby family history site, and previously planned to jump ship the moment they tried to raise the price. Now my default is to stay with them.
And not only did their sponsoring WordCamp make me more aware of their brand, the fact that they’ve essentially paid for my ticket to attend WordCamp, helps me to view them more as community members, and less as self-interested companies trying to get all the profits they can (both are probably true to an extent, but in that moment I see more of the former). But are these benefits worth the price tag? I have no idea.
But thanks BoldGrid, Automattic, Bluehost, DreamHost, GoDaddy, SiteLock, Pantheon, Pressable, Avalara, plesk, 10up, WPML, IvyCat, SiteGround, Lexblog, and GreenGeeks. I appreciate you making my WordCamp experience possible!
I didn’t get to attend Devon Delapp’s presentation on how they built a great tool for a service-based business, but I did practice with him earlier, during which we each saw each other’s presentations. I can see how the service tool they’ve put together, Maintaingo, would be FANTASTIC for web agencies charging clients per-hour for web services etc. I remember at thenumber.biz that invoicing was a huge headache: tracking hours billed and getting paid. He said they did white labeling, could help folks set up the whole system, but I was saying it would be great if they totally open-sourced their code. (I’m sure people would see how much work it was to set up, and probably hire them instead.)
Before my presentation, I bumped into Bob Dunnand said “Hey Bob WP!” I don’t really recall how our conversation went after that, but it was surprisingly natural. He had no problem conversing with a fan on twitter (although to be honest, I never make time to listen to podcasts, including his, because I don’t commute and I can’t listen to that while get work done… I’m much more of a eclectic blog reader). Eventually I told him I was going to present and show a video, and he started to tell me about horror stories of when he made presentations and all the AV stuff was a mess. But he assured me that wouldn’t happen to me. He said he also has some thoughts of making filmed, edited videos (not just video podcasts) as he has a script of sorts written out, but he doesn’t consider himself the flamboyant excitable type to do that, saying it would be unnatural to him.
I similarly am not a really exciting person, I think. Pretty calm mostly. (Amanda has all the joie-de-vivre). But others feel like that and don’t have to change that to become successful (I don’t know how successful he is, but having 13,000 followers on twitter counts for something).
It turned out hooking everything up for my presentation went perfectly fine, including connecting the audio and everything. No problem. Phew!
My crowd was more meagre than I expected (I’d guess probably 30 in attendance, whereas I was more anticipating 100+) probably because it was at the same time as the much-anticipated “Women in WordPress” forum (which I would have attended too instead of mine, to be honest.)
I made my presentation a little bit interactive by asking the audience to discuss a few items with their neighbour for 30 seeconds at various points in the presentation. My idea was that it would help wake them up if they were getting bored, help them process the information a bit better, and be a kick-starter for a bit more networking between them. I think it went it worked as most people were quite happily chatting away (some of the back row, on the other hand, sat silently. I kinda get that, sometimes if I start off an event like this on the wrong foot, without knowing anyone and somehow I don’t shift into “temporary extrovert mode” I kinda get stuck by myself too. Or maybe they just had a server crash or something and so were busy on their laptops. Anyways, I think the participation thing didn’t really work for every single person.)
The group liked the video, I think. They laughed at Boone’s ad-libbed part about “How do these people keep finding my house?” and clapped at the end. I’ll talk about the video more in a second.
If I did my presentation again, I would have made it more accessible to non-developers. Even though I geared it for developers, it appeared to me about half of my audience weren’t that type (I asked for a show of hands, and about a quarter weren’t familiar with GitHub, and three quarters were unfamiliar with WordPress Trac).
Overall, would I present again? Definetely. It helped me a lot to develop my understanding of the material, preparing and presenting were also good experiences, and it helped me get a lot more involved (I got to connect more with the organizers and other presenters).
Was it worth the opportunity cost? I think so. Time spent making and tweaking the blog post, then making and practicing the slides was probably around 12 hours total, which I could have spent working. But really, I think it helped me professionally much more than 12 hours working. I enjoyed it and it gave me a much better sense of accomplishment and giving back to the community.
Before you watch the video, please be aware: a “pull request” is a request for someone to accept changes to their software. Ok, now if you haven’t seen the video already, go ahead and watch it.
So the morale of the story is hopefully prety clear: if you’re contributing code to someone else’s project, you shouldn’t just drop off your code and never be heard from again.
A few notes about making that video: like it said, it’s inspired by my first pull request. The project maintainer who received the pull request was actually Boone Gorges, who acted in the video. Which is weird or cool.
I contacted him a month or two ago on wordpress.slack.com, told him I was preparing this presentation and had this weird idea to make this video, and wanted to see if he’d be interested in participating. Without much hesitation he jumped in with “I’m in! Send me the script!”. (I’m not sure which was stranger: my idea, or the fact he bought into it so easily! That seems to be the WordPress culture though. Just a bunch of really chill people.)
So I drew up a storyboard (I’ve watched special features to films, it’s what they do) and Boone digged it. Now, we literally live on opposite sides of the continent so we’d never film together, and so we had to use tricky camera angles to deceive the viewer into thinking we were actually both present.
When you see “Boone” open the door, it’s actually me opening my door, just dressed like him; when you see his sleeve as he clicks on the mouse it’s me again (notice it’s actually a completely different laptop, and actually his laptop has no mouse!); and when you see his sleeve gripping my collar, it’s actually my arm yet again! When Boone appears to have tackled me, and is threatening me with the USB stick, he’s just grabbing a pile of clothes. …It was a lot of fun putting that together.
And how did I piece it all together? Just used iMovie from my phone. It was kinda brutal doing video editing from the tiny screen, but it otherwise worked great and was pretty intuitive. I snagged most of the music from Street Fighter 2 MIDI tracks. (Converting from MIDI to a format playable by iMovie was impossible. Supposedly iMovie supports MIDI but it just gave me errors. Also, I really didn’t want to pay for a program to do convert it; nor did I want a free program that would install spyware or the Ask Jeeves toolbar onto my browser. So what did I resort to? I played the music from my laptop’s speakers and used my phone’s microphone to record it. It’s not Hollywood, that’s for sure.)
I spotted Felix Artnz, recognized his avatar from WordPress Trac, knew he was quite involved in WordPress core, so ran him down. I asked him why he contributes to WordPress, because it’s something I’ve wondered about a lot. He said he mostly just likes the sense of community, and usually commits 3-5 hours a week. He’s currently a digital nomad, touring around the USA and will then return to his native Germany, so I can see how community is actually quite a nice benefit for him. (I’m not sure if that’s usually such an important feature for people who are satisfied with their current sense of community?)
We discussed getting started with contributing to WordPress. We agreed there are quite a lot of resources on “how-to” do things like setup a dev environment, submit patches, what the coding standards are. But there’s a lot of social rules which aren’t as well-defined. That was basically the topic of my presentation. And he’s also planning on talking about something similar during WordCamp USA.
Next I attended the forum discussion on managing big WordPress sites, by folks from Seattle Times, Disney and Microsoft.
It was interesting hearing about what they do and how it doesn’t differ from what we do for eventsmart very much.
When it comes time to update WordPress core, plugins, etc, they just do that all on a staging site and the test it for a week. Some of them have automated tests, but mostly it’s manual.
They said they do try to keep the number of plugins down, which helps reduce the amount of testing required.
They use elastic search for managing the HUGE data sets they have.
None of them use a site builder, nor will they be moving to Gutenberg anytime soon (they have way too much integration done with TinyMCE).
How do they educate their content creators? They’re tired of writing documentation. They suggest you just make a screenshare of how to use it, and provide a playground for them to try it all out.
Aaron Campbell’s presentation on what WordPress is doing to keep your site and it’s users safe was nice too. It was not super well attended either, which was surprising considering he’s basically one of the most important security experts in the world, being the WordPress security lead developer and all.
It was interesting that he thought the prime directive of WordPress security is balance: between usability and security. Which surprised me, because usually security buffs have an attitude of “you can never make things too secure (no matter how unusable and complex things become)”. His perspective on security was surprisingly grounded in reality instead of hypthetical “what-ifs” and near-conspiracy theories that I usually associate with security discussions.
He did firmly believe everyone should be auto-updating though. Citing that it has a near-perfect success rate, the likelihood of it introducing bugs is low because it’s a security-only update, and besides, having things busted I’d probably better than getting hacked.
On the other hand, he thought the practice of moving the WordPress log-in page was futile. Hackers can not only easily find it (they just go to the admin and will be redirected to the log-in page) but there’s better ways for them to attack anyway (like using XML-RPC).
I also asked Aaron why there are so many “bad actors” out there, why not make their living more honestly. It might because of the rush they get trying to hack a site (he said that in his young, more foolish years, he may have been one of those), or it might be that there’s actually big money in it. For example, apparently bad guys will pay $100,000 if you can tell them about a remote-code execution bug in WordPress core. So the rewards for HackerOne.com bug reports (usually over $350) is pretty minor, in comparison. He said they aren’t going to attempt to get into a bidding war with bad guys for vulnerability reports, as they will never be able to afford that. It’s really a way of saying “thanks for doing the right thing”.
That was the last presentation I could attend, as I was headed back home that night. I kinda wanted to see if I could say hi to Weston Rutter, and maybe ask him why he decided to be the release lead for WordPress 4.9 etc, but him and Felix were pretty intense into some technical discussion I didn’t want to interrupt.
So I wasn’t sure if I wanted to go to the after-party to be honest, just the speaker reception was loud enough, and this was going to be even louder, it seemed. But some girl was asking if anyone knew how to get to the venue, which I did, so I offered to show her. Some other guy tagged along too.
I’m afraid I forgot the girl’s name, but she was really friendly and going places. It turned out the other guy was Mark Maunder, CEO of WordFence.
When we arrived at the after-party, Mark met up with Aaron Campbell and they decided to get a separate table because it was really crowded and noisy in the WordCamp’s reserved area. Aaron asked if he wanted anyone else to join, and Mark was just like “Uh not really, besides these two people I walked over with.” (Suddenly because I had walked over with him for 2 minutes from the conference to the after-party, he was now including me as one of his buddies!)
So I joined Aaron Campbell and Mark Maunder for dinner. That was unexpected. Plus Mark just decided to cover our meal and that of 3 other guys (who all had name tags so I learned their names: Andrew Villeneuve, Andrew Wood , and Ian Dunn). I can see someone doing that if they’re wanting to schmooze with big names etc, and maybe the other guys there were. But really not me! I was just impressed that he was so friendly to nobodys like me as he was to WP community big names.
They had a really interesting conversation, to which I mostly just listened in. They talked a lot about DefCon, and the “hacker” community. It sounds like a much different vibe than WordPress! Mark said how often they had their meetups in clubs with (my words) yucky feeling atmospheres.
Andrew Villeneuve mentioned that he met and interviewed the guy Catch Me If You Can is based off of, Frank Abagnale. Among other things, Abagnale suggests that you don’t just use a diamond paper shredder, because there are tools to reassemble paper shredded that way, but instead suggests you use a micro shredder, which will turn the paper basically into dust. LOL.
They thought the people who are really good at security might have difficulty relating to us “lesser humans”, and they are sometime the middlemen between those tech wizards and the rest of us. Sometimes even though a particular techy as clearly more security-savvy than others, others might not want to work with them because they’re just hard to get along with. Mark pointed out a one point that because of Aaron’s ability to diffuse heated discussions, it seemed instead of being the WordPress security lead developer, he would be equally good as a delegate for the United Nations.
Mark told a bit about how his company often works with law enforcement, which was also a little too “real-world” for me. I’m accustomed to “online” basically equating to “pretend”. (My parents generation says “go make some REAL friends, don’t just chat with people online”, and I think my parents sometimes forget I work at all). And yet here is a plugin owner telling how they needed to explain about attacks coming from someone in their jurisdiction and that they needed to be apprehended.
Previously, I had listened to a Great Course about Cyber Security (I highly recommend everything on their website, but I’d go with their monthly video service, “The Great Courses Plus”, as it seems more affordable to me). It was really interesting hearing about hacktivists facing off with drug lords, StuxNet and cyber warfare, and it gave me all sorts of ideas for an amusing short story (I’m not a writer). One about a programmer like me getting caught remotely caught up in online money laundering, drug cartels employing hackers to plant logic bombs to ignite hot water tanks and crash cars, and even nuclear metldowns etc. I thought there was some amusing material… all happening without the characters ever needing to meet face-to-face. But talking with these guys made me realize that wasn’t just an amusing premise, it’s actually a bit too close to reality for comfort.
Imagine if a hacker does manage to expose (or plant) a bug in WordPress core, which allows them to turn 23% of the web into their botnet to be used for attacking governments and infrastructure. That’s pretty powerful stuff.
Later, somehow the topic of people reselling paid plugins came up, and how it’s not only a problem for the plugin owner trying to sell plugins, but also for users because it’s impossible to get support.
I brought up that Event Espresso fairly recently put all our code on GitHub free to download, and yet (to my knowledge) saw no drop in sales. Aaron pointed out that often the payers are probably agencies who want their clients to pay for the support, so that they don’t have to (or don’t have to do so themselves). He said when he was developing sites for users, even though he often had a developer license for a plugin (so he could download it fine), he’d still ask his clients to buy a license so that they could get support directly themselves.
I headed off Saturday night -there was a whole other day of WordCamp, but I’m religious and so wanted to stick to going to church Sunday morning and helping out with the kids- apparently the kids weren’t the most well-behaved while I was gone. It was snowing around Victoria and my home in Shawnigan, but there ended up being no delays whatsoever. The landing was a bit “exciting” though. We could feel the gusts of wind rotating the plane as it was approaching. The drive over the Malahat drive (slightly mountainous drive between Victoria and Shawnigan) was sketchy too, because it was snowing quite a bit, and the car I had didn’t have snow tires, but slow and steady got me home ok. Phew! What a Trip!
I met a lot of genuinely nice people. There were people I talked to at WordCamp who adopted animals after the flooding in Texas; moved to an otherwise undesirable areas (where they needed to build 100 foot tall radio tower to get the internet) in order to support an aging grandparent, and people volunteering their time just because they like helping.
On a day-to-day basis, I rarely talk with someone who uses WordPress face-to-face. It was refreshing and reassuring to hear their experiences. It was also a “sanity check” hearing how others get by and about the technology they use. Not only was I getting out and socializing, but it was all productive and really interesting topics. (I just don’t get as excited over hockey etc.)
Also, I kinda assumed we at Event Espresso would be doing thing in a much more amateur way than big professional companies. But then I heard basically of Seattle times, Disney, and Microsoft managing their sites in basically just the same way. I realized we’re not just dudes at home in our pyjamas pretending to be software developers, we are actually neck-in-neck with the big guys (in addition to working from home in our pyjamas).
It also surprised me how open, informal, and fun all these professionals were! At the beginning Larry, the co-organizer, pointed out his mother named him Lawrence, imagining him in a suit with a name plaque on his desk, instead he was here wearing a bright orange shirt and a beanie cap with a propeller on top. But despite all that silliness, there were actually people with big reponsibilities (like maintaining Microsoft’s blogs and the Seattle times, or keeping 23% of the internet that runs WordPress safe) in attendance, and this was actually a big deal.