Designing User Interface : Part – 1

Computers, IT, ITES, Software, all deal with one thing – “Information”.
“Information” to be useful, needs to be processed correctly; over and above it has to be Presented Perfectly.
An accounting balance sheet is just a fact of some figures, which we can very well list it down as credit/debit. But is useful only when presented in table format, with Debit and Credit in each column, with transactions lying side by side, which helps understand the figures. To summarize, it should be “Usable”

Evolution of Yahoo Mail over time
Evolution of Yahoo Mail over time

A general definition, as provided by ISO 9241-11 (1998), defines usability as follows:
Usability is the extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction in a specified context of use.
Graphical User Interfaces (GUI) have captured users of systems, which makes them just feel that one is better than the other. The first generation of GUI started when Macintosh was introduced by Steve Jobs from Apple Computers. It was then popularized by Windows. Even the command line only, robust UNIX had its GUI enabled versions later.
Usability Design Principles
The goals of interface development are to produce a system that is

  1. Useful
  2. Usable
  3. Desirable

Following these 17 general principles strongly assist in meeting these goals.
The design patterns in the following pages include references to the principles listed below. Refer to this list for a complete definition of each principle.

  1. Affordance/Task Support – The system should support end-user’s tasks. It should easily support the critical tasks users need to perform. The user should be able to find the key tasks in the user interface; they should not be hidden.
  2. Navigation – The system should be easy to navigate. The users should easily be able to discern where they are and what navigation paths are available to them. The language used on navigational controls (links, buttons, menu choices) should
    give the user a very clear, unambiguous understanding of what will happen when that control is used (such as, labels on controls should be self-evident).
  3. Relevance and Aesthetics/Visual Design – The interface should not contain any unnecessary information, i.e. information that is not pertinent to user’s goals and tasks. Such screen clutter may negatively affect user performance. Too much information, extensive color coding and irrelevant content creates negative impressions with users. To support good aesthetic design, the interface should use readable fonts and appropriate colors and should provide adequate white space. In addition, the interface layout should be structured to help users scan the page easily (i.e., to rapidly identify the task-relevant information and quickly ignore large chunks irrelevant information in a single glance). One approach is to use grouping and subheadings to break a long, complicated page into several smaller units.
  4. Consistency and Standards – The system should use consistent language throughout the interface and across the suite of applications that are used together. To make user recognition easier, the placement of UI elements should also be consistent throughout the interface and across the suite. Unless otherwise approved by the User Experience team, the UI should conform to the EnterpriseOne User Interface Standards.
  5. Conventional Widget Behavior – Interface widgets (e.g., drop-downs, check boxes) should perform the same functions throughout the interface and across the suite of applications. This behavior should be consistent with conventional widget behavior (e.g., radio buttons afford one choice from two or more options; check boxes can appear inpidually or in a set and allow multiple, simultaneous selection).
  6. Terminology/Match – The system should use the user’s language in text, labels, concepts and metaphors. Graphics and icons should be meaningful and map to the user’s real world rather than to the development world.
  7. Feedback/Visibility of System Status – The system status should be visible (and easily apparent) to the user at all times. The system should provide appropriate feedback to the user at the right time.
  8. Error Prevention and Recovery – The system should avoid error situations for users. For example, field entries should be validated to prevent error situations. Recovery from such errors should be easy. Such error messages should be written in plain language that precisely indicates the problem and constructively suggests a solution or recommended course of action.
  9. User Support/Recognition not Recall – System objects, actions and options should be visible to the user. The user should not have to remember information from one part of a task flow to another. Instructions for use should be visible or easily retrievable whenever appropriate.
  10. User Control – The system should provide the user with a ‘graceful exit’ at all times. Where possible, the user should be allowed the ability to correct a mistake with functions such as redo and undo.
  11. Efficiency and flexibility – The system should support both novice and expert user types by providing alternate ways to navigate (for example, keyboard, menu accelerators). The system should also allow users to tailor frequently performed tasks; for example, creating quick shortcuts, macros.
  12. Learnability – The system should be easy to learn. Task flows should follow user work patterns and expectations so that no or minimal training is required.
  13. Help and Documentation – Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Such information should be easy to access, easy to search, focused on the user’s task, list concrete steps to be carried out, and not be too large.
  14. Spelling and Grammar/Language – The interface should be free of all spelling and grammatical errors. To facilitate  internationalization/localization, the interface should be free of idiomatic terms.
  15. Accessibility – The system should be designed for people with disabilities, according to Section 508 of the ADA. This includes using alternate text for each UI image, implementing consistent keyboard navigation, using more than simple color coding to indicate status, and refraining from using blinking text or images.
  16. Attitude/Desirability – The user’s interactions with the system should enhance the quality of her or his work-life. The user should be treated with respect (e.g., no insulting or derisory language). The design should be aesthetically pleasing, with artistic as well as functional value.
  17. Privacy – The system should help the user protect personal or private information, whether that information belongs to the user or the user’s clients.

We will make use of these usability principles towards designing JD Edwards EnterpriseOne Applications going ahead.
References
http://www.useit.com/papers/heuristic/heuristic_list.html
JD Edwards EnterpriseOne User Interface Design Patterns 8.12, Version 1

Leave a Reply