Admin UI Design

It is hard to overstate the importance of good User Interface (UI) Design.

When you have a new Web site designed a lot of thought and effort is put into the front-end UI of the site; the part that your visitors will see. It’s generally intuitive and easy for your visitors to use. If it isn’t then it’s very likely that any visitors you do get to your site won’t stay long.

However, this same level of thought and effort is rarely put into the admin or back-end interface; the part that you will see. This is not surprising for the most part. Designers do not generally focus on the back-end and how it will work and function.

The admin interface is in the control of the CMS platform being used and the skill of the developer that’s building your site.

The Importance of Good Admin UI Design

In my opinion there is only one reason to use WordPress for a Web site, and this is true of any CMS; that reason is to make it easier to maintain your site. The truth is that very few people who maintain Web sites have a good understanding of HTML, CSS, JavaScript and PHP. The goal of the CMS is to remove the need to know these things in order to make changes to your site. It is also necessary to remove and avoid anything what will be confusing to the user. Anything in the admin UI that requires development skills or complicates it with confusing information completely defeats the purpose of using a CMS.

The admin UI needs to be intuitive and easy to use. If it’s not then you’re not likely to want to use it much; again, completely defeating the purpose of using a CMS in the first place.

Here’s the Rub

From what I’ve seen and experienced, very few developers are good at UI design. Developers are coders, and they are good at following instructions when it comes to creating the user interface. When building the front-end of the site they have a road map; the wire diagrams and design files created during the design phase of your site tell the developer exactly what needs to be where, how it will look and how it will work. This is information they are not usually given when it comes to the back-end. For this the developer needs to use their own best judgment.

The developer may not even know they are creating a poor interface. Why? Because the developer understands HTML, CSS, JavaScript and PHP. They have to in order to build the site. The developer usually has a fair understanding of how the basic admin interface of the CMS works, again, because they need this understanding to build the site. The developer is used to dealing with things that would confuse a lot of other people. The developer may not have a lot of experience with UI design. When a developer decides how to implement some needed feature into the admin interface they will most likely do so based on their level of understanding about the system rather than the understanding of the end user.

Please note that I’m not saying the above is true of all developers. There are exceptions. I’m saying that what I have experienced leads me to believe the above is generally true. It takes extra time, effort and experience to see things form a different point of view. It often requires a higher level of understanding of the CMS in question and what it can do. When pressed with a deadline, most developers will not take that extra time or put in that extra effort. It requires that they already know how it should be done. Other than the time it takes to think about it, most often it doesn’t take that much longer to implement a good design than it does a poor design.

If the site being developed will only use built features of the CMS then there generally won’t be any significant problems. The developers that built the CMS usually do user testing and get input to make sure their interface is intuitive and easy to use. Problems usually only occur when new features need to be added that require changes to the core interface. Unless you plan on using WordPress strictly as a blog the chances that modifications need to be made are quite good.

On the other hand, there are some features built into the admin interface of WordPress that if used poorly or used at all in some cases will increase the difficulty of maintaining a site.

In my next few posts I hope to point out some better ways to achieve some of the things I have seen done by using certain features in WordPress that are not used enough, by using the features in a different way than I’ve usually seen done, or even pointing out features that should be avoided entirely. I hope to cover the following topics:

  • Custom Post Types
  • Custom Fields
  • Themes
  • Widgets
  • Short Codes
  • Plugins
  • Other things to avoid as I think of them