We’re Ignoring the WordPress Philosophy: Clean, Lean, and Mean

Over the past week or so, I’ve been looking at each of the pillars of the WordPress Philosophy – many of which I think that we, as developers and designers, have completely ignored in our work – and have been talking through what is says, what we’ve done, and potential ways that we can correct it.

Up to this point, I’ve covered:

There’s obviously more to come since the philosophy encapsulates more than just those three. So I’m going to continue moving forward with “Clean, Lean, and Mean,” which is arguably one the pillars that’s talked about the least.

The WordPress Philosophy

I say that because when you talk to other people about WordPress or building things for WordPress, they are generally familiar with some of the ones mentioned above (and some not mentioned yet), but this is not only one that you don’t hear much about, but this is one that I’ve think many of us have just completely disregarded.

The WordPress Philosophy: Clean, Lean, and Mean

The philosophy states:

The core of WordPress will always provide a solid array of basic features. It’s designed to be lean and fast and will always stay that way. We are constantly asked “when will X feature be built” or “why isn’t X plugin integrated into the core”. The rule of thumb is that the core should provide features that 80% or more of end users will actually appreciate and use. If the next version of WordPress comes with a feature that the majority of users immediately want to turn off, or think they’ll never use, then we’ve blown it. If we stick to the 80% principle then this should never happen.

We are able to do this because we have a very capable theme and plugin system and a fantastic developer community. Different people have different needs, and having the sheer number of quality WordPress plugins and themes allows users to customize their installations to their taste. That should allow all users to find the remaining 20% and make all WordPress features those they appreciate and use.

First, this idea is fantastic not just for WordPress for but any extendable software that’s available. In short, I think it could be easily summarized as this:

WordPress will always include 80% of the features that most people will use whereas they can find the remaining 20% through the these of themes or plugins.

Of course, there’s something to be argued about “should this be in a theme or a plugin,” but that’s not the point of anything I’m talking about right now.

Secondly, I also know that there have been times where certain plugins have been made obsolete because they’ve been folded into the core of WordPress – at least in some capacity – but I’d argue first that those plugins are the exception to the rule, and I’d also argue that if they’re folded into core then they likely cater to the 80% anyway.

Third, Matt has supposedly claimed that plugins “should be made available for free.” To be honest, I’ve done a little bit of searching and I couldn’t find any direct quote of him saying that, though here’s a post (in a sea of many) that mentions it. So if he’s said it or not, who knows – but that’s not the point.

Regardless, this leads to sensationalist headlines (none of which I’ll link to here because it’s not my style) that constantly question whether or not the premium plugin market is dead, dying, on its way out, or whatever negative spin you want to put on it.

But look around, people.

Anyway, the headline is usually framed in such a way that it poses a question about the viability of the future of plugins. For example:

Are Premium Plugins Doomed?

Okay, okay. A little sensationalist, I know, but the point is that we’ve all read articles where they open with a question about the future of WordPress plugins. Usually, when headlines start this way, they’re dictated by Betteridge’s Law of Headlines, but I digress.

What Am I Getting At?

I know – I’ve ranted a bit about plugins so much here, because here’s the thing: If WordPress is truly focused on the 80%, then there will always be a market for plugins.

Always.

I recognize I’ve gone off on a tangent about plugins when I really should be focused more on the fact that not only should WordPress remain clean, lean, and mean, but so should our themes, plugins, and other products.

The core of WordPress will always provide a solid array of basic features. It’s designed to be lean and fast and will always stay that way.

There are a lot of people who do not take WordPress seriously – especially in the development community – and many of them have their complaints: Some valid, some trite, some ignorant (that’s not saying they’re stupid – I’d not call someone that – I’m saying they make points from lack of information), and they’d likely jump on this particular part of the philosophy quickly.

Personally, I love the fact that WordPress is constantly having its features evaluated to determine if the set that it offers is relevant, solid, and helps the end user.

A good example of this is the Links manager that was removed from WordPress several versions ago. People don’t typically list the ‘Blog Roll’ or ‘Links’ along the sidebar of the blog anymore, so it was removed.

Sort of.

The underlying infrastructure is still in place for now (because, among other reasons, that’s how you maintain backwards compatibility with older WordPress-based products), but it’s not accessible to the user in an easy manner.

We are constantly asked “when will X feature be built” or “why isn’t X plugin integrated into the core”. The rule of thumb is that the core should provide features that 80% or more of end users will actually appreciate and use

This is something that I think anyone who has built a product has heard. Why would something as large as WordPress be any different?

But when it comes to building products for WordPress, are we exempt from this particular question? We shouldn’t be, but if you look at the state of the market, then you’d certainly believe that we are.

Rather than offering a powerful 80% of tools, say, Business Landing Pages need (with the option to add others via extensions), we often offer far more than any one customer could want.

And we do this in saying that we’re trying to consider the largest parts of the market.

But who are we kidding? At some point, these features become more noise than signal – they interfere with what the user actually needs and lie dormant within the product when said features could just as easily be removed and extracted into extensions.

Easy Digital Downloads does a fantastic job of applying this idea, but I’m not here to review plugins that do or don’t do it well.

And this leads directly to the next point, and it’s summarized so well:

If the next version of WordPress comes with a feature that the majority of users immediately want to turn off, or think they’ll never use, then we’ve blown it. If we stick to the 80% principle then this should never happen.

