About two weeks ago, there was this year’s awesome WordCamp London. Overall, it was my thirteenth WordCamp, the tenth time speaking, and the second time leading a contributor day table. Also, WordCamp London was station two of my ongoing four WordCamps in four consecutive months thing. 🙂

I really enjoyed going there, because of the WordCamp itself, but also (and actually even more) because I was able to meet some of my new co-workers for the first time in real life since having joined Human Made earlier this year.

Friday: Contributor Day

The WordCamp weekend started with a contributor day where people could join one out of eleven Make teams.

I had been asked beforehand if I wanted to lead the table for something special and brand-new: WordPress Coding Standards (WPCS). And I did! 🙂

Introductions and Groupings

After the initial welcome by Gary Jones, all table leads gave a quick introduction to their individual team and what the plan for the day could look like.

The best intro was Alain Schlesser stating that the number one reason for joining the WP-CLI table is using GitHub, and not Trac. 😀

WPCS Table (Session 1)

I started the first session at the WPCS table with a quick round of introductions. After that, we had a look at the WPCS Composer package, and how to use it.

We then started tackling coding standards violations in WordPress itself, which was the plan for the whole day.

An Introduction to the WordPress Coding Standards

Initially, I wanted to start the day with a short presentation about coding standards in general, and in the WordPress context. When I showed my slides to Gary, he liked the idea of having a proper intro that much that he talked me into doing this as a regular talk for everyone interested in this topic; this was not even 36 hours before contributor day. 😉

An Introduction to the WordPress Coding Standards
Talk: An Introduction to the WordPress Coding Standards.
(Image courtesy of Sabrina Zeidan. 🙏)

To be honest, I was a bit overwhelmed by the interest in this. In front of about 30 people, I explained the What and Why in terms of coding standards, and showed how to actually make use of them.

As always, my slides are available online.

Lunch

During lunch break, I ended up at a nice sofa group, together with Simon Dickson and some friends from Yoast. Also, Remkus de Vries made me so mad for not having been to WordCamp Oslo, where they did a Fifteen. Minutes. Sleigh. Ride…! 😀

WPCS Table (Session 2)

After lunch and networking, we continued to fix coding standards violations in Core.

Closing Reviews

All in all, it was a very nice and successful contributor day.

At the WPCS table, we ended up pretty good, I’d say. More than 60 violations fixed, two new contributors, and definitley having sparked quite a few peoples’ interest in coding standards in general.

That’s not all too bad, right? 😉

Volunteers Social

In the evening, there was a social for all the volunteers—including organizers, speakers etc.—and it was great to catch up with some of the people I hadn’t seen at contributor day before.

Even though the two closest speakers—read: loud speakers 😉 —had been killed (as requested by us), the music was damn loud. Talking was possible, but pretty much tearing up one’s throat/voice.

Saturday: WordCamp Day 1

Now, WordCamp day—yay! 🙂

For three years, I wanted to go to WordCamp London, but it never worked out. This year, where I just joined UK-based Human Made, it did work out, and I am so happy about that.

Opening Remarks

Lead organizer, and colleague of mine, Ana Silva kicked off WordCamp London in a jam-packed great hall.

I always and only heard good things about WordCamp London, and I cannot echo these enough. The whole event was so damn well organized! If not experienced beforehand already, you would learn about that during the informative and entertaining opening remarks.

The single-most awesome thing of WordCamp London was it being highly accessible and, in general, inclusive. Way to go!

How to Sustain Long-term Contributions to WordPress Core

The first talk that I attended was Felix Arntz sharing his journey from being a developing user of WordPress to being a Core Committer and maintainer of multiple components.

The gist of the talk was that everyone can (significantly) contribute to WordPress as a whole, and that it gets way easier and successful when people are aware of walking the tightrope of being both patient and persistent, and when they immerse in both the WordPress philosophies and all the happenings (e.g., regular meetings).

I found it rather interesting that most of the important stations in Felix’s journey were marked by WordCamps. Great to tell people something like that at (one of) their first WordCamp(s). 🙂

Accessible Design

The second talk was one that I was really looking forward to; and this was for several reasons. Maja Benke—a familiar face at several European WordCamps—talked about designing websites with accessibility in mind.

Having been Maja’s mentor for WordCamp London, I already had seen earlier versions of her slides, and, of course, we also talked about some of the things she wanted to share in her talk. Now enjoying the live version of the talk was fantastic. And Maja did a great, great job at that, as you can read in several posts all over the web. 🙂

It was also nice to (over)hear people—a lot of people, actually—talking about how they liked the talk, and how it will or even did change the way they will approach website designs in the near future. Win!

Networking & Lunch

During lunchtime, the sun was shining, so happy folks were sitting in the courtyard, eating, talking, relaxing. Me too.

Also, it was really great to talk with some of my new colleagues, including my boss, Tom Willmot. 🙂

Building Scalable Enterprise Applications with WordPress

For dessert, I treated myself to some MVC. 😀 No, that’s not Milk & Vodka Chocolate. It’s Model View Controller.

Elliot Taylor talked about moving away from all-procedural PHP code to enable an easier and at the same time better development and maintenance process, especially for enterprise-level projects.

Now, I’m a big proponent of OOP—an advocate even. In case you are wondering, this stands for object-oriented programming, which the MVC design pattern is a part of. And yet I had mixed feelings about the talk. I mean, it was both entertaining and informative. However, I did not really resonate with the information shared.

