You may have heard this before - Drupal has a reputation for low grades in the usability department. That’s been a knock against Drupal since the beginning.
There are probably hundreds if not thousands of blog posts comparing Drupal to, say, Wordpress, when it comes to ease of use. Many posts criticize it, while many Drupal aficionados defend it. This isn’t one of those posts. This post is simply to say that while Drupal has its faults when it comes to usability, it all comes down to how you (or your implementor) build your site, and there are numerous easy things you can do to improve the user interface to allow non-technical people to use your site more easily.
The key focus - and the biggest usability win - is in the content creation workflow. By far, this is the most common task a user at any level will perform, so making it as simple as possible is critical.
- This is going to seem too basic but make sure the WYSIWYG does what it’s supposed to do. If it doesn’t actually represent what you would see as you’re formatting content, then find one that does. Formatting text should be easy and painless. My favorite is CKeditor along with IMCE for file management. Protip: ckeditor allows you to define classes for users for advanced styling, which is awesome.
- Hide things that aren’t relevant to your users. Aren’t using the “promoted to front page” feature? Hide it. Don’t want your users to edit node summaries? Then hide that too. Many if not most options and fields on node creation forms can be hidden simply with permissions.
- Fields should have easy to understand labels and help text. It’s easy to underestimate, but there’s no doubt that users need help text that, get this, helps them! Help text can include links to other pages they may need, tips for image sizes if an image field, or other general tips.
- Just as important to good help text is helpful error messages. And this is where Drupal can struggle. Many times error messages are full of jargon and confusing to users. Also, with long content creation forms that include many fields, the error message appears at the top of the page by default, making it hard to know which field is the issue. Luckily, there are two nifty modules you can install to help with this:
- First, Inline Form Errors is a module that moves error messages inline to the field that has an error. This is behavior a user would expect.
- Second, String Overrides can replace Drupal jargon with language your users can actually understand. Essentially, without any coding, you can replace one bit of text with another bit that is more user friendly. String Overrides can also be helpful in many other contexts.
- Ok, raise your hand if you hate fields like this. I thought so. Multi-select fields are the bane of web users everywhere. Do people know to hold command or control to select multiple options? Some do but many don’t. And to deselect, you have to keep it held or else you're screwed and you lose all your other selections. Plus, how small of a box can it be? Geez. Luckily, the improved multi-select module makes the task of using multi-select fields much easier. Just choose the options you want and hit the arrow to put it in the column of selected options. So much better. (Protip: check out this one for exposed view filters)
Now, let me offer a few final tips for content managers and admins needing to navigate around Drupal. The content admin screen is ok but you can’t easily extend it to add different filters. I love this view. All it does is add a tab to your user account page called “my content” where you can quickly see everything you've created and filter by status, type, date, or really anything else you want. It’s very nice.
A few more:
- Drupal 7 now has a nice shortcuts’ bar that is not only customizable, but you can create different shortcuts for different users. It’s super handy. Use it.
- There is also a dashboard to add custom blocks based on different criteria, such as a list of new users, recent content, content needing review, etc.
In the end, Drupal is what you make of it. The time put in to make the interface as usable as possible goes a long way to making content managers’ lives happy. I’m sure i’ve missed a few things so please add other tips to the comments!