Good Graphical User Interface Design Computer Science Essay

Published: November 9, 2015 Words: 1189

User interfaces are very common in today's world of IT systems but not every interface is usable. As two systems are being created for Booths which will both have interfaces this section looks into the good and bad aspects in interface design.

Not thinking about the user: As a developer it is easy to fall into the trap of designing what you know rather than what the user does. This applies not only in design but also in testing and documentation. According to the BCS most software failures are due to bad design and testing. Not thinking about what the user knows can be harmful as any interface designed without the user in mind immediately makes the user feel unable to use the product.

Failing to give control to the user: Some developers like to blacken and grey user navigation but true event driven design is all about letting the user dictate what events occur. A user may not wish to be controlled in such a way. Users should be able to find an element of satisfaction and be empowered by the GUI.

Overkill on navigation and features: Too many navigation buttons or features is not a good design. Frequently used features should always be easily available for the user but having too much can become confusing and frustrating for the user. It is always worthwhile considering and analysing which features and navigation should be more prominent and not putting everything on the first interface. Instead careful consideration should be given to create logical and easy to understand navigation.

So how can a successful GUI be created and what rules should be followed when designing interfaces for booths?

Good Design Rules:

A successful GUI should be speedy and responsive a lot of speed issues are a result of the design of the GUI and not the hardware, in addition the use of real world metaphors i.e. when using graphical representation the graphic should identify and be intuitive to the user which will help the users learn the application faster. Given this information let's now look at how a user interface can be successful:

10 Good Design Principles:

Understand Individuals: People learn more easily by recognition than by recall. Therefore providing data values instead of expecting the user to key in values from memory is a better design.

Hobart says:

"The average person can recall about 2,000 to 3,000 words, yet can recognize more than 50,000 words." Hobart (1995)

Therefore a good application should reflect the perspectives and actions of the individuals.

Be aware of people's perspectives: When using icons in an application they must be meaningful and understandable to the user. Graphics can help make an attractive application but if the icons are not understood by the user then the system will be of no use to the user. Careful consideration should also be given to speed when using graphics, after all if an application looks "pretty" but takes a long time to load due to graphics then this is unacceptable.

Clear cut design: Often applications are unclear to users, a useful tip is to develop a list of reserved words this will aid to give the user a clear set of terms and be consistent. If one screen says "product" and another says "item" even though both words refer to the same thing, this causes confusion and frustration for the user. Having defined words eliminates this frustration.

Be consistent: Good interfaces are built upon user's prior knowledge and should always use consistent behaviour to provide a successful application. Colour schemes should also be consistent and no more than 5 colours should be used in any system, menus should also be limited to around 7 items per menu.

Give clear feedback: User's appreciate having an indication of how long a given event will take should it be longer than a few seconds. Ever been frustrated waiting for a flash slideshow to display on a webpage with no indication of how long it will take before it is displayed? If your application requires a little waiting time before an event is triggered or a result is displayed then simply having a load dialog with a countdown will help reassure the user that something will be displayed. In the same way if a user enters a new order record, simply having validation messages to say order accepted or rejected aids to give the user a more fulfilling experience.

Keep it simple: Clear and concise wording of error messages, text labels and online help is a necessity. Using lots of words or overloading the user with jargon will only annoy the user and will not give clear feedback causing further frustration and annoyance.

Have a traceable path: For a user there is nothing worse than not knowing where you are in an application and how to get back to a previous screen or being able to return to a main menu from any point. Traceable paths and being able to return to a main menu or screen from any point is essential for the user. In web design simply having a breadcrumb trail and limiting cascading menus to no more than two levels helps make a good GUI. Similarly in software applications using descriptive titles and having a button that allows the user to "return to main" provides a good path for the user.

Keyboard Support: Often it is assumed that users will use a mouse as the main interaction device, however this can be frustrating if you're a touch typist and prefer to use a keyboard and shortcuts. Using a mouse can at times become inefficient and time consuming, for instance simply setting the focus to the first input text box when opening an input interface from a menu saves the user having to use his or her mouse to click in the text box. Some users prefer to use the keyboard some prefer to use a mouse so having a good balance of equal keyboard and mouse support for menus and window operations is another important aspect of creating a good user interface.

Correct use of controls: These are the visual elements that allow the user to interact with the application such as menu bars, check boxes, drop down lists etc. Each control will have an expected behaviour. Choosing an appropriate control for each user task will result in less error rates, give higher satisfaction and result in higher productivity. Controls should be consistent throughout the application.

Create a good vibe: One aspect that ties all these individual aspects of good interface design together is the look and feel of the interface. The interface must be consistent, have a pleasing colour scheme to the user and use logical menus that are easy to understand. In essence the interface should allow the user to interact and have a sense of how to interact with the next control or screen.

Designing and creating good interfaces is an essential skill for the developer and necessity for the end user. The design must make the user enjoy working with the system for it to be productive and consistency is key within the GUI environment.