WordCamp US 2018 took place this past weekend in Nashville, Tennessee. It was the fourth annual #WCUS since the event started in 2015 as a successor to WordCamp San Francisco and as a counterpart to WordCamp Europe.
WordCamps are typically smaller, volunteer-run events that bring together a local WordPress community. WordCamp US, by comparison, is like an all-out industry conference, bringing in WordPress users and businesses from around North America and beyond.
Team GoDaddy @ WordCamp US 2018
We had a lot of people on the ground this year. There were members of our WordPress product and support teams, the GoDaddy Pro team, and our colleagues from GoDaddy Security and Sucuri. We were even joined by the wonderful Cami MacNamara (@webcami), a longtime GoDaddy Pro and our first GoDaddy Pro Ambassador.
Our lovable GoDaddy Pro mascot Manny made a return from WCEU, popping up at local businesses (mostly coffee shops) in the days before the event. Once WCUS was underway, attendees were encouraged to #FindManny and adopt a Manny to take home with them.
While conversations were bustling in the hallways and at the GoDaddy booth, we still managed to sit in on a bunch of sessions.
Here are our top highlights and takeaways:
WordPress 5.0 and Gutenberg
WordPress 5.0 launched on December 6th, the day before WordCamp US started.
As for the sessions, there were plenty of talks that either dug into specific aspects of Gutenberg or lightly touched on them. But the real heavy hitter came at the end with Matt Mullenweg's State of the Word keynote, laying out a high-level roadmap for the next four years.
If you're short on time, here's the gist:
The old editor was painful to use, but longtime WordPress users were accustomed to it. The new editor, Gutenberg, is a better experience for new users. Mistakes were made and lessons were learned through its development, but the new editor is nonetheless the way forward.
The next phase of Gutenberg will go beyond the content. In 2019 we can expect to see more block-based editing of headers, sidebars, and footers. These layout components are typically treated as widget areas controlled via the Customizer.
In 2020 and beyond, WordPress will take on collaborative editing and improved workflows. After that, the goal is to add native support for multi-lingual websites.
Rediscover the craft of creating on the web.
From "The evolution and future of publishing" with Alexis Lloyd
When WordPress was first conceived, publishing on the web meant creating websites to hold written content. It was a hands-on activity. You were building something from scratch.
Today, publishing on the web includes using centralized platforms to connect with other users and share all sorts of media: photos, GIFs, memes, videos, streams, audio, and -- sooner or later -- immersive experiences.
The amount of effort involved in producing this content has also declined. You can post an update on Twitter or Instagram in a fraction of the time that it takes to compose a long-form written article.
Consuming content has also moved from one platform (the web) on one device (the personal computer) to many platforms (apps) on many devices (phones, tablets, computers).
It's a fragmented experience with more options than ever. But the platforms that enable these experiences are restricting and prescriptive. WordPress, with the added power of blocks, offers a better alternative.
"Why not reclaim the tools? Get our hands dirty? Personal expression, freedom, and craft that’s only possible when you make your own thing. Gutenberg speaks to these values and needs." - Alexis Lloyd
Ignore nostalgia. We can learn new tools again.
From "The future of WordPress is Gutenberg" with Gary Pendergast
Humans are really good at recognizing patterns. When something new appears, we use the patterns that we already know as a reference point.
Patterns are made of standard components. In WordPress, those components used to be all over the place: shortcodes, widgets, metaboxes. Every plugin developer had their own approach.
With WordPress 5.0, we have a new universal standard in blocks. Now it's up to WordPress developers and designers to figure out how to use these blocks to create new patterns and new systems.
"The tools we find easy to use today had to evolve to become that. We had to grow as professionals too. Don’t let nostalgia take away the work you did to get where you are today. Don’t let nostalgia convince you that you can’t keep up. You learned new tools in the past. You can learn new tools again." - Gary Pendergast
Learn blocks. Deeply.
From "Tips on learning block development" with Andrew Taylor
"Learn blocks deeply" was one of Matt's requests during the State of the Word.
Thankfully, Andrew Taylor provided a handful of tips to help nascent Gutenberg developers get started.
Some of the things we took away from his lightning talk:
- Do your block development in a plugin, not in a theme, and don't try to start from scratch. Use existing scaffolding, e.g. CreateGutenBlock_, to jumpstart your development work.
- Keep learning. Review the source code. Read the handbook. Refer to tutorials. Be prepared for changes that'll come fast and frequently.
"Know that you are not alone. The entire community is in this together." - Andrew Taylor
Use Git Bisect to efficiently identify code regression.
From "Investigating regressions quickly using Git Bisect" with John Blackbourn
Has your code ever stopped working, and you can't figure out why?
You could try manually searching for the cause. But a more efficient way is to use Git Bisect.
Provide Bisect a starting point (a commit before the bug occurred) and an end point (a later commit, usually the HEAD) where you know the bug exists.
Bisect will pick a commit between these two points for you to check. If the bug exists, Bisect will try again. With each step, it narrows down the source of the problem.
John's tip was to automate the process with "git bisect run".
You write a script that returns an exit code when a condition is met. Git Bisect will cycle through the checks until the script exits, pinpointing the commit where things went wrong.
“[Git Bisect] is an efficient way of traversing through the history.” - John Blackbourn
Make it work before you make it nice.
From "Who's afraid of ARIA?" with Rian Rietveld
Rian Rietveld is the former lead of the WordPress accessibility team.
Her session on ARIA (Accessible Rich Internet Applications) was a crash course on different ARIA attributes and their purpose.
ARIA helps you make visual interfaces (i.e. webpages) more comprehensible for users who can't see the screen. Attributes like aria-label, for example, let you override link text.
When you're designing a site, you should tackle functionality and interaction before you start refining the look. How people navigate and use the site matters just as much as the aesthetic appeal.
Accessibility isn't about making accommodations. It's about making the site as usable as possible. And if you're still having trouble getting buy-in for doing things the right way, appeal to the marketing budget:
"What's good for accessibility is good for SEO." - Rian Rietveld
Represent the best interest of your users.
From "We are the gatekeepers" with Lisa Linn Allen
As web developers, we are in a position of privilege and power to represent the best interest of our users.
Effective representation requires a compassionate mindset; empathy; and putting users at the beginning of our planning.
How do we do that?
Start by studying accessibility. Go beyond the standards and technical implementations. Follow the people who are experts in the field. Listen to their talks. Absorb their approaches. They advocate for the end user all the time. Compassion is at the center of their work.
"Users touch our code directly. We have a responsibility to approach our work with compassion." - Lisa Linn Allen
Protect your users from malicious 3rd party scripts.
From "Content Security Policies" with Miriam Schwab
The average website loads 40 resources from 3rd parties, making cross-site scripting a huge vulnerability.
For example: Browsealoud, a script for improving accessibility, was trusted by UK government websites. Then the script was exploited. All sites running the script became cryptocurrency miners using visitors' system resources.
Magecart is a group that identifies popular 3rd party scripts that websites use and hacks those scripts. Their exploits run as credit card skimmers on eCommerce sites. Thousands of sites have been affected.
A Content Security Policy (CSP) header acts like an allowlist to protect websites against these kinds of attacks.
The CSP authorizes which 3rd party resources may load on the page. If another resource loads, the CSP blocks it. (Note: It depends on the browser to respect and support the CSP.)
So how do you create a CSP? It requires two parts: Directives (strings specifying type of resource, taken from a predefined list), and source expressions (patterns describing what’s allowed). Check out MDN for comprehensive documentation.
CSPs are ideally handled at a server level. But you can also do it in functions.php in WordPress or as a meta tag for per-page targeting. Just keep in mind that meta tags don't support all CSP directives.
Unfortunately, CSPs are bypassable due to the issue of inline scripts.
CSPs are all about whitelisting ORIGINS, which doesn’t solve the threat of inline script injection. For example, Google Analytics requires “unsafe inline” and “unsafe eval” directives to be added. Doing that makes your site vulnerable to inline script injection.
So what do you do? There are workarounds, including Google's own push for adopting Strict CSP practices.
"Only 23,000 sites have adopted CSP. But as client threats become more prevalent the CSP becomes more important." - Miriam Schwab
Clients want results, not websites.
From "Nobody wants a website. They want results!" with Dwayne McDaniel
Do you call yourself a web developer?
If you're working directly with clients -- especially if they're businesses -- you're doing much more than just writing code and building websites. But do you know exactly what that "more" is?
You have to align expectations with outcomes on both sides. What the client assumes they'll get should match what you plan on delivering.
Processes can save you from that disconnect.
Start by improving your qualification of new project leads with BANT. Budget / Authority / Need / Timeline. If you don't have this information, don't move ahead.
Also keep in mind that the client may expect solutions that tilt more towards providing consultation than writing code.
A web developer and business consultant are two different roles. But you have an opportunity to play both sides.
Different stakeholder groups care about different KPIs. If you can also fill the role of a business consultant, you can tie these things together. And because you're also the web developer, you can tie those divergent needs back to the features that you're building.
Gather this information at the beginning. Identify the stakeholder groups and their KPIs. If your work can support those goals, you'll be in a better position to deliver results.
"Figure out what work your prospective clients have already done." - Dwayne McDaniel
10 rules for marketing yourself
From "Secrets to being a great marketer" with Tina Wells
Knowing how to market your web development business, and finding the time to do it, are two common challenges we hear from our GoDaddy Pro members.
Thankfully, Tina's WCUS session applies nicely to a web developer audience.
- Clients are changing. Pay attention to their evolving needs.
- Trends are cyclical. Look out for surprise comebacks from old tactics.
- Embrace data. Look at the numbers, even if they’re uncomfortable.
- Ignore the hype. Experiment with ways to reach your target customer.
- Pay attention to what people are doing when their defenses are down.
- Clients don’t always know what they want. Dig 'til you find actual pain points.
- Media channels don’t die, they evolve. Podcasts are modern radio programs.
- Innovate or you’ll be replaced. Adapt to new ecosystems as they emerge.
- Great marketing always involves surprise and delight or shock and awe.
- Create intrinsic and extrinsic value. (Make them feel good & look good.)
Bonus tip: As a web developer, your value is never just "we make websites". Your differentiation comes from your processes, your story, and how you communicate your value to the client.
"Segment your audience. Don’t treat all your customers as one big group." - Tina Wells
Give back to WordPress
From "Thrive for the future" with Joost de Valk & Marieke van de Rakt
Investing in the WordPress community and platform grows the WordPress ecosystem. This creates more opportunity for WordPress businesses, whether it's independent web developers & web designers, digital agencies, product studios, software businesses, or hosting providers.
Back in 2014, Matt Mullenweg put out a call in his post Five for the Future:
"I think a good rule of thumb that will scale with the community as it continues to grow is that organizations that want to grow the WordPress pie (and not just their piece of it) should dedicate 5% of their people to working on something to do with core — be it development, documentation, security, support forums, theme reviews, training, testing, translation or whatever it might be that helps move WordPress mission forward."
Dedicating 5% of your resources to WordPress isn't an easy decision. You have to strike the balance between serving WordPress and your own business.
One method is to find something you don't like, and use that as an opportunity to contribute. The Yoast SEO team used that approach with Gutenberg development.
But the onus is also on the WordPress project leadership to facilitate those contributions. Communication needs to level up. The community needs to know where WordPress is going, and not just from a development standpoint.
“If we’re not communicating, not everybody can participate.” - Joost de Valk
We're moving forward, together.
From GoDaddy's own Adam Warner:
"My biggest takeaway from WCUS was that hard discussions must be had in order to continue moving WordPress, and the community that surrounds it, into the future. What I saw were differing opinions coming together and agreeing that above all else, we must keep moving forward together." - Adam Warner
And this philosophy extends to the people who are using WordPress to solve problems for others.
From Paul Champeau, another GoDaddy team member:
"I was pleased to meet designers that painstakingly hunt for their customer’s pain points and provide a solution best for their customers." - Paul Champeau
Some final thoughts...
These last couple of years were tumultuous. A lot happened with WordPress, and within the broader web.
Our industry is maturing, and as it does, there will be more hurdles for us to overcome. But there's also a resounding sense of community and camaraderie in our space. As long as we continue to come together at events like WordCamp US, continue to share and learn from each other, we'll pull through.
As web designers and web developers, the web is what we make of it. Our creations help others find their way online. Our craft helps them promote their businesses, share their work, and tell their stories. We help our clients transform their ideas into reality, and that's pretty darn awesome.
We'll see you in 2019. Until then - press on.
P.S. If you build WordPress sites for clients, check out the GoDaddy Pro program. It's free to join and includes a suite of tools for managing your clients' GoDaddy products and WordPress sites, all from a single dashboard.
More WordCamp US 2018 recaps to check out:
- Thoughts on Gutenberg and a WordCamp US Recap (Beaver Builder)
- Matt Mullenweg's 2018 State of the Word (Post Status)
- WP Weekly recap of WordCamp US 2018 (WP Tavern)
- WordCamp US 2018, WordPress 5.0.1 and what’s next? (Yoast SEO)
- From Speed Dating To Relationships – My WordCamp US 2018 Recap (Freemius)