Tipswip   >   Windows   >   User Interface

Buttons

Locate buttons along the bottom of the window.

Right justify the buttons along the bottom.

Okay/Default button is always furthest to the right.

Cancel/No button is next to the left.

Other buttons are to the left of the Cancel/No button.

Center justify the text in buttons. Use plain text.

Colons

":"

The industry standard has been to append a colon ":" on the end of every label. I feel that is an old habit from the 'command line' green screens. Going against the industry standard, I do not append colons on my labels.

Context Menus

The basic application should run without using any context menus. Context menus should be geared towards the advanced user.

Drag and Drop

Don't require users to drag and drop between lists. It is a GUI option. Allow the user to be able to select lines and click arrow buttons to move data between lists.

Ellipsis...

Always use ellipsis on Menu and Buttons when another window is opened which will require user input. (A prompt window)

Do NOT use ellipsis if the command simply opens another window.

Error Messages

Write code to avoid the need for them. :-)

Error messages viewed by the user must be in user friendly language. Error messages must not simply state the problem. They must help the user to solve the problem. A further level of information for the programmer should be available. Using a window expander triangle?

Field Focus

I would like to indicate to the user which field has the focus. The plan is to change the field border color/style on the field with focus to a suitable color. (Blue?)

I plan to implement a field events handler to do this. The field events handler will be called by the $control method of the windows to avoid a lot of code in the individual fields.

Font and Case

Be VERY consistent with the use of fonts throughout the entire application.

UPPER CASE, LOWER CASE, MIXED CASE

LABELS, MENUS, BUTTONS
Use capitalized words, except short words like: and, or, from, to, of, a, as, an

MESSAGES
Use normal sentence structure, grammar and capitalization rules. If referring to a window name, menu item, or field label, use the exact same words and capitalization as the window name, menu item, or field label.

Menus

If a menu has a matching toolbar button, include the same icon in the menu. This helps user learning. Create shortcut combination keys for commonly used menu items.

Provide keyboard equivalents for the wintel platform. (The unique letter underlining thing). I admit to not yet having done this latter item in my application.

Message File

Use a message file (String Table Editor?) for storing all menu items, button names, tooltips, error messages.

OK and ID

The shortform for "Okay" is "OK". (not "Ok")

The shortform for "Identification" is "ID". (not "Id")

Toolbar Buttons

Toolbar buttons are a great User Interface.

Toolbar buttons should not be a mirror of the menu items. Toolbar buttons should be for higher frequency use commands.

Tooltips

Only use tooltips when they will give additional information. Never have a tooltip that says the same as the label/button text.

User Interface

I don't have a lot of experience or expertise in designing a proper User Interface.

This section is just a collection of ideas and guidelines which I have been collecting along the way. I've been reading a couple books on User Interface and am using this section for saving my reference notes. Don't take the information in this section too seriously. These are not guidelines for everyone. Read and decide for yourself.

User focus

Users tend to read a window from top left to bottom right. The top left and bottom right get good attention from the users. The "sweet spot" is dead center.

The top right and bottom left get the least attention from the users. If you use graphics, (or less important info) put it in the top right and bottom left corners.

Thanks to Mischa Klement for his 'User Psychology¹ session at Euromnis 2000.