Customer Portal

Usability and Interface Design

The Graphical User InterfaceThe popularity of Graphical User Interfaces (GUI) clearly identifies them as the interface of choice. As such, a good interface design begins with designers and developers incorporating and following industry guidelines and “best practices” including those concerning “usability” characteristics to promote versatility and ease of use. These design principals may be applied to both software development and web design. Some benefits of planning a good interface design are keeping long-term development cost down, reduced training and support costs, and an overall satisfied and productive end-user.

The most important part of development is keeping the end-user in mind. Often times, products leave the end-user feeling incapable or uneducated when usability is difficult. The interaction between the end-user and an interface or tool, clearly defines usability, and completing a job with ease depends on the effectiveness and efficiency of the tools being used. By adopting universal design principals and making usability easy; trends show that this reduces fatigue, increase speed without increasing errors, and reduces learning curve time.

Whether designing a GUI or another type of tool, using a visual design to create and edit an interface can be extremely beneficial. It is very important to design on a user’s level, thus a well designed GUI uses consistency throughout and share common characteristics using the end-user’s prior knowledge to achieve success. By using the same terminology throughout, including buttons, confusion can be reduced to a minimum. Try to provide the end-user with a list of data values from which to choose, considering that people as a whole tend to learn more easily by recognition than by recall. The use of a common ‘reserved words’ list is suggested, like the one listed below:

  • Open
  • Close
  • Save
  • Save As
  • Cut
  • Copy
  • Paste
  • Undo
  • Cancel
  • Exit
  • Ok
  • Help

Familiarity helps to reduce anxiety or the feeling of being lost or helpless, therefore, with the use of meaningful words and icons, an end-user may have a more uplifting experience. Users should have a sense on how to interact with the next screen or control, and by simply allowing actions, options, and objects to be visibly available without having to recall certain information, tasks then can be completed without complication. Visual elements are associated with certain characteristics and behaviors and are the tool that allows the end-user to interact with the application. Keeping this in mind, choose them wisely.

Usability is truly the key to a successful application, and paving the path for the end-user to get there relies on the foundation. A GUI should have a home page that is full featured yet not cluttered, and have information appear in a natural and logical order. Good navigation is extremely important, and should be simplistic and intuitive. Don’t overload toolbars with rarely used button, or items that should be seen only in drop-down lists. Designing with symmetry can bring an orderly feel, which can be accomplished by using and grouping standard GUI features such as pull-down menus, dialog boxes, and toolbar buttons. Providing traceable paths and a way out or back by supporting ‘undo’ and ‘redo’ will not leave the end-user wondering how they got there and left feeling lost.

When it comes to undo or “escaping”, there is no greater feeling of escape then when speed becomes an issue. If processing is slow, users tend to abandon the situation and move on. Abandonment may be avoided by providing visual feedback. Instead of the never ending “hour glass”, notify the user how far along into the process they are (percentage indicator) or how much longer the process may take (dialog message). Errors are another reason for abandonment issues, and minimizing errors should be the number one reason for testing and re-testing. If an error does occur, the dreaded “Error Messages” should be informative to the user, not confusing. Keep the message clear by using text not code, and suggest a constructive solution. Include some form of searchable help and documentation to support the end-user and keep frustration down.

Flexibility is another important aspect of usability, by giving choices, and allowing for customization of settings, the end-user has more control and becomes more confident in their ability to accomplish tasks. Another example of flexibility is audible feedback. Allowing users to turn off unnecessary sounds or only use sounds when warning of impending problems or situations that need immediate action or to caution that proceeding further could cause damage or loss of data.

Flexibility also applies to keyboards, having certain options such as arrow keys or accelerators like the F3 or Ctrl-P command keys for example, give the end-user just another option. Although keyboards are an efficient way in which to enter text or data, they have limitations in a GUI, so provide equal support for mouse and keyboard for all menu and window operations for best usability.

Good GUI designs don’t just happen, designing a good GUI or application consists of understanding the principals and applying them. Designing a GUI that has a positive affect, and is enjoyable working with takes learning and applying standards and principals to the design. By keeping standards and consistency throughout, the end result will generate lower error rates, greater productivity, and a higher overall satisfaction for the end-user.