The best application in the world won't get used if it's confusing, inconsistent and more difficult than a manual action. As such, you should spend a fair amount of time making sure your forms and your basic application interface, flows naturally, easily, and mirrors the user's work habits as much as possible. Herewith, some thoughts.
Make sure the tab order is correct.
[color red]
Q: How do I get my controls to tab in the right order?
[/color]
A: Click VIEW / Tab Order and select the AUTO-ORDER button. Your fields will be set in a left-to-right, top-to-bottom sequence. You may need to rearrange the controls in the tab-order box if they're not correct.
Make sure the user knows where s/he is on the form at all times.
[color red]
Q: How can I highlight the current field?[/color]
A: One easy way is to use a 1 or 2 point border around your input text boxes, and change the color of that border when the field has the focus. Here is a sample form database:
http://www.jmhare.com/databases/hilite.mdb
Make entry as automated as possible with combo boxes and other non-typing controls.
[color red]Q: How do I make the contents of a combo box get set in to a field?[/color]
A: This is relatively easy. Place a combo box on your form but leave it UNBOUND. Use either a value list or a query to populate the combo box. On the combo-boxe's AFTER UPDATE event, write one line of code to assign the value of the COMBO box to the field you want to be populated:
Me!MyTextField = Me!ComboBox
Don't FORCE the user to do things that aren't natural or that use more keystrokes than necessary.
[color red]
Q: How can I force my user to enter dates in the MM/DD/YY format?
[/color]
A: Why bother? Let them enter date values any way they like. You can set the FORMAT of the value, which is the way the date looks on the form or report, to "mm/dd/yy". This way, the user can enter a date any way they like, and it will be displayed in the format that you want to see.
Get rid of the Record Pointer, Navigation controls and scroll bars
[color red]
Q: How can I let the user move around in the table if they don't have the record navigaton controls?
[/color]
A: Use commmand buttons for NEXT, PREVIOUS, FIRST and LAST records, if your user wants them. Place the buttons in the form footer section. Most users don't know or understandhow to use the form's built in navigation controls, but many of them will understand what "Next Account" or "First Activity" mean.
Make your program as "unbreakable" as possible. Don't let an inadvertant mouse click ruin everything.
[Color Red]
Q: How can I keep the user from closing the form with the "X" in the upper right corner?[/color]
A: Set CONTROL BOX to NO. Set CLOSE BUTTON to NO. Set MIN/MAX Buttons to NO. Size the form to display exactly what you want and then click Control+S in Form View to save size and position. In Design View, then set the BORDER to NONE or THIN. Control the closing of the form through a command button.
Use the appropriate controls for forms, following the Windows CUA standards
[color red]
Q: What do you mean by "CUA" standards?[/color]
A: Common User Access - usability standards agreed upon by all the biggies - sometimes honored more in the breach than in the practice, but still the way to go. If an option can be either YES or NO, I prefer radio buttons or toggle buttons in the option group. DO NOT use check boxes, as they are used to make 1 or more choices in a group. If there are 5 or more possibilities, use a combo box for your entry, with the AutoExpand property set to YES. This will enable the "first character move-to" process. To get an idea of what I mean, look at the standard Windows PRINT dialog box to see where you should use radio buttons vs checkboxes vs combo boxes.
Allow your system to be keyboard-driven for those users who are not mouse-centric[color red]
Q: How do I do that?
[/color]
A: Use the &-ampersand character to place accelerator key short cuts on command buttons. Don't rely exclusivly on menu-bars and tool-bars for navigation and control. Set your system up so that the TAB key moves from field to field. Never set something up so that the user keys information and then needs to click the mouse pointer somewhere to "confirm".
Use CLIENT terminology to refer to things - not computer-speak.
[color red]
Q: Whenever I talk about fields and records, my client's eyes glaze over and I just can't get him to understand.
[/color]
A: You and I know it's a TABLE of accounts, but the user just thinks of it as his ACCCOUNTS file. So don't "Add a record to table", instead "Add Account". Use "Next Invoice" instead of "Next Transaction".
Always allow the user to "back up" or recover gracefully if they make a mistake
[color red]
Q: How can I keep the user from making errors?
[/color]
A: Reduce the possibility of errors by automating data entry as much as possible. Wherever possible use lookup tables for referential integrity and accuracy. Don't make the user memorize code numbers or account numbers - show them text. If a data entry error is made, tell the user HOW to correct it, not just that an error was encountered. Don't make the user feel stupid. Don't make the user do things that the computer should be doing, like sorting entries or making calculations ahead of time.
[color red]
Q: Where can I get more information?
[/color]
A:
http://www.interface-design.net/preface.htm
http://www.webword.com/interviews/cooper.html
http://www.amazon.com/exec/obidos/ASIN/1568843224/wedwordcom/102-7571970-6689744
http://www.useit.com/papers/heuristic/heuristic_list.html
http://www.asktog.com/basics/firstPrinciples.html
http://cfg.cit.cornell.edu/cfg/design/elements.html
http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.