Last week, I published an opinion piece on the barrier to entry in the modern WordPress era. The article followed a tweet and post by Chris Wiegman that stated the current learning curve was extremely high, regardless of past experience. Members of the community responded with a flurry of articles, podcasts, and videos.
Because modern WordPress is primarily centered on Gutenberg, I reached out to the project’s lead, Matías Ventura. The goal was to bring some balance to the discussion. Unfortunately, he could not get back to me until a few days after the story was published. However, given his unique insight and perspective on the project, his views should be shared.
In our discussion, we covered the topic of the barrier to entry from multiple viewpoints. Depending on where a specific developer, designer, or user steps onto the ramp, each will have a different experience.
Why Are We Having the Same Discussions?
The block editor shipped with WordPress 5.0 in December 2018. We are closing in on three years, but it often feels like we are having the same discussions. One has to wonder why we have not yet moved beyond that point.
“I think this is a case of the size of the WordPress community, its diversity of perspectives, and the fact that we do still have a lot of work to do to continue to make things accessible,” said Ventura. “I’ve seen people that start with no prior WP knowledge get flying super quickly.”
He recounted one story of a popular block library that launched last year. The creators were designers but did not recognize themselves as developers. However, the APIs allowed them to build an entire plugin that would not have been possible with their previous skillset.
“To me, this was a triumph of the block APIs that are available for builders,” said Ventura. “But this is just one person’s perspective. It doesn’t invalidate PHP developers expressing frustration at the complexities of modern front-end tools.”
Theme Creation and New Onramps
On the theme creation front, we were in agreement. There are new ways (and more on the way) for non-developers to ease into visually building various parts of a website without needing the entire weight of theme development knowledge.
Ventura began his WordPress journey with theme development after first being exposed to Flash in the early 2000s. He recalled downloading a bunch of PHP files and thought he could execute by opening them. It is safe to say that he has learned a lot since then.
“Being able to edit pieces of a theme is a crucial aspect of democratizing access to code,” he said. “I think we are going to be seeing a lot of people get started by diving into how templates work. Or by playing with the Query block, which used to be a hidden piece unless you knew a bit of PHP already.”
He mentioned that, in some ways, this aspect of the block editor allowed solo creators or small teams to build unique projects, pointing to Aino as an example.
“I’m seeing a ton of designers for whom contributing to WordPress was difficult or a gated experience,” he said. “There’s a lot of developer entitlement when we say things used to be easy. They were not easy for a large chunk of the population that might have been excellent contributors if there were more avenues to contribute.”
Patterns may be the first official stepping stone, one avenue among many that WordPress could facilitate in the future. Ventura envisions a possible .ORG-hosted visual theme builder that would allow users to create and publish without ever touching code. We are likely years from seeing such a project come to fruition, but lofty goals can lead to innovative ideas that we have yet to think of.
Building Block Plugins
Block plugins are a different beast than themes. The barrier is undoubtedly higher, but how big is this hurdle for traditional WordPress developers?
“Going from contributing a pattern to building a block is a big leap right now,” said Ventura. “While there are folks that can learn it quickly, it’s still a big barrier for people. I think there are several layers to this: documentation could be an order of magnitude better in both organization and presentation. I hope we can do a lot more there.”
He is also curious about tools for building blocks, such as a blend of BlockBook and CodePen. He mulled over the possibility of blocks used for creating other blocks, a scenario in which developers might only need to write HTML with the tool interpreting features like Rich Text fields. At the very least, he believes we are barely scratching the surface of what the block-building experience could be.
“The biggest challenge is that there’s a tendency in PHP trained folks to neglect a bit the implications on the UX if it means the developer experience is simpler,” he said. “I think this is most visible in the shortcode/forms approach to UX as opposed to direct manipulation, which is hard to codify from a PHP set of APIs.”
WordPress/Gutenberg Contribution and the Bus Factor
Outside of building themes or plugins, the third and arguably the highest level of participating in the WordPress development ecosystem is direct contributions to the block system. Is contributing to core harder today than it was just a few years ago?
“I think this is a good point, but I think it partially misses that contributing to WP internals like
WP_Query was also very difficult,” he said. “We just got used to it. We have received more contributions to Gutenberg from people than what I have seen in Trac in my years there.”
Ventura did admit that GitHub could be a factor in the amount of contribution, which many developers tend to favor over Trac.
While building an editor is a difficult task and requires certain levels of expertise, other parts of the system, such as the component library or smaller packages, might offer alternative paths for some people to get involved.
“Apart from this, I do agree that there’s also a higher level of expectations for what software should be capable of doing these days that make contributing meaningfully a harder task than before,” he said.
“I don’t think this is a topic we’ll exhaust any time soon, and it’s important to not become complacent and just say ‘oh things are just hard’ because an important part of the WP project being open source is that users can modify said software, and for that, they need to understand it,” he said. “I think we can introduce a new generation of people to coding if we do things right and work together more.
The secondary aspect of this is whether there is a bus factor for WordPress. If so, what is the number? This is a common question around the most technically challenging pieces of software. If X number of contributors with the requisite knowledge of the most complex pieces of a project were hit by a bus (sorry for the grim imagery), would the development grind to a halt?
It is not something often discussed in WordPress circles because it has never seemed to be an issue. However, if contributing to core carries too high of a barrier to entry, is there a number where the project cannot continue?
“I think, in some ways, it’s more sustainable now,” said Ventura. “We have been a lot more open with contribution permissions on the Gutenberg repo, and it has resulted in a larger amount of folks contributing. I think we might see a split between contributors that are comfortable with the back-end side of WP and those that are more comfortable with the interactive pieces.”
One thing the team did not entirely anticipate was Gutenberg’s use in projects outside of WordPress. This can add to its sustainability factor. He pointed to the WordPress mobile app being an example where others can meaningfully contribute. And other mobile apps are wanting to use it for their tools. At Automattic, where Ventura is employed, they are also working on adopting editor technologies for Tumblr.
“I think a broader topic of discussion, in general, is that contributing meaningfully to WP has become the privilege of those sponsored to work on it full time,” he said. “I think that’s in some ways natural but also a bit of a tragedy.”
This totally ignores the fact that a lot of developers in the WordPress space don’t have the luxury of being employed by a large company that not just encourages, but specifically employs you to work on Gutenberg. A lot of developers work are freelance or small agencies who are having to entirely re-tool and learn complex, ever changing set of APIs (when we’re lucky) which themselves are poorly documented, if at all.
Gutenberg creates a barrier to entry because it has been pushed forward by Automattic and a handful of people at larger agencies who have the privilege of time and money behind them to do so (of course there are individual contributors too).