I love the language that’s used here. “We’ve blown it.” It’s doesn’t read like “we’ve made a mistake,” it’s not like there’s been “a minor flaw” that’s been introduced.

Instead, it’s treated as something far more significant because WordPress – as should our products – respects the users. If we do something that they can’t stand, we should listen, and if we continue to do it, then we’ve completely blown it.

And now, more than ever, people are vocal about the things that they dislike.

Truth be told, I’d rather have complaints that my work didn’t offer enough than it offered too much (and I have issued refunds for things based on that very statement).

Now, how we qualify 80% of a product that’s built on WordPress is all going to be unique on a case-by-base basis, but the point is that you and I need to pay close attention – with meticulous detail, even – the work that we’re putting into our products.

If it begins to feel like it’s leaning too hard in one direction, or if it feels like it’s tipping too hard to a certain individual (or set of individuals) rather than a persona, we’re blowing it.

Different people have different needs, and having the sheer number of quality WordPress plugins and themes allows users to customize their installations to their taste.

It doesn’t get much more direct than this, but it’s absolutely true, isn’t it? First, you create a solid core – or foundation – that caters to the majority, and then you offer tertiary products that help enhance the experience for people who need something a bit more tailored.

There is no reason themes and plugin’s can’t follow this same model, but for whatever reason, we’ve opted not to do that. Instead, we often throw everything possible into the product and say “You can do anything!”

Why is that such a selling point?

I know this is purely subjective, but the fact that I can do anything with any product for WordPress does not entice me to buy it. In fact, it does the opposite: It raises the question of “what persona did they have in mind when building this particular product?” Or, perhaps better yet, “who is this even for?”

If you can’t define a type of person for whom you’re building your product or service, then you’re likely doing something wrong in the course of development.

That should allow all users to find the remaining 20% and make all WordPress features those they appreciate and use.

This has already been covered in a number of different points, but the short of it is this: The products that we build should focus exactly on this, as well. We need to make sure that for the personas that our products are targeting, we’re not building in features that will capture 100% of every potential use case, what’s applicable to 80% of the target audience.

We can then offer additions to our work for those who want a more tailored, personal experience. There’s nothing wrong with that, but you certainly wouldn’t be able to tell that based on the state of the products that are currently being sold.

So What Should We Do?

Easy: Quit trying to anticipate every single feature of what 100% of your customers want – that is not even possible to do.

Instead, find a persona: Say a real estate agent (and this isn’t a loaded example, it’s the first that came to mind, so let’s not go there :). Talk to a few of them and find out what they want out of a website. Then, after you’ve done your research, identify the common denominators that exist between everything that you’ve researched.

There’s your core.

Next, identify things that others have mentioned (perhaps even keep a tally) and see if there’s a market for those as extensions, add-ons, or whatever you want to call them, and them build them and market them as such.

There’s your 20%.

Perhaps I’m oversimplifying, but the point remains: Find out what a persona wants, build to that, then build extensions that cater to specifics.

If an application as large as WordPress can do this – and do it pretty well, in my opinion – then there’s no reason that we can’t do the same thing for the work that we’re building on top of it.

3 Replies to “We’re Ignoring the WordPress Philosophy: Clean, Lean, and Mean”

  1. Hey Tom,
    Great post. I absolutely agree with this and all the other posts in the series…
    But this:

    Third, Matt has supposedly claimed that plugins “should be made available for free.”

    Matt recently toured Australia and at the Melbourne event (12 June 2014), a premium plugin author asked him if WordPress was planning to help people monetize plugins, so that authors can cover support costs etc. The plugin author mentioned how premium theme shops are featured on WordPress.org, but premium plugin shops are not.
    Matt stuck to his position from several years ago – he approves of premium themes, but not premium plugins. He said:

    He thinks the plugin community should get involved and help support the plugin for free, just like what happens with the WordPress core (I think that is idealistic, but never going to happen for most plugins!).
    He thinks premium plugins reduce collaboration (obviously he hasn’t seen AffiliateWP which is on GitHub and has 17 contributors so far).
    He thinks it’s bad for the community, citing problems that Joomla had in the past.

    He has some deep seated views about this, though it hasn’t stopped the community surging forward with commercial plugins…

  2. This article really turned the gears in my fragile mind.

    I decided to apply the 80% principle to a few of my themes and discard elements that fell within the 20%.

    I quickly stumbled upon an IE conditional for html5shiv. I’m quite certain 20% or less of end users will not actually appreciate and use this. Yet, compatibility and accessibility are an agreed upon component, expected in theme development.

    I am now at an impasse, debating on where the line is drawn on the 80% principle when applied to the full scope of WordPress.

    I conclude I must look at the bigger picture. Which amounts to the outcome of the combined components. Though the 80% principle may erase this IE conditional, the 80% will appreciate the outcome of a compatible theme.

    1. I quickly stumbled upon an IE conditional for html5shiv. I’m quite certain 20% or less of end users will not actually appreciate and use this. Yet, compatibility and accessibility are an agreed upon component, expected in theme development.

      Maybe – I don’t fully agree with this because I think it all depends on who your audience is. If you know that you’re trying to reach the widest possible market, then using something like html5shiv makes sense, but if you’re looking for a more targeted market, why not just say that you’re offering up support for, say, IE9+?

      Either way, it’s a tough call – been there, done that, still struggle with it ;).

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.