User Interface

What is User Interface?

  • User interface is a design for softwares and machines such as computers, mobile devices etc.
  • It is the first impression of a software where user interacts with a computer or a software system.
  • A software must fulfill the requirement of a user.
  • User interface determines how the information is displayed on the screen.
  • Poor user interface design causes a user to make fatal errors and a software system never used.
There are three types of User Interfaces:

1. Command language
2. Menus
3. Graphical User Interface (GUI)

Types of UIDescription
Command LanguageIt indicates that the user must know the machine language and program language.
MenusIt indicates that the user chooses the commands or menus from the lists displayed on the screen.
Graphical User InterfaceIn this, user gives command by clicking or selecting the icons displayed on the screen.


Why should think about User Interface?

There are following aspects which help to care or think about the user interface:

1. Financial affairs
2. Effect
3. Morality

1. Financial affairs
  • Financial affairs are the important consideration in UI.
  • It helps to recognize how much cost will be incurred for usability testing.
  • Greater usability leads to increased sales and greater competitive advantage for commercial organizations.
  • It helps to reduce the support costs.
2. Effect
  • User-focused resource increases a resource impact.
  • Effect is a vital consideration when creating funding applications.
  • It leads to increased user engagement.
3. Morality
  • All resources have potential users.
  • User interface design is a branch of human computer interaction focused on anticipating user needs and meeting those needs through user-centered design.
  • Moral and ethics helps user to achieve a goal and to expand corporate interests such as the acquisition of personal information.

Characteristics of User Interface

There are eight characteristics considered while making a good user interface design:

characteristics of user interface

CharacteristicsDescription
AttractiveA good interface design should be attractive. It means that the use of that interface is enjoyable. The design should include cool user-friendly features with the visual appeal.
ClearClarity is the most important characteristics of user interface design. The main purpose of UI design is to enable user to interact with the system by communicating with them. If user have difficulties to find out how application works or where to go on the website they will get confused and frustrated and decreases the ratio of your application or site.
ConciseUser will not spend too much time to read the articles, So keep things clear and concise and save the valuable time of user.
ConsistentConsistent interfaces allow users to develop usage patterns. Users will learn what the different buttons and icons look like and user will recognize them and realize what they do in different contexts. A unique design with consistency speaks for a good user interface design.
EfficientA good user interface design allows you to perform different functions of the software application or website faster and with less effort.
FamiliarIf the user design interface is consistent then it is sure to make the users familiar with specific elements. Familiar means that if the user checks out for the first time the interface elements are found at the places expected.
ForgivingSometimes user make mistakes when using the software or website. Handling the mistake is an important indicator of the software's quality. A good interface design should enable user to restore the deleted items which at one point or the other can be done unintentionally. Forgiving interface is one that can save users from costly mistake.
ResponsiveResponsive means the interface provides some form of feedback. The interface design should talk back to the user to inform them about what's happening?. If the user pressed the button, the button should display a 'pressed' state to give that feedback.

Graphical User Interface

What is GUI?

  • GUI stands for Graphical User Interface.
  • It is a program interface allows user to interact with electronic devices through graphical icons.
  • It is easy to learn and use because commands do not need to be memorized. Users do not need to know any programming languages.
  • GUI becomes the dominant operating system used by today's end users because of their ease of use.
  • Using GUI, user can switch from one task to another and can interact with several different applications
  • User can quickly learn to use the system without experience.

How does a GUI work?

GUI includes following basic components.

1. Windows
2. Icons
3. Menus
4. Pointers

  • Window is the area on the display screen where the commonly used application runs.
  • Icon is a symbol or picture which represents an application or hardware device.
  • Menu represents a list of options where the user can choose what they require.
  • Pointer represents an angled arrow which moves around the screen as user moves the mouse. It helps user to select objects and commands.
  • GUI uses these basic components to carry out commands such as opening, deleting, moving files etc.
  • Windows, Linux, Mac OS, Chrome OS are the examples of GUI operating system.
  • GNOME, KDE, Microsoft program such as Word, Excel, Outlook etc. and Internet browser such as Internet Explorer, Chrome, Firefox are the examples of GUI interface.

User Interface Development Process

  • User interface development process is the development of mobile applications or web applications, websites and software development.
  • This process plays a key role in the SDLC (Software Development LifeCycle).
  • The main goal of user interface design is to make the user's interaction as simple and efficient as possible, in terms of achieving the user goals.

user interface development process

The above diagram shows the development process of user interface. It includes four phases:

1. Analysis
2. Design
3. Implementation
4. Testing

1. Analysis
  • User interface analysis focuses on user, task, content and work environment interacted with the system.
  • Analysis defines the human and computer oriented tasks required to achieve the system functions.
2. Design

Interface design defines a set of interface objects, actions and screen representations that enable a user to perform all defined tasks in a manner which meets every usability objective defined for the system.

Design phase includes following terms:

I. Functional requirements determines the initial requirements and goals for the application.

II. User analysis identifies the user scenarios and understand the needs and expectations of users for each scenario.

III. Conceptual design models the underlying business that the application must support.

IV. Logical design processes the design and information flow of the application.

V. Physical design decides how the logical design will be implemented on specific physical platforms.

3. Implementation
  • Interface implementation focuses on the ability of the user interface to implement every user task correctly to achieve all general user requirements.
  • Implementation prototype focuses on the interface and cannot include distracting visual design elements.
  • Implementation constructs the application and prepare for design change requests.
4. Testing

Testing determines the effectiveness of an UI application that must be tested and exposes how easy or difficult the UI is to use for the broadest possible audience.

Testing focuses on two types of testings:

1. Usability testing
2. Accessibility testing

1. Usability testing evaluates a product by studying how real users actually use the system. It provides significant payback only when it is well integrated into the entire project lifecycle.

2. Accessibility testing accesses the test application with accessible technologies and automated test tools.

User Interface Models

User interface models are used to analyzed and designed the user interface.

Following figure shows the different models of user interface:

user interface models

1. Domain Model
  • Domain model is implemented as an object model within a layer which describes aspects of knowledge or activity.
  • This model is a representation of meaningful real-world concepts to the domain that need to be modeled in software.
  • It is used to solve problems related to domain.
2. User Model
  • User model represents the different features of end users and the roles they are playing within the organization.
3. Task Model
  • Task model describes the tasks of an end user which performs and dictates what type of interaction capabilities must be designed.
  • This model is the logical description of the activities and used for designing, analyzing and evaluating interactive software applications.
4. Platform Model
  • Platform model is used to model the physical devices intended to host the application and defines how they interact with each other.
5. Implementation Model
  • Implementation is a representation of how a system actually works and reflected in every interface element.
  • This model is created by the software implementers who work on look and feel of the interface combined with all supporting information which describes the system syntax.
6. Application Model
  • Application model performs a group of coordinated functions, tasks or activities for the benefit of the user.
  • It refers to all applications involved with running the computer.

Guidelines for User Interface Design

User will interact only with the front end, look and the feel of the website or application. They don't think about the back end. The main purpose to engaged user when they visit particular website.

Following are the considerations or guidelines for a good user interface design:
  • The interface design must be a user-centered product and should be incorporated into the final product.
  • The interface design should be simple and intuitive so users can understand quickly and effectively without instructions.
  • Transparency must be in user interface design. It helps user to feel like they are right through the computer.
  • The interface design must be customizable that should be allow users to select objects from various available forms.
  • The interface design must support long-term memory retrieval by providing user's information rather than having to recall that information and reduce user's memory load.
  • The interface must provide easy access to the common features and frequently used actions. Do not try to put every bit of information in one main window, use second window for information.
  • The interface must be component oriented so that the modules can easily modified and replaced without affecting the other parts of the system.
  • The UI design should integrate smoothly with other applications such as MS-Office and notepad.
  • The design must be separated from the logic of the system through its implementation for increasing reusabiity and maintainability.
  • The UI design must provide some indications to the user so that they can understand and acknowledging that the action has taken place successfully.