We’re Ignoring the WordPress Philosophy: Design for the Majority

Earlier this week, I shared my thoughts on how I believe that many of us who are participating in the WordPress economy are practically ignoring the WordPress philosophy.

There are a number of different pillars on which this philosophy sits, the first of which is Out of the Box. But there are more each of which I want to share my thoughts on as it relates to building themes an other things for WordPress.

If you’re unfamiliar with what I’m talking about, then be sure to check out the WordPress Philosophy first; otherwise, much of this likely won’t make sense.

With that said, on to the second point: Design for the Majority.

The WordPress Philosophy: Design for the Majority

As the page states:

Many end users of WordPress are non-technically minded. They don’t know what AJAX is, nor do they care about which version of PHP they are using. The average WordPress user simply wants to be able to write without problems or interruption. These are the users that we design the software for as they are ultimately the ones who are going to spend the most time using it for what it was built for.

I really dig this particular point because it transcends visual design – I mean, it covers it for sure – but it provides guidelines for how we should be building and even some pointers on how we should be marketing our work (which I’ll talk more about momentarily).

Anyway, it’d be easy for me to sit here and say that how great I think this particular aspect of the philosophy is, but the truth of the matter is that they’re all great – we’re just completely ignoring (disrespecting, even!) them.

The WordPress Philosophy: Design for the Majority

That’s why I believe the WordPress product market is in such terrible shape right now. But I digress.

Instead, this particular aspect the philosophy provides guardrails that help guide us in building our work while simultaneously marketing our products once they’re ready to be shared or sold (depending on whatever it is that you want to it.

What Am I Getting At?

We don’t design for the majority. In fact, I think many of us design for one another as a way to show off what we’re capable of. It becomes a glorified contest to see who can cram the most into a theme and make it do the “coolest stuff” (which is obviously subjective) for the sake of trying to one-up one another.

And instead of turning our attention to the customer, their problems, and their needs, we spend our time just talking about how amazing we are at cramming various – arguably pointless – features into a project, and then marketing it as if all of this stuff that we’ve done “by design” makes for a better product.

So What Should We Do?

Here’s what I think (though I’m interested in your thoughts, as well).

Many end users of WordPress are non-technically minded. They don’t know what AJAX is, nor do they care about which version of PHP they are using.

Stop promoting things about your product such as “clean code” or “asynchronous loading of sidebars for better performance” because this is nothing but jargon.

It means nothing to the user. In fact, I’d argue that it probably makes them feel a little dumb. “Ah, if I can’t understand it then it must be great!”

Who says that?

Secondly, I know how much people complain about some of the newer features that PHP offers that older versions do not, and I know that WordPress supports several prior versions of PHP.

Okay, so big deal.

Work with the base version so that you know your customer base is likely going to have the greater support for it and deal with the lack of features until the web moves forward a little bit.

You’ve opted to take on this responsibility as a WordPress developer, and there’s nothing wrong with wanting progress, but complaining about something that you’ve signed up for gets old. It even becomes a bit trite.

I would say that you simply say you only support a certain version of PHP – that’d be your call – but it directly contradicts the idea of “design for the majority.”

The average WordPress user simply wants to be able to write without problems or interruption.

Average is not a bad word here – it’s the typical user, the one for whom WordPress is being built. Yes, we talk a lot about building applications and tools on top of WordPress, and I’m a huge advocate for that, but if you’re building themes or other products that directly influence and impact how people write, then make sure that you follow this.

Again, people want to “write without problems or interruptions.”

Do you think introducing a handful of shortcodes help to solve or create problems? Do adding marketing material that talks about how a feature works rather than that it exists create or solve problems? What about adding multiple WordPress notifications to the header of the dashboard – is the creating or solving problems? Or perhaps it’s just irritating.

These are the users that we design the software for as they are ultimately the ones who are going to spend the most time using it for what it was built for.

We don’t design and build products to show off what we can do in front of other designers or developers, and we don’t showcase what we can or can’t do in order to market ourselves.

At least, we shouldn’t. But the fact is that many people do.

And that’s sad.

I’d argue that the mark of a mature developer in this space is one who not only provides a solid solution for their customers, but recognizes when it’s okay not to do something just because it can be done. They show restraint under conditions that could yield the creation of an albeit-cool-but-totally-useless feature.

To that end, stop using technical jargon to market products. The average user doesn’t care – or know – about clean code. They don’t care – or know – how Ajax works, or why minification of scripts can help performance.

They want to use WordPress to manage their content. Help them do that. Anything else that you’re doing or describing is needless.

And philosophically wrong, at least in this case.

We Must Segment the Market

Yes – I shared this in the previous article, and I’ll continue to share it in future articles because I firmly believe that this is something that needs to happen and the more we discuss it and the more we share what it may look like, the more it may actually happen.

A single person can’t do it.

The problem is that a large group of us have conditioned our customer base to think a certain way and we need to start shifting that mindset. Our work is cut out for us (not that it’s going to be easy).

We need to stop disrespecting the philosophy, start respecting the philosophy, and work on building much more streamlined, focused products not only for the sake of the economy but for the sake of people who think the products that are being created for WordPress suck.

Because the harsh reality is that they’re right.

We currently build products for users that are confusing, that offer too many options, and that are designed not for the majority, but as a way to show off what we’re capable of doing given free reign with an API.

What a terrible state of affairs.

WordPress developers – myself included – need to mature as programmers and start treating the work that we’re doing, the businesses at which we’re employed, or which we’re working on creating as organizations that take notice of our customers and their needs.

Let’s stop designing for the rest of WordPress development economy and getting into proverbial, uh, “comparison contests” and start caring about the people’s problems that we’re trying to solve.

For some, this will be a big shift. For others, not so much. And for a fraction, it’ll fall on deaf ears. But that’s okay – plenty of junk exists in the stores in the world today.

Let’s just do what we can to make sure that we’re not placing our work near the bottom shelf of the WordPress products.

People buy cheap products for fun, they buy high-end products to enjoy.

Wouldn’t you want to be of the latter?

7 Comments

Excellent observation.

I totally agree. packing in features for the purpose of “wow”-ing a potential customer into buying – only to frustrate them later – is disrespectful to both the customer and the the WordPress philosophy.

I think that options CAN be a good thing if done correctly. Those options should all work without needing to be touched or seen. The defaults should be what works for the majority – out of the box.

That said, having the options available (but not in-your-face) in the cases where a user wants to change something is also a good thing for user-experience down the road (but likely in a plugin rather than a theme so that the themes can be changed). There are ways to do many options correctly. We should be considering what the best ways are every time we add a new option.

    I think that options CAN be a good thing if done correctly.

    Definitely! It’s just so often that it’s not :(.

    Those options should all work without needing to be touched or seen. The defaults should be what works for the majority – out of the box.

    Exactly!

    There are ways to do many options correctly. We should be considering what the best ways are every time we add a new option.

    Right. Themes are presentation with some tweaks for presentation, but options and functionality belong in plugins. At least, more often than not.

    I totally agree. packing in features for the purpose of “wow”-ing a potential customer into buying – only to frustrate them later – is disrespectful to both the customer and the the WordPress philosophy.

    Not necessarily, there’s a whole lot of potential customers who are actually looking for this and buying based on the fact that with a theme that lets them change EVERYTHING they’ll be in full control. You know, like changing botom left border radius and not only that, but also deciding if they want it to be in pixels or ems (seen it).

    The thing with going after those customers is that for them even 1000 options is not going to be enough, because there’s always going to be “but why doesn’t it have this, I’m sure EVERYONE needs that” or “I’d buy this right away, if it could also do this”.

    Tom, again, I completely agree with you on this, but there’s one thing no one knows for sure and that’s what an average user wants. Sure if you created a WordPress user in a lab somewhere, based on WordPress Philosophy, that person would want to be able to write without problems or interruption, but that may or may not be an average user.

    I think there’s two ways to interpret “Design for the Majority” – the way it applies to WordPress core and the way it applies to themes and/or plugin. When talking about core, it’s kind of clear what majority should expect.

    But when you’re developing themes of plugins, you decide who majority is by choosing both features and marketing language. You want to talk about AJAX, clean code and what not, cool, but good luck trying, because you’re basically limiting your audience to other developers.

    …not only for the sake of the economy but for the sake of people who think the products that are being created for WordPress suck.

    This is a very real problem. Luckily, the world is big enough that there will always be new potential customers, but crappy themes/plugins do equal crappy WordPress, or at least crappy WordPress experience for first time users, making it more likely they’ll look for alternatives.

Hi Tom,
I’m loving your articles about the WordPress philosophy. For a long time I worked with Drupal because I felt the WordPress market was being overrun by developers who either didn’t understand what they were doing, were lazy, or were unscrupulous. Of course I knew that there were many good WordPress developers out there, but for every well written, well supported, actually modular plugin or theme, there seem to be 100 with a million options and features that don’t belong, sloppy or overly “clever” code, and minimal support or updates that stop after six months.
So, I totally agree with you that showing off for other developers and cramming tons of features into a product is not the way to go. Even putting the awesome WordPress philosophy aside, it’s just not good development. However, I do feel that there’s a place for saying that your plugin has clean code (if it does), or using other developer jargon. A large part of the WordPress consumer market seems to be other developers who are using these themes or plugins on their clients’ sites. You may want to market to them as well as the non-savvy customer. Of course, there’s no room for lying about it or making it seem more important than it really is, and it could be kept in a separate “for developers” space to avoid confronting the non-coding customer with useless information.

    I’m loving your articles about the WordPress philosophy.

    Great – I’ve enjoyed writing them and am really enjoying hearing feedback from others (regardless of if it’s positive or negative :).

    For a long time I worked with Drupal because I felt the WordPress market was being overrun by developers who either didn’t understand what they were doing, were lazy, or were unscrupulous. Of course I knew that there were many good WordPress developers out there, but for every well written, well supported, actually modular plugin or theme, there seem to be 100 with a million options and features that don’t belong, sloppy or overly “clever” code, and minimal support or updates that stop after six months.

    I’ve never worked with Drupal, but I have worked with other system and I know the feeling you’re describing. Obviously, though, we are out here and we’re trying hard to make a difference.

    However, I do feel that there’s a place for saying that your plugin has clean code (if it does), or using other developer jargon.

    Oh sure! I didn’t mean to imply it should never be mentioned. I just don’t think it’s great marketing material for the average user.

    Of course, there’s no room for lying about it or making it seem more important than it really is, and it could be kept in a separate “for developers” space to avoid confronting the non-coding customer with useless information.

    This is a good point that I’d not considered. It all goes with who you’re marketing your work to, I suppose. Nice point – thanks for sharing this, Matthew!

Leave a Reply

Name and email address are required. Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>