Principle 4 is perhaps the most violated of all, at least in the CMS products I'm most familiar with. A good CMS, or any good piece of software, should be consistent and predictable. There should be "no negative surprises." How often have you started an operation, gone through several menus or through several dialogues, only to discover you were on the wrong path entirely? "Oh, I thought I was doing a report -- silly me, I should have been doing a query."
Consistent vs. Easy
Originally I was going to make "consistent" a paragraph under "easy," but the more I thought about it the more I realized they're two different things. I may be violating my own principles here, but if there has to be a choice, I think I'd take consistent over easy. That's a scary thought, but if I go to the trouble to learn something, let me keep reusing that learning. Of course, if you start with easy, and then be consistent within easy, that's a big win.
Good, consistent, software follows a standard
Having a well defined user interface standard is a principle that's been around software for a long time. Companies devote whole teams to develop a standard, then review all software to ensure it conforms to that software, and then the really hard part -- update that standard as new ideas come along. Consider if your software has a menu -- do the menus look and act the same in all the different modules? Are similar actions performed in similar ways, even though you're in a different component of the software? Learn something once, then use it over and over and over. Does your software properly follow "expected" guidelines for buttons vs. pull downs vs. context menus? These features are well documented and understood. Software that doesn't follow them, well, it's not good software!
Consistent and clear Terminology
Does you CMS use the exact same terminology everywhere? Are words and phrases extremely clear? One of the most confusing things in many CMS products is what to call "people." Does the membership module contain people who are not members? That's a bit confusing. How about "users" instead of people or members. Or does "user" mean "staff member?" And what's a "contact?" Is that another name for people (as in Outlook), or is contact a verb meaning to make contact with a person (or member, or user, or whatever). Or…can you contact a contact? Oh my…
User Interface guidelines
We live in a Microsoft world. They have a user interface standard Apple also has a standard. If you don't like Microsoft, that's OK -- go with Apple. Or do a quick search on Amazon.com for "User Interface." There are plenty of good options. The point is, software should have a standard. Developers should pick one and follow it. Everywhere!
