When I was still a production drafter, it used to drive me nuts when a new version of a program was released and the commands were all moved around. It seemed like all they did was move commands from one pull-down to another and it just made life difficult.
Almost any time any program ever tried to make my life easier, I hated it. At least, in the beginning.
After a while, I realized that there were two tests that I should be putting the interface changes through:
1. Did new users find it easy to learn?
2. After using it for a while, did I like it?
I realize that making life easier for a new user didn't always help me get me work done. Instead, it’s a decent litmus test to figure out if something is actually easier or harder than it used to be. It’s possible that something is actually easier and I’m the grumpy old drafter complaining about how much better it was when iPods were powered by steam.
Liking something six months from now doesn’t make me like it any more now. Again, this works nicely as a test for whether something is actually a little simpler than it used to be. Almost any time I’ve ever gotten something new, from a new laptop to a new car to a new watch, it took me a while to get used to it. Why should software be any different?
For me, the goal of making life easier for existing users is an important one. I don’t see it as being completely separate from making life easier for new users.
So what kind of changes make life easier? For me, it means a number of things:
1. Efficiency. Don’t require five settings when one will do. Don’t use a fly-out menu when a radio button could do the job (one click instead of two).
2. Solid, simple workflows. When several steps or commands are required to do something, make them as obvious and as simple as possible. Good software focuses on what the user is trying to accomplish. We need to know what that end goal is and figure out a way to get the user there.
3. Good defaults. If the user does not change any settings, the default ones are still useful. For example, a wall is placed on the floor you are looking at, not the one above or below it.
4. Feedback. Let the user know what is happening. Even better, let the user know what is about to happen. Previews of what is about to happen, like seeing a ghost of one line about to be extended to another, helps the user know what to do.
5. Consistency. Similar commands look and act the same throughout the program. Most program have commands that break down into major groupings. For example, most modeling programs insert elements using a single point (placing a chair), a line or arc (placing a wall or railing), or a closed shape (placing a floor or ceiling). Within any one group, such as placing a floor or ceiling, the command should be more or less the same.
If you are a power user of any software, the above concepts might require you to re-learn where the buttons went or figure out the new sequence of steps. Do you consider that a fair trade for something that is easier in the long run?
Please, let me know!
I would add one more to your list: hide less frequently used settings.
With the advent of Dynamic Views in V8i, the functionality has been split amongst the following dialog boxes:
All of these dialog boxes are now much more complex then they used to be. My poster child is the Attach Reference dialog box. The users that I work with frequently use two or three of the plethora of surfaced options. The vast majority of these options should be move to an “Advanced Settings” tab, or some such.