Design Control is a Feature

Sometimes I hear people express frustration that they can’t change an aspect of their website’s design. Maybe they want a certain type of text formatting. Maybe they want to hide the sidebar or move it to the other side of the page. Maybe they want to change the background color of their footer.

Even to my ears, there’s something that sounds reasonable about these requests, ((I’ve thought about why this is and don’t have a great answer. In some ways, this assumption is self-inflicted. In the WordPress and Squarespace world, design control is often prominently marketed as a feature of themes or the service. However, for people like me who build people custom websites, I work with people to make decisions ahead of time and then bake those into the site. As a fellow WordPress site builder told me once when I asked him if he included design options in his sites, “I am the theme options.”)) yet it just hit me that these are feature requests just like just like an events calendar or Twitter widget.

Just like any other feature request for a website, it comes with costs, tradeoffs, and downsides. I’ve built ways for people to add boxes, change font color, make multi-column layouts, move the sidebar, and set background images. Every one of those features comes with an administrative interface to manage it (just like any other feature!) and thoughtful custom code to make sure it always looks good to site visitors.

“Simple” Feature Requests

Adding any feature to a website always makes it more complicated and prone to errors and inconsistencies. ((That’s why I remove buttons from the default WordPress text editor on sites I build.)) Consider this great article from CSS Tricks called “Features are Complicated.” A hypothetical person asks:


Why can’t I edit my tweets?! Twitter should allow that.


To which the article lists the many thorny questions that make this “simple” request extremely complicated:

  • Should you be able to edit any tweet you’ve ever tweeted at any time?
  • Or should you just have a few minutes to do it until it locks?
  • Do you offer this to everyone? Opt-in? Opt-out?
  • Should you be able to edit tweets or direct messages also?
  • What does it look like to edit a tweet? Can it be simple and obvious? Does it need additional UI? How do you expose that UI? Is it worth the extra UI?

And those are just the first five bullets of about 25!

A similar list of questions could be asked of a “simple” design request like the ability to change font color:

  • What colors can you select?
  • Are colors identified by their name (e.g. “Red”, “Yellow”) or the formatted text’s purpose (e.g. “Warning”, “Disclaimer”)? ((Formatting text based on its purpose rather than how it looks is one of the many things for which I advocate in my WordPress Formatting Manifesto.))
  • Can the user add custom colors?
  • What if the color selected produces inaccessible text with insufficient contrast?
  • How will you make sure a user doesn’t make rainbow text on every page? “I just wanted to add some personality!”
  • Do we have to update existing formatting if a color is added or removed from the approved colors?

Think Ahead

To be clear, I’m not trying to say that people should have no control of how their websites look. I don’t think WordPress should use Notepad as its text editor.

Empty Windows Notepad program
This editor offers too little control for formatting text. (Unless you know HTML & CSS!)

Rather, I urge everyone to thoughtfully consider what types of control they want over their site’s design, and learn what the costs and potential downsides of that control are. If design control is important to a website, make that clear to the web developer early in the project.

Any design control is possible with enough money, time, and effort. Just remember that it’s rarely simple and more control doesn’t guarantee a prettier site. 😉

5 thoughts on “Design Control is a Feature”

  1. As usual, a great post. I particularly love the close… ANYTHING…”is possible with enough money, time, and effort. Just remember that it’s rarely simple and more control doesn’t guarantee a prettier site.” Well said.

  2. I know this is an older post (but then you right so many good old posts), but I am curious about what that conversation looks like between you and a client. From the article your writing more from the perspective of the client and things they need to think about when working with their developer. I am curious as the developer/designer how you go about sussing out what those small details and needs might be, particularly as the article points out, that can include quite a bit of small detail to consider. I ask because I have found myself in projects that, despite a lot of conversation and a detailed scope of work, in the middle of projects where I come to the feeling a client might be under the impression that they will have more control than I am building in. Especially for newcomers to wordpress who may be coming with a general impression about whats available to them that i didn’t notice. That conversations about building in control of the backend (or removing control) might have given the wrong impression.

    1. Patrick, this is a great (long!) question that I’ve been thinking about a lot since you posted it. I don’t think I have a lengthy answer ready to go, but here are some of the first thoughts I had in response:

      – I almost never bring this up myself.
      – When a client brings up a type of design control they want, I talk through the pros and cons. This includes a rather lengthy list of considerations, options, stumbling blocks, and costs. When confronted with a list the length of that “why can’t I edit a tweet” post, most people realize they can probably live without something or can accept an alternative solution that will require less work.
      – I *really* focus on the benefits of fewer formatting options which include: 1) more consistency across the site, 2) faster interface to learn, 3) fewer unexpected problems with formatting. (I’ve included my stripped-down TinyMCE plugin on every client site for the last 2-3 years and have only had one client ask that I remove it.)
      – I don’t know how you work or what your client base is like, but most of my projects are custom themes. I tend to avoid designing layouts that would require a client-accessed page builder or some similarly-complicated editing interface. I think people’s ability to help create the theme design somewhat replaces the need to make custom layouts. (This comment expressed as a snarky tweet.)
      – As we all know, getting content from clients is possibly the hardest (at least most frustrating) part of many projects. It’s also the part I can’t help with at all. I find it useful to offer a reminder that I can help them make a design that’s easy to use and looks good and they really need to spend time on content. (Not everyone will be open to this line, so use accordingly.)

      Finally, I structure my projects as flat-fee, fixed-scope engagements. When stuff like this comes up mid-project, I can honestly say that it will increase the price, possibly effect other features [negatively], and generally gum up the project flow. This can be hard when clients “just assumed the site would do X” (I’ve been there!), but this is one way to guard against the problem. I think your observation about this issue coming up in the middle of the project is really interesting, since I rarely hear people ask for this at the beginning or request this later as a project add-on. That maybe suggests this is what people think they should be doing when building their sites? Not sure.

      Phew. I’ll stop :)

Leave a Reply

Your email address will not be published. Required fields are marked *

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