How Can WordPress Appeal To Developers?

In the WordPress community there’s this elephant in the room that no one really likes to talk about (understandably). For some reason, there’s a lot of developers that really don’t like using WordPress. Need proof? Stack Overflow just released the results of their 2016 survey. And as Ryan McCue pointed out on Twitter, 74% of developers dreaded the idea of using WordPress. I get it, results are biased, and Stack Overflow tends to skew towards trends. But still. It’s a sentiment we’re all well aware of.

Back to McCue:

Agreed.

On the flip side of the equation, the most loved technologies of this year are things like Rust, Swift, React and Node. Here’s the thing. I know we don’t want WordPress to be as decoupled as Node, or to ditch backwards compatibility like Rust. We don’t need WordPress to be at the top of the list, and it’s unrealistic to think it ever could. What we want is for WordPress to sit right in the middle, alongside other technologies that people enjoy using, but don’t necessarily hype up too much. Dependable technologies and frameworks like Ruby on Rails, Laravel, Django or, let’s admit it, even Drupal.

So why is WordPress at the bottom of the list (besides Visual Basic)? Some people point to the tangled bit of code that is WordPress core. Or the fact that backwards compatibility means we have to deal with a large legacy codebase that rarely uses paradigms like OOP or any of the new shiny things. That’s what people point to when you ask them why they don’t like WordPress. Personally, I think that’s a bit of a scapegoat. Honestly, how many Rails or Node developers mess around with the internal workings of that technology. As long as things work pretty well, developers can look past some of the code issues in core, which by the way is improving every day.

I’d say this is about 80% perception. WordPress has a bad reputation that sticks around. It used to be known as a blogging platform and it’s never truly been able to shake that off. Even now, the furtherest people will go is admitting that it’s a decent site CMS. Certainly no one is ready to admit that WordPress is an application framework.

WordPress also appeals to people at a lot of different levels. So if you’re a developer that hangs out in the WordPress community you’re going to rub shoulders with beginners and site owners and people that just want to use the platform without adding a lick of code. You would think this would be a good thing, but developers like to keep things nerdy.

Meanwhile, the community is so large and so split that it can be hard to find resources and examples that are targeted at developers. Have you ever googled something and got a support forum result from 5 years ago that’s barely relevant? That can be really frustrating for developers coming to the WordPress platform. It’s too easy to get caught in the swamp of support forums, or try to find the right kind of documentation in the codex, or even report an issue. Because sure, WordPress is on GitHub, but if you want to have a conversation, it’s going to happen on Trac. And Trac can be confusing.

A bit of an aside, but I also think WordPress.com adds to the confusion. Not because people can’t tell the difference between the hosted platform and the software, but because WordPress.com helps its users build basic personal sites and websites for small businesses.People see the stuff you can build on WordPress.com and think, yea sure, that’s because WordPress is for blogs. Nevermind that WordPress.com is itself a large web application that runs on top of WordPress. WordPress looks like a piece of software built for users. Which is half right. I have to think that contributes to some misconceptions out there.

What this all equals is the perception that WordPress is an entangled and archaic mess.

There are some things I think that we can do. Giving WordPress developers working on programming challenges using the latest technologies a space of their own might be a way to go. A site (dare I say portal?) with rock solid documentation, demos and tutorials. Maybe it has a blog that highlights releases and what’s relevant to developers. It could have a step by step guide on how to create an application, yes an application, using WordPress. It could have several different versions of this guide to build different kind of sites and a separate forum, or a podcast or a job board. It could have the developer.wordpress.org code reference built right into an API section. A site that felt right at home for developers and had “Hello World” examples not just for a basic site but for advanced applications. Looking for good examples of this kind of site? Check out Laravel or Ember. When you go to their site you know what you’re doing in 10 minutes. It’s an amazing experience.

We can also do a bit more to keep up with developer’s demands without getting too caught up in trends. I know that this is a monster task, but being able to report issues and converse on GitHub is holding WordPress back a bit. SVN and Trac are just not things that many developers, especially developers coming from Javascript, are very familiar with.

Plugins are a bit of an issue too. There’s a ton of them. I know the plugin team is working on a better version of the plugin repository but that’s for everybody. I think there needs to be a dedicated place for developer tools. A suite of developer frameworks and tools that we can all sort of rally behind. Think Devise in Ruby on Rails or Request in Node. In WordPress we have developer-centric frameworks like CMB2 or Pods or Gravity Forms. As developers, we need to be out there talking about these frameworks and solidifying knowledge about how they can be used to build complex applications.

Speaking of tools, I think there’s one more angle we can try, so hear me out. What if we created a suite of lightweight plugins and tools geared at developers building out personal sites, smaller client sites and/or experiments. Tools like auto-generated styleguides for front-end developers. Or a tool that lets you create REST API endpoints visually and on the fly, and wire it up to content types (sort of what Buckets was supposed to be). Or a “notes” and “bookmarks” app that sits right in on your personal website and lets you own your own data.

I can keep going, but the idea is to create a whole bunch of awesome tools that we’ve only dreamed of. Let’s build cool crap that’s targeted at front-end developers and site builders. Let’s take a stand on privacy and content holed up in walled gardens, and give developers tools that make building out their own private versions of applications fun and easy. Imagine, for instance, if you had your own version of Evernote or Google Docs that you hosted on your own site, right in WordPress. A version that you wholly owned and that you could hack away at and customize however you wanted. If we can get more developers using WordPress to create experiments and personal spaces using WordPress, we can start to change the perception. Start to bring more people that haven’t touched WordPress in 3 years back to the fold. Demonstrate what’s improved, and start to get more people involved.

One of the problems with WordPress is that it feels like we’re always 2 years behind and struggling to catch up. I’m suggesting that we leap forward and try to pull off some stuff we haven’t even seen yet.

I’d be ready to contribute to any of these ideas if people were interested. I know some of them are already in progress. But there’s definitely work to be done if perception is going to change.