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?
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.
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. 😉