First of all, MVC is not the silver bullet. There are a whole lot of other OOP design patterns that might be even more useful and/or applicable. Also, WordPress just does not allow for MVC all over. It does make sense here and there, yes, but with limitations still. And there are structures—for example, meta boxes or widgets, to only name a few—that you simply cannot really match with the MVC pattern/paradigm.

Then, I didn’t find the code examples (or rather: the real-world problem that the code tried to solve) good. I know, it is hard to find (or construct) code examples that are both easy to understand and still make sense. In this case, the inner workings of the code itself as well as how MVC was applied did not feel right.

Lastly, I like composition way better than inheritance (which is what was exercised in the examples). But yes, this is partly a matter of taste (or experience).

That said, when I have time, I will have a closer look at ProdPress, once it is open-sourced. I hope to get some more insights into what it will bring/allow, and maybe also provide better and potentially more valuable feedback…

😴 Sleep

After the talk, I went back to my Airbnb to offload all the swag and stuff that I had been carrying around all day long. That included two brand-new and awesome Human Made hoodies that my colleague Zoe gave to me! 😀

I had a pretty bad headache for most of the day, so I decided to rest a bit, and then go back for two more talks, and the social. Well, … resting turned into sleeping, and the bit turned into three hours, so … yeah, I really was rested and refreshed after that, and ready for the evening. 😉

Saturday Social

After the talks of the first WordCamp day, there was an evening get-together, often called after party. Spoiler: It was amazing!

The social was set out to be a no-screens-allowed board games evening. People were asked to bring their favorite multiplayer games, so there was lots of Jenga-ish ones, Backgammon, card games and more.

Oh, and I learned pool. 🙂 OK, OK, it’s not really that different from billiards, which I used to play somewhat regularly. But I never played pool before, so it was nice having two colleagues of mine teach—and lose against—me. 😀

The party also had food that was quite OK, and there was the best after party music ever. Why? Because you almost didn’t notice, and thus were able to have nice conversations. For example, a pretty unexpected, but enjoyable, genuine and diverse one with Kerry Manning, who was a first-time WordCamper. When I was chatting with Felix Arntz (and Jonny Harris, who was just taking a call a few steps away from us), my colleague Jenny Wong approached us, dragging along Kerry. Jenny was like “Hey, hi, so this is Kerry, and this is her first WordCamp. You are nice people, so … Kerry—Thorsten—Felix. Have fun!”. Then she strolled away. I don’t know how that came to be, but I found it just great. 🙂

Sunday: WordCamp Day 2

The second and last WordCamp day didn’t go exactly as I thought it would, because, in the end, I did not even attend a single talk.

Stuff

The first slot didn’t really have anything for me, so I attended the hallway track. I had lots of conversations, and time flew by so fast that I actually missed Zac Gordon’s “workshop” talk by about fifteen minutes, and decided not to go anymore. I was relieved when he later told me that it was based on parts of his Gutenberg Development Course, which I already know pretty well.

I had also had some good discussions during the lunch break, when the next talks started, I decided to go to the green room to prepare the slides for my talk. I had them pretty much ready, but wanted to fine-tune a few slides, and also integrate two modern JavaScript code examples and according unit tests.

Then, I also wanted to prepare a repository with code examples and tests included in my talk, completely documented and set up for people to use and learn from. This took quite a bit of my time away, and I still don’t know if this was worth it. Stars (or forks) on GitHub don’t give any indication it was. 🙁

One large coffee down, pit stop at the toilet, and then I went to the stage for my talk.

An Introduction to Unit Testing (for WordPress)

I think I submitted three or four topics for WordCamp London, and the accepted one was an introduction to unit testing. I already gave a one-hour workshop last year at WordCamp Vienna, and I will be giving a three-hours workshop at this year’s WordCamp Europewhich I am absolutely excited about! Besides that, I am pretty much into testing in general.

I started with a shallow introduction to software testing as well as possible reasons for doing it. Then, I stated that people referring to testable code most probably always do it in the context of unit testingso it is actually unit testable code. This led to the main part of the talk: unit testingwhere is it, what is it, and why is it…?

After a high-level overview of unit testing in general, including its classification in terms of test level, and testing methods and techniques, I explored and explained different possible units. Then, I focused on one of the key principles of unit testing: testing in isolation. What is it? How can it be done? And what is this mocking that pops up here and there?

I showed quite a few code examples and possible according unit tests, which you can all find on GitHub. This included both PHP and JavaScript, and started from plain functions without any dependencies, over object methods, with and without injected depencies and/or global or external functions, climaxing in React code examples, which could be part of your Gutenberg-aware plugin.

I concluded my talk with a reference to Eric Elliott’s article about five questions that every unit test has to answer.

Please find my slides online.

Closing Remarks

So, that was WordCamp London! Oh, this was fun!

I will definitely come back as soon as it’ll happen againwhich may or may not be next year already.

https://twitter.com/anca/status/985540326218715136

Drinks

After leaving the venue, several people went for drinks and pizza at a tavern where people have been the last years. It also had a sign claiming they served good beer. So, what could go wrong!? 🙂

It was a nice and casual get-together, concluding WordCamp London 2018.

Summary

I am so happy to finally have made it to WordCamp London! In case you, too, thought about going there, but just did not so far, do it the next time you can. The whole event is of such a high quality, it literally is the next-best thing after WordCamp Europe.

Have you been there too? How did you like it?

Leave a Reply

Your email address will not be published. Required fields are marked *