As Featured On EzineArticles
By Narain Balchandani

Business analyst must know the process by which user interfaces are designed.

He should be aware for design constraints and plan accordingly.

User Interface Design deals the way in which users interact with the system. The three fundamental parts of the system areNavigation mechanismi nput mechanism and output mechanism. 

Principles of User Interface Design
The goal of interface design is to make it simple to use. The fundamental interface design principles are common for all the navigation, input and output mechanisms. 

Principle Description 
Layout It refers to the area on the screen used. Mostly the top area is used for navigation,
middle area for input or output and bottom area for status information. 

 User should know where they are and what is being displayed with less effort. 

Aesthetics Interface should be designed in such a way that it is pleasing without loosing much space. 

 Designing the user interface keeping users level of computer experience in mind. 

Consistency It helps predict the result of a function and is an important element to ease learning. 

Minimize User effort Interface should be designed to minimize the effort by using fewest mouse clicks or key strokes to finish a task. 
User Interface Design Process
It is a five step process which is not sequential and is iterative.

Use Scenario Development enables users to quickly and smoothly perform the scenario.

Interface Structure Design helps analysts develop the Interface Structure Diagram (ISD) or the basic structure of the interface. This diagram shows the connections.

Interface Design Standards or the basic design elements on which interface in the system are based.

Interface Design Prototype is used for all the individual interfaces like navigation control, input screen, output screen etc.

The individual interfaces are subjected to Interface Evaluation to evaluate the improvements needed and satisfaction.

Your browser may not support display of this image.

Use Scenario Development
It is one commonly used path by the user to accomplish a task among many use cases and data flow diagrams that consists of many ways to complete a task.

Interface Structure Design (ISD)
It defines how the basic components of the interface work together to provide functionality to the user. ISD’s  show how the screens and forms are used by the system and several ISD’s are used one for each major part of the system.

Interface Standards Design
Different applications need different sets of interface standards for different parts of the system.

Interface Metaphor
An interface metaphor defines the working of the interface and is used as a model for the computer system. Metaphor can be explicit or implicit. In explicit metaphor users type information into an onscreen form that looks like a real form. In other cases metaphor is implicit or unstated.

Interface Templates

It defines the general appearance of screens and forms that are used. The design of the templates and the order of the actions are specific.

Interface Objects
This template defines the interface objects that form the entities and data stores.Interface Action

This template specifies the navigation and the command language style. Example “Buy” versus “Purchase” etc.

Interface Icon
Interface icons represent objects, actions, and their status.

Interface Design Prototyping
Interface Design Prototyping shows how the computer screen looks for a form or a report or it simply mocks. The most common approaches to Interface Design Prototyping are

Story Board
In story board the hand drawn pictures of the flow of screens from one to other is depicted.

HTML Prototype
HTML Prototype which is very common is built using web pages created in HTML (Hypertext Mark-up Language). Designer creates a series of web pages that show the fundamental parts of the system the user can interact with. HTML Prototypes are superior to story boards. They enable us to gain better sense of navigation among different screens. The only limitation is that they never appear like the real screen.

Language Prototype
Language Prototype is built using the language tool which is used to build the system. It is designed the same way as HTML Prototype. 

Disadvantage It takes longer to build than story board or HTML Prototype.

Advantage It shows exactly how the screens look like. 

Selecting the Appropriate Technique
Different Design Prototyping techniques are used for different parts of the system.

Story Boarding is fastest, least expensive and is a least detail approach.

Language Prototype is slowest, more expensive and is most detail approach.

HTML Prototype falls between the two extremes.

Story Boarding is used when interface is well understood. HTML Prototype and Language Prototype is used when the interface is not well understood.

  Interface Evaluation
Interface design is subjective and evaluation is all about improving its design. At least 10 potential users are involved in the evaluation process. Evaluation is performed before building the system i.e. while it is being designed so that problems can be identified and corrected.

Four common approaches for evaluation are

Heuristic Evaluation
In Heuristic Evaluation the interface is compared with a set of principles for interface design. At least three members involve in the project. After each member has gone through the prototype separately then improvements required are evaluated. It is the weakest evaluation.

Walk-through Evaluation
In this evaluation meeting is conducted with the end users. The project team shows the story board or demonstrates HTML or language prototype and explain the usage and the users identify improvements.

Interactive Evaluation
Here the users work with the HTML or language prototype in one-on-one sessions with the project team. Then the user alone interacts. During this session all the mistakes and misinterpretations that the user performs with the interface components are recorded. If mistakes recur with several users then it indicates that those parts of the interface need improvements.

Formal Usability Testing
In this testing is done in one-on-one sessions by users who work with the software. Special lab equipped with video cameras and software tools that record each and every key stroke are used.

User is given a specific set of tasks to complete. After instructions from the project members, the user must work with the software without help. It can be hard if the user becomes confused with the system. The goal is to test the interface and an incomplete task indicates that the interface has failed. This testing is expensive.

Navigation Design
Navigation Design helps making a system as simple as possible. All the controls need to be clear and understandable so that they can anticipate users work and simplify it. 

Prevent Mistakes
Mistakes are reduced by limiting the choices and by labeling commands and actions appropriately.

Simplify Recovery from Mistakes
Making it easy to correct the mistakes.( Like using the “Undo” button in MS word).

Use Consistent Grammar Order
The interface requires the user to first choose the object and then the action (object-action order)

Types of Navigation Controls
Devices like keyboard and mouse are always used for navigation. Basic software approaches for defining user commands are

In Command Languages user uses languages like UNIX and SQL to enter commands. They provide flexibility but it is a burden on the user to learn syntax and type commands. Natural language interfaces understand the user’s language (e.g. English).

Menus give the user a list of choices to select. Broad and shallow menu presents the user with more information than narrow and deep one. Except for complex systems menus don’t generally contain more than eight items.

Common types of menus include menu bars, drop down menus, pop-up menus etc.

Direct Manipulation
In Direct Manipulation, the user works directly with the interface objects. In MSPowerPoint objects can be made big by clicking on the objects and moving the sides. Direct Manipulation is simple but the two problems are

Users familiar with menu based interfaces don’t expect it

Not all commmands are intuitive.

A system responds to a user through messages informing of the status of interaction. Messages should be clear, concise and should be grammatically correct. Types of messages include

Error messages

These messages provide a number which makes the help desk easy to identify the problems.

Confirmation messages

Acknowledgement messages

Delay messages

Help messages 

Input Design
It allows entry of data into the computer system. The goal is to capture accurate information. Fundamental principles for input design areUse Online and Batch Processing Appropriately
General process of entering input into a computer system is through

Online processing or entering each input item individually. It is mostly used for updating real-time information.

Batch processing or updating inputs collected over a period of time. Batching simplifies data communication and cuts cost.

Capture Data at the Source
Data is captured in an electronic format at the source. Source Data Automation refers to using special hardware devices to automatically capture data without requiring any one to type it. Similar technologies include Optical Character Recognition or reading printed numbers and text, Magnetic Strip Readers or reading information from a strip of magnetic material similar to a diskette. RFID(Radio Frequency Identification) combines microprocessor chip with an antenna to broadcast its information to electronic readers.Minimize Keystrokes
System should never ask for information that can be obtained in another way. E.g. retrieving data from a database

Types Of Inputs
Input is linked to a field on the form into which the value is typed. Each field has a field label which is similar to the name of the data element. Different types of inputs are

Text box

It is used to enter text

Number box

It is used to enter numbers

Selection box

Types of selection boxes are Check box, Radio button, On-screen list box, Drop-down list box, Combo box etc.

Input Validation or Edit Checks
Computer systems do not accept data that fail validation checks.  

Types of Validation Checks Explanation
Completeness Check Ensures the entry of  required data

Format Check Ensures data is of right type and format

Range Check  Ensures numeric data are within the minimum and maximum values

Check digit Check Check digits are added to numeric code

Consistency Check Ensures combinations of data are valid

Database Check  Compares data with data base to ensure they are correct.

Output Design
Outputs are the reports produced by the system. Its goal is to make the user understand with least effort. Fundamental principles for output design areUnderstand Report Usage
Reports are designed depending on their usage. Web reports are long and scrollable. Reports to find specific information should be broken into multiple pages with separate links. Real time reports are accurate where as Batch reports report historical information. Real time reports are expensive and the extra cost is not worth unless they have a business value.Manage Information Load
A well designed report provides all the information required for the task. Load is well managed by presenting the most important information in the top left corner of the screen.Minimize Bias
Data is sorted depending on the situation and the order of presentation should match the way information is used to minimize bias. For example a monthly sales report is arranged in descending order by the amount sold and not in alphabetical order. Types of Outputs
Paper and electronics are the two mostly used types of media to produce reports. Types of outputs or reports are as follows

Detail report
Lists the detailed information about all the items required.

Summary report
Lists summary information about all items.

Turnaround document
Outputs that turn around and become inputs

Charts used in addition to and instead of tables and numbers