It’s no secret that one of the things that I love most about the most recent versions of WordPress is the Theme Customizer (which is soon to be called the Customizer). I’ve talked about it in a number of different articles, some of which include:

Further, I’ve been clear in stating that I think that as much as I like the Customizer, we’re beginning to see the same problems, but in a different place.

Simply put, I think that we’re disrespecting our customers and damaging the WordPress customizer.

And over the past few weeks, I’ve seen this manifesting itself more and more through various themes I’ve seen, various screenshots I’ve seen, and various other discussions I’ve seen.

Granted, I’m not really one in a position to say what a person opts to do with their own projects, and I’m not particularly interested in getting up on a soapbox (but this is probably going to read like that, so there’s that, I guess) and telling everyone how or why to do something, but I do have strong opinions on the WordPress philosophy and how it directly contributes to developing themes.

As it stands now right now, I think that we’re doing a terrible job of respecting the WordPress philosophy, putting it to work for us, creating happy customers, and leveraging the WordPress customizer for the betterment of the WordPress economy.

Damaging the WordPress Customizer

Since I’ve written my first post on the topic of the Customizer, I’ve also done a number of posts all about the pillars that make up the WordPress Philosophy.

I’ve covered:

I’m not going to summarize everything here because its available both as a page on WordPress.org, and in the linked posts above, but I can distill my point into the following:

The WordPress Philosophy values simplicity, designing for the majority, having features work out of the box, and making decisions over creating options, but implementations of the Customizer are giving users the ability to tweak everything from the font used throughout the theme to the colors of the text and the links that make up the text.

I find this to be in contradiction to the philosophy that WordPress provides, and I think that it actually makes for less opinionated, more complex products than not. And for those who genuinely care about creating better products, improving the state of the WordPress economy (so that it’s not a race to the bottom for pricing), and so on, this works in direct contrast to that.

And we have no one to blame but our own kind.

On Settings Pages

Before the Theme Customizer, there were settings pages. Initially, these were relatively easy to work with (not necessarily because of the API), but because developers were able to add a few options into an area of the dashboard that allowed users to toggle a few options and set a few values.

Then WordPress began to mature and introduced controls that allowed for things such as custom header images, background, and so on. It put more control in the hands of the user – what used to be done via file uploads and CSS was now possible via the Dashboard.

But then developers and those who were working within WordPress for the money more so than the value of creating philosophically solid products began to leverage APIs and features.

The Rise of Options Pages

Shortly thereafter, we then saw the rise of theme frameworks (a phrase that is used in so many different ways that I’m not sure anyone has the same conceptual model than the next person, but I’ll cover that later) that introduced options pages full of tabs, panels, and so on all of which allowed the end user to customize basically every single thing about their site.

If you’ve ever watched the average end user attempt to navigate one of these, you’ve what a usability nightmare this is, and the sheer disappointment that comes over a customer’s face when they see how much work is required to configure a WordPress site.

Just this week, I happened to hear:

I bought this theme thinking I’d be able to change the header text and add some widgets and have it look like the demo.

Instead, the user was faced with a tabbed interface full of image upload panels, dropdowns, input fields, radio buttons, and checkboxes, and so on.

The learning curve was steep, there was a disconnect between what she had seen and what she had purchased, and after spending time trying to make the thing work the way it should’ve worked out of the box, she opted to come back to it later.

But what incentive does a person have to go back to something that frustrates and intimidates them?

I felt bad for her because she had paid good money for something that worked completely differently than expected, and I felt a big angry because it’s stuff like this that’s harming the WordPress economy – it frustrates the user, it gives themes a bad name, and thus it reflects poorly on those who are working within the industry to do the opposite of exactly that.

Here We Go Again

When the Theme Customizer was first released, I thought it was fantastic. “Finally,” I thought “we’re closing the gap between the options that are available to the user and the impact it has on their site.”

That is to say, they are able to see a direct result of their changes.

Unfortunately, we’re circling back to where we started: We’re doing the same exact thing that we’ve been doing with settings pages, but now we’re doing it with the Customizer.

This isn't madness. This is WordPress.

This isn’t madness – This is WordPress. And it’s Business As Usual. ANd it’s Sad.

Rather than having a number of tabs and a number of input elements, we’re now creating a vertical, accordion-style menu full of every option possible, and then selling it to customers who are going to be just as frustrated with this new approach as they were with complex settings pages.

Frankly, that sucks. We should be doing a better than that. We have these amazing features and APIs that make it incredibly easy for users to add a header image and change the location of their sidebar, for example, but instead we’re creating designs – some far more elaborate than others – and then giving users the ability to change it to whatever they think looks best.

But if you’ve got a solid team of designers working on your themes, wouldn’t it stand to reason that they know the industry trends, best practices, and have an expert opinion on similar topics (granted, not all – but most)?

If we really want to give customers an experience of “what you see is what you get” when they buy a theme, and stop the disappointment that comes when they first open a theme and see how much they have to do in order to get the theme to look how they thought it was going to look all along, then we need to stop throwing options into the settings pages and into the customizer.

We Are Shooting Ourselves

Ultimately, themes are for presentation and it’s absolutely ridiculous that a person sees a theme that they’d like to purchase because of how it looks only to install it and find that they have to do a significant amount of work to get it to look like what they thought they were purchasing.

That is so backwards.

And the more that we continue down the road we’re on of giving users multiple options over making decisions on their behalf, and the more than we show demos that do not map to the product that the user is purchasing, the more frustrated customers are going to become.

Rather than turning the WordPress economy around with an upwards tick in pricing and quality of products, we’re going to have price the work inexpensively to compensate for the amount of time a customer loses when they’re sitting at their computer navigating the labyrinth of options, pulling their hair out, twisting knobs, cussing at every feature that’s available, and toggling options trying to figure out how to make the product they purchase look like the demo of the very thing they thought they were getting.

We’ve got to do better than what we’re doing right now.

Category:
Articles
Tags:

Join the conversation! 20 Comments

  1. I cannot agree more with you. First was the “theme options panel” and now it’s being “the customizer”. I think the problem is related with the trendy bloated templates we see everyday. Using a metaphor with kitchen utensils if users needs a knife or a spoon, instead we sell a swiss knife with all the features together in order to catch as much clients as possible.

    • I think the problem is related with the trendy bloated templates we see everyday.

      Yes. This is the core problem that needs to stop, but it’s going to be incredibly difficult when it’s what the market is used to having.

      At least the work is cut out for us.

  2. With every innovation comes a new marketing ploy.

    We’re all guilty of it, there’s nothing wrong with that, it’s just the open invitation and interpretation that’s freely available that will drown us — and our customer.

    Milestone: Customizer gets more awesome.
    Bleeding-edge product designer/company: Let’s add this nifty feature to the front-end of our themes.
    (2 months go by…)
    “Hey look at that customizer thing.” is heard throughout the streets.
    Theme industry: How do we keep up?
    Theme industry agent: Dump our options page into the front-end!
    Theme industry bossman: Brilliant!

    This “shift” to the customizer is going to happen and I don’t think there’s any one way to stop the land rush. It’s probably just as “revolutionary” as when the admin dashboard matured and the way WordPress does it.

    Innovate, see where the dust settles, iterate, progress.

    Think about when you were able to introduce your own options pages — a miracle! Some product people do it right, others don’t — years later.

    Back to the marketing ploy…

    Think about Apple’s iPhone 5c — they tout, “For the colorful” “Express a feeling” “Make a statement” “Engineered to the brightest…”

    Bro, it’s just different colors of plastic for me to choose from.

    So I don’t think we’ll be able to fend ourselves from the bloat, but I’m totes with you, we have to be aware of it and champion for the betterment of our customer — and our sanity.

    • So I don’t think we’ll be able to fend ourselves from the bloat, but I’m totes with you, we have to be aware of it and champion for the betterment of our customer — and our sanity.

      Agreed.

      I know we can’t get away from it and the problem isn’t really going to go anywhere, but if we can at least get high-quality WordPress developers to begin shifting both their thinking and their implementation of options, then I’d say that’d be a nice big step in the right direction.

  3. I’ve been working with a customer on exactly such a problem. They purchased a theme, and out of the box, it worked nothing like the demo. Some of this was widgets, and a couple plugins the demo had which were necessary to download separately. I wasn’t even so much how customizable the theme was, just the expectatation that the user would get exactly what they had seen on the demo site. Fortunately, they had me on board, and the theme developer had also created a very useful guide on how to make your site have all the features that the demo did, which was included in the download with the theme files.

    • Fortunately, they had me on board, and the theme developer had also created a very useful guide on how to make your site have all the features that the demo did, which was included in the download with the theme files.

      For sure – and for those people who don’t have someone helping them out, like yourself, they’re experience is too much like what’s in this post and that’s sad.

  4. I am reading a lot on this topic recently as I am in the middle of a large project building a base ‘parent’ theme for our MultiSite network. It is unique in that all themes are custom by me to fit the specific niche we cater to, so each theme will be a child of the main theme.

    What I am battling in my head right now is what does belong in the customizer? For example, every site needs to have a logo, phone number and address, (among other tid bits) and I had been using Advanced Custom Fields to create options panels to throw things like that in. My thought with this overhaul was to abandon that and move these things into the customizer. So would that be a bad idea then? If so, how would you recommend handling such issues?

    Thank you!

    • What I am battling in my head right now is what does belong in the customizer?

      Anything that contributes to the presentation of the theme, but not an option that allows the user to change every aspect, if that makes sense.

      I mean, in your case, if the logo is fixed for each site, then leave it built into the code; otherwise, it could go into the customizer for sure.

      My thought with this overhaul was to abandon that and move these things into the customizer. So would that be a bad idea then?

      I don’t think so mainly because ACF is such a beast for some of the functionality that you’re describing. That is, it’s kind of a sledgehammer for something that can be handled with a much, much smaller utility.

      Moving some of the simpler aspects into the Customizer would be a good move, in my opinion.

      If so, how would you recommend handling such issues?

      • Identify what can be moved to the Customizer
      • Identify what needs to be placed in ACF at the post or the CPT-level
      • Setup source control
      • Move features piece by piece until you’ve got a balance between the first two

      That’s the short of it :).

      It’s about making sure that you can always rollback a change if the introduction of a new feature or moving away from ACF doesn’t work as planned. That’s key.

      And to be clear, I’m not advocating moving away from ACF – it has it’s own place, for sure. I’m a fan of the plugin; however, I’m a fan of using it where it needs to be used and then leveraging other things – like the Customizer – where they should be used.

  5. I think that the conflict is between WordPress as is and for those who will extend via themes or plugins. WordPress does an excellent job of making the core offering simple to set up and use, because of this it is now the dominant platform on the web. I do not know but I suspect that the customizer was intended to create a common method of working with common terminology and options. If so then that is a good thing.

    The problem seems to be though that for some themes this falls down because they are intended for huge customisation. In such a case I would suggest that this is not an area for a casual WordPress user. For example I saw a theme a few months ago that is intended to be used for a recruitment site with a jobs board and all the tools available to manage it. For the company supplying the theme this is valid as they are creating a theme for a specific purpose and their philosophy is not that of WordPress.

    I also know (but can’t think who it is right now) that there are some folks out there marketing themselves as the xxxxxxx theme experts. On that basis they believe that a theme is so complex but valuable that they can make a living from this.

    In a thriving WordPress ecosystem I do not think that there is anything wrong with this.

    Perhaps there could be a rating system of difficulty for certain skills to implement a theme combined with suggestions of suitability to tasks.

    • I do not know but I suspect that the customizer was intended to create a common method of working with common terminology and options. If so then that is a good thing.

      Agreed. If themes are meant for presentation, then the Customizer does a significantly better job of managing those options than other APIs have offered us.

      The problem seems to be though that for some themes this falls down because they are intended for huge customisation.

      Which, IMHO, is a huge problem, but I digress on that for now.

      For example I saw a theme a few months ago that is intended to be used for a recruitment site with a jobs board and all the tools available to manage it. For the company supplying the theme this is valid as they are creating a theme for a specific purpose and their philosophy is not that of WordPress.

      I think this use of WordPress is great! I still think the philosophy of WordPress can be applied (though, admittedly, I don’t know all of the ins and outs of the product) in contexts like that, but it requires planning of how all of the moving pieces will be created and assembled for the final product.

      I also know (but can’t think who it is right now) that there are some folks out there marketing themselves as the xxxxxxx theme experts. On that basis they believe that a theme is so complex but valuable that they can make a living from this.

      :(

      Themes should never be that complex, but it’s what the market has morphed into and I don’t think we’ll ever really come back from that.

      Perhaps there could be a rating system of difficulty for certain skills to implement a theme combined with suggestions of suitability to tasks.

      That’s not a bad idea, though it’s one of those things that I don’t think the average blogger would use. I see that as something more in line with professional needs. Just my opinion, of course.

  6. I’m so glad all these issues are starting to be discussed. I’ve worked with so many premium theme’s that were a nightmare to use, even for a developer. I’m planning on releasing some niche themes in early 2015 and design and intent will be on the forefront. Even letting users pick there favorite google font can be a disaster to line-height and layout! Theme’s really need to let customers see what the theme is going to look like upon installing, not just what the creator can turn it into. Thanks or pushing these issues forward.

    • I’m so glad all these issues are starting to be discussed. I’ve worked with so many premium theme’s that were a nightmare to use, even for a developer.

      I feel your pain, man.

      I’m planning on releasing some niche themes in early 2015 and design and intent will be on the forefront.

      Good for you! Blog about it, share it, etc. as I’d love to follow along :).

      Even letting users pick there favorite google font can be a disaster to line-height and layout!

      Agreed.

      Theme’s really need to let customers see what the theme is going to look like upon installing, not just what the creator can turn it into.

      Exactly. Make decisions, don’t give ’em options except where appropriate, and go with that!

  7. Tom, you’re doing a great job with these articles on the Customizer! I totally agree that these “options” should be used with moderation. There are a few developers that I respect a lot for not only embracing the Customizer, but designing and creating their themes in such a way that the user can pick them up and build a website with ease. However, I also agree with the sad truth that Matt pointed out: the bloat is inevitable! What we can do is stay true to our principles of responsible theme design and hope that more and more people will embrace this.

    In the end, I think it’s more of a matter of educating the users. They are the ones driving the market and if they start shouting “keep it simple, make it easy to use”, rather than “more features, more options, more shortcodes”, maybe that will reach a few developer ears and get the ball rolling in that direction.

    On a more off topic note: it seems like every search query about the Customizer points to your website, so I have this thing that I’m trying to figure out and I thought maybe you or someone else can point me in the right direction: how can I “show users my Customizer”? :) I’ve seen a few themes linking to customizer.php without requiring login, but I searched the Codex for some persmissions thing and ran a few searches, but came empty handed. Thanks!

    • However, I also agree with the sad truth that Matt pointed out: the bloat is inevitable! What we can do is stay true to our principles of responsible theme design and hope that more and more people will embrace this.

      It is. It’s inevitable, like you guys said. I’m with you, though: I’d rather see more people begin to move away from doing that than not.

      In the end, I think it’s more of a matter of educating the users. They are the ones driving the market and if they start shouting “keep it simple, make it easy to use”, rather than “more features, more options, more shortcodes”, maybe that will reach a few developer ears and get the ball rolling in that direction.

      Sure, sure – huge ship we’ve got to turn around. At least we have our work cut out for us :).

      I’ve seen a few themes linking to customizer.php without requiring login, but I searched the Codex for some permissions thing and ran a few searches, but came empty handed. Thanks!

      Personally, I’ve used tools like WPDemo.io to help give users full access to a theme demo. I’ve never personally seen giving users access to the customizer without some type of add-on.

      Wish I could be more help! =T

  8. Tom,

    I have to say, I’m conflicted on this one. When I see themes with a bajillion options, it looks to me like they didn’t know what their users wanted, so they just put everything in it.

    At the same time, for every customer that loves my theme because of the flexibility, there’s one who stopped using it because there wasn’t enough flexibility. When adding custom colors generate more sales, and adding custom fonts generate more sales, and so on, it’s really hard to draw the line. I’m trying to find the right balance now.

    Personally, I’m looking forward to the Panels API in 4.0 as it will definitely help me organize the customizer, but I can’t help but feel like it may worsen the issue by enabling greater complexity.

  9. Hey Tome – To play devil’s advocate for a moment, some thoughts on this :)

    1) The reason theme developers add a lot of options – and the reason it’s inevitable that they continue to do so – is because there is huge market demand for it. There are a lot of hugely popular, option rich themes. Probably half the market. So really you are kind of saying: Please stop giving the market what it wants. Let’s stick to a single coding and interface philosophy rather respond to user demand/needs.

    If you really want to stop this ongoing trend, you’d somehow need to change market demand, which is unlikely. As long as users want it, developers will provide it.

    2) I think most commentary on this issue is from people inside the WordPress bubble, who are almost by definition WordPress developers. And as such, I think they often conflate personal (or tightly group shared) development philosophies with determinations about what is right and wrong for coding and interface, almost in a universal moral sense.

    That’s a complicated way of saying: Just because you like simple themes doesn’t mean everyone does. It’s always odd to me, given that themes are a choice, that there’s an ongoing effort to force all users to make the same choice in terms of theme style. I’d say just be open to the possibility that different people actually like different things, and that’s OK.

    And one obvious point is that, as a developer, if you install a theme and want to customize it, you can quickly get a handle on it’s CSS and make your adjustments via child themes or css files in upgrade safe ways. A great many users can’t do that. So if there aren’t easy customization options, they essentially have to hire a developer if they want to make even simple customizations. Options panels (or lots of options in the customizer) essentially allow non-developers to make the kinds of changes that they otherwise wouldn’t be able to make at all.

    3) It’s noted above that WordPress is popular because of it’s design principles that keep it simple. That’s a partial truth. It’s actually popular because a) the core stays simple and because b) there are themes and plugins to meet every taste that can be layered on top of that simple core. WordPress manages to provide both simple (for those who want it) and flexible (for those who want it).

    If you force developers to stop providing flexible, non-developer solutions for theme customization, while it might make you and those who like “simple” themes happy, we’d also lose the half or more of the market that really likes the options-rich approach.

    4) I really like and believe in the WordPress coding philosophies – as it applies to core. But part of the reason it works is because you keep the core simple, and then allow the complexity to be added – only by those who want it – through extensions like themes and plugins. It’s in the extensions that the additional complexity actually belongs, because those who want it can add it, and those who don’t can choose otherwise.

    I don’t think the idea behind keeping the core simple is that you should never provide more options or complexity. It’s that you should allow choice to live in extensions so only those who want particular features need add them.

    In any case, just an alternative way of thinking about some of this.

  10. Tom (aka Tome :) Sorry for the misspell. Feel free to correct that :)

  11. Just goes to show, that WP is for blogging and NOT for building Websites. At least this is the direction WP is driving in. They should consider the oposite since a lot of peeps think WP is for making Websites. I stopped building themes 2015 when Customshmizer was required. I will only build private themes now. So WP is losing a LOT of good programmers (yes new lab rats always come along for the WP.org taking).

    1- If you want to “preview your ‘results’ then open another tab and refresh that tab… even leave instructions to do so for those whom are not smart enough to figure out how simple this is. aside: God, I hate having to wait for Customizer to transport its refresh after writing thre letters into a headline.

    2- If Theme Reviewers are too lazy to sanitize and modularize each Options page, then Team leaders can pick another reviewer.

    3- TOO MUCH JAVASCRIPT. Javascript bad. PHP good.

    4- I could do this all day.

    5- slow

    6- bulky

    7- too small

    8- all of above are bad for UI/UX

    9- not good for theme building as it is far less than a Wix builder for example.

    10- has no real purpose in the production of anything outside of changing styles and text, which should be done on the Meta-boxes or page editors, Not in a “special place.” (emphasis on special)

    • Thanks for your comments Larry! I’ll address some of your points…

      Just goes to show, that WP is for blogging and NOT for building Websites. At least this is the direction WP is driving in. They should consider the oposite since a lot of peeps think WP is for making Websites. I stopped building themes 2015 when Customshmizer was required. I will only build private themes now. So WP is losing a LOT of good programmers (yes new lab rats always come along for the WP.org taking).

      WordPress may be losing some good programmers, but I also know that they are gaining some incredible programmers, as well. I’ve met them first hand, I see the work that they are doing, and I consider studying the work they are doing something that’s a huge benefit to myself and our peers, as well.

      With that said, WordPress is much more than just blogging. Blogging is something that it can be used for, but it’s grown up to a full-fledged CMS at this point. On top of that, I’ve built web applications that use WordPress as a foundation and you’d never know it was on WordPress at all. Further, with the advent of the REST API, we’re able to do far more about it than we’ve ever been able to prior to its current state. This doesn’t even include many of the command line tools that we now have available for working with the application that don’t even require a browser any more.

      Granted, the Customizer has grown much more beyond my initial post and I’m not here to say whether that’s a good thing or a bad thing, but I do want to say that I think simply leaving WordPress behind as nothing but a blog platform is misguided when so much can really be done with it.

      If you want to “preview your ‘results’ then open another tab and refresh that tab… even leave instructions to do so for those whom are not smart enough to figure out how simple this is. aside: God, I hate having to wait for Customizer to transport its refresh after writing thre letters into a headline.

      I think leaving instructions for those “whom are not smart enough to figure it out” is kind of disrespectful to said people. Just because they can’t figure it out doesn’t make them dumb. In fact, I’d argue that it’s more of a symptom of the developers, not the users. If the users can’t figure it out, what have we, as developers, done wrong?

      aside: God, I hate having to wait for Customizer to transport its refresh after writing thre letters into a headline.

      I don’t know which transport you’re using, but using postMessage hasn’t really caused this problem for me. Maybe there’s something more complex in the theme or in the server or elsewhere in the set up?

      If Theme Reviewers are too lazy to sanitize and modularize each Options page, then Team leaders can pick another reviewer.

      Sanitization and Validation should always happen. If someone isn’t doing it then that’s a point of education on their part and the should be taught accordingly.

      TOO MUCH JAVASCRIPT. Javascript bad. PHP good.

      More, now than ever, applications are being written in JavaScript.

      This isn’t to say that we need to degrade gracefully, but I think to dismiss JavaScript entirely is dangerous.

      not good for theme building as it is far less than a Wix builder for example.

      But now you’re comparing a CMS to a web site builder and that’s different. I mean, Wix is great, but it depends what it is that you need. Let that guide which solution you use.

      has no real purpose in the production of anything outside of changing styles and text, which should be done on the Meta-boxes or page editors, Not in a “special place.” (emphasis on special)

      You can do more with it, though I don’t necessarily think one should. That’s not for me to decide, though. Personally, I don’t work with the customizer much anymore beyond the basic theme build, but it can do much more than just changing styles and text.

Leave a Reply

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