In your practical Java coding projects attention must be given to GUI design. This is not only important for appearance but because a badly designed interface is prone to user errors.

Appearance – Colour.

Your GUIs should have a primary colour, a secondary colour and a tertiary colour.  The tertiary colour is only used for highlights, accents, borders etc.  These three colours should work harmoniously together. There are websites that can provide “colour palettes” for your PAT project – see alongside.

Obtain the RGB values for the colours you have chosen to achieve consistency throughout your PAT.

Layout.

Uncluttered (but not “empty”). The available space has been well used make reading, structure and meaning easy to understand. Everything is visible without scrolling.

Fonts.

Fonts are chosen with readability in mind. Many fonts that ship with Ms Word for example are utterly useless because they make reading unpleasant.

Consistency.

Fonts, colours, layout and size are consistent on each GUI and consistent with all the other GUIs in the program. Headings, sub-headings, labels, text boxes etc all line up with one another from left to right and top to bottom.
NOTE: Students who have a strong background in graphic design will know how and when to deviate from this guideline.

Size.

Heading and sub headings must be bigger but the normal text must not not remind us of a grade 1 class reader. If a person has challenges with their eyesight they can zoom in or use any of the special accessibility settings made available by Ms Windows.

Structure.

Headings and sub-headings are used to assist the user to understand structure.

GUI components.

Use check boxes, radio buttons and drop down lists to reduce user induced typing errors. Your action buttons should be appropriately  and consistency sized with appropriate font and colour choices that match the rest of your program.

GUIs only achieve one task.

GUIs are simple. Each GUI is embedded into a “program flow” where one task flows to the next logical GUI; each GUI therefore only achieves one task.

Images.

Images are encouraged but they must be helpful, well chosen, uncluttered and appropriate.  Images used for GUI backgrounds must not obscure the labels and text boxes and must assist with context and meaning. Images can be used on more than one GUI to achieve meaning and context.

Prompts, labels, messages, error messages, help, validation and feedback.

All of these must make using the program easy to use, even when the user makes a mistake. The prompts must be clear. There should be context sensitive help files that you can open to get more information – these are just ordinary text files behind a “Help” action button.

When a user does something there should be feedback e.g. “New record has been saved to your database”.

When a user does the wrong thing there should be an error message e.g. “Please fill in only one first name”.

When the program encounters a problem the error message should be helpful. e.g. “The database could not be found. Please ensure it is saved into the project folder.”

There should be validation for user input e.g. “Your date of birth is not in the correct format. Please re-enter using the following format YYYY-MM- DD.” However, do not go overboard with too much validation because the rubric limits the amount of credit you can receive.

Validation checks are as follows – has the user entered the data asked for (presence), has the user provided data in the correct range, is the entered data unique, is the data too long or too short (length), is the data entered of the correct data type, is the provided data logical, and finally “check digit” and “check sum” (not needed in your PAT)