You know those very old computer terminals with just green text? The IBM and mainframe Terminals? Or at least the emulators that access some of these mainframes. These are now almost only seen in airline reservation systems.
Why are they being replaced with "good looking" interfaces, lots of graphics, colors and many fonts, drop down lists and whatever controls. WHY WHY WHY???
An operator, or a clerk does not need all that fancy GUI and using the mouse, which by the way gets lost below all the paperwork on their tiny desk, to click here and there to enter one simple account number. Nor do they need to scroll through a list of 541 cities and countries! They do not have to select from a list of all possible 24132 flight numbers! And generally the most common item in the list is close to the end, and users have to scroll through the whole list.
It is much quicker for the operator or clerk to just use the keypad to enter everything, press a couple of function keys here and there, and you are done. No hunting for mouse, and trying to point it to that teenie meenie check box or selecting an incorrect item from a drop down list that takes 7 seconds to scroll to the item mostly commonly needed. With all this GUI, one transaction will now take the clerk 2 minutes to enter, and will take 7 minutes for the PC to bring all that information and save it. And look at the bandwidth usage skyrocketing, and the cost of getting all those new PCs to support the huge applications, and just see how much more powerful infrastructure is needed...
WHY??? WHY??? Just so that a manager somewhere can "demonstrate" to some other managers that "We are now in a new era. We have the latest user-friendly, and colorful interfaces for our clerks that will allow us to provide better services to our clients"
Yeah right... When I go to book a ticket, or complete a transaction at a bank, or anywhere else, i don't give a swat about how pretty the clerk's new, shiny, colorful, state-of-the-art user interface is, and I don't even think the clerk cares. All I care about is that the transaction takes the minimum time needed, and it completes successfully... I think clerks will want that too. I've seen theme in many places complaining about the "new system" and struggling with pointing the mouse at that list and that check box!
Don't get me wrong. I see no harm in having an interface that does include menus, colors, graphics and drop down list, but it has to be designed properly.
Here are my personal guidelines for Form Design:
1) Allow shortcut keys for all fields, or at least arrange the fields by tab order.
2) If a drop down list contains many items, allow the users to quickly select the item using the keyboard. It is not that hard at all.
3) Use default values.
4) Try the form yourself. If it takes you more than two mouse moves, something is wrong. All data must be entered using the keyboard.
5) TEACH the users how to use the forms and the shortcuts. Not all users, specially those who worked with green screens for years, know that you can TAB to the next field instead of using the mouse. Or that you can use the ALT key to move to a field, or that you can type the first letters to select from a list, or that a CTRL-P will print and CTRL-S will save or send.
6) Function Keys are still there! Use them for common tasks. Not that hard to do. But please use them consistently.
7) Don't give the user too much information. If a field is not absolutely necessary, don't prompt for it.
8) Remember that users are generally lazy and want to finish things quickly. So:
9) Many Critical error messages with a Yes/No prompt will not even be read! The default will be used.
10) If a field is not validated, you WILL end up with lots of garbage in your database. If a field is not mandatory, you WILL get many empty fields in your database.
11) Some of these guidelines may be conflicting, so choose the best. but
12) TEST TEST TEST with real users and perform at least minimal usability tests.
Just remember that some of these forms you are designing will be presented to some people 8 hours a day. Make their life easy.