User Interface Design is a process of designing or fabricating the interfaces through which the user can communicate with the computer. It the software engineer who accomplishes the task of designing the user interface. Software engineer makes it sure that the user interface is easy to understand, achieve goals, good to use, encouraging and forgiving.
In this section, we will study user interface design in brief along with the rules that are considered while designing the user interface. We will also take note of the principles and guidelines that are considered while designing the user interface. Further, we will discuss the steps to design the user interface.
Content: User Interface Design
- User Interface Definition
- Golden Rules to Design UI
- UI Design Principles and Guidelines
- User Interface Design Steps
- Key Takeaways
User Interface Definition
The user interface is a device or a program (application program) which facilitates the user to communicate with the computer, in order to convey the computer what they want to do or what they want from the computer. The user interface is what the users see when they use the computer. As in the image below, whatever you see on the computer screen is a user interface.
The user interface can be categorized into three types those are:
- Command-line Interface
- Menu-Based Interface
- Graphical User Interface
1. Command Line Interface
The command-line interface was the only mode of interaction with the computer in the starting days of computing. With the command-line interface, the user has to communicate with the computer using the textual instructions or we say commands. For example, if one needs to delete a file from the system. the command would be:
But, this kind of user interface is not user-friendly as it is hard to learn such commands, even they can be error-prone and unforgiving if an error occurs. Such an interface may be irritating. So, the command line interface was not meant for the casual user but the experienced users generally prefer command-line interface.
Example: Unix operating system
2. Menu Based Interface
It is somewhat easy than the command line interface as users interacting with menu-based interface ‘do not have to learn the command name’, nor it had to put efforts in writing the commands. As here, the user does not have to type the commands the syntax error is automatically avoided.
A very popular example of a menu-based interface is ATM. A user uses menu buttons to select the options from the menu.
3. Graphical User Interface (GUI)
Over a period of time, there has been a tremendous evolution in the computer’s user interface. As today’s computer have a high-resolution screen with pointing devices (mouse). The modern-day computer’s interface has windows, scroll bars, text boxes, buttons, icons, menus and to pick and point them we have a mouse.
Graphical user interfaces are easy to learn as compared to the command-line interface. GUI provides multiple windows to the user at the same time, to interact with the system and even the user is allowed to switch between the windows.
Golden Rules to Design UI
Theo Mandel an interface designer has put up three golden rules in his book on ‘interface design’ which must be considered by the software engineers while designing the user interface. As it helps the software engineers to design a user-friendly interface.
The golden rules are as follow:
1. Place the User in Control
An interface designer may enforce some constraints to simplify the creation of an interface but, it may result in an interface that is annoying to use. So, while introducing the restrictions and constraints the designer should be intended to simplify the interface. Well, there is a lot more to place a user in control while interacting with the system.
- The user must not be enforced to perform undesired actions. Like, if spell check is enabled in a word processor it should not restrict the user from editing a text in between the spell check.
- User must be allowed to choose its interaction mechanism while interacting with the user interface. The user must be free to interact via keyboard, mouse, digitizer pen, touch screen or voice recognition. But, as we are aware that every action is not responded by every interaction mechanism. Like, we cannot draw a shape using the keyboard command.
- User must be allowed to interrupt the interaction between the sequence of actions. Like, if a user is interacting with word processor he can interrupt and switch to PowerPoint without losing his work. The user must also be able to undo his action.
- The user often performs the same sequence of action while interaction. So, the user must be allowed to personalize the interface or design a ‘macro’ to ease the interaction.
- The interface should not take a casual user into technical internals. The user using an application must not be worried about the operating system or file management etc.
- User senses the control over the interface if he is able to interact with the objects directly. Like, changing the size of an object or dragging it to a different location makes the interaction of the user directly with the object.
2. Reduce the Users Memory Load
If the user has to remember more while interacting with the system, it will be more prone to the error. So, an interface must be designed such that it reduces the user’s memory load.
- An interface should be designed such that it must remember the user’s past actions, inputs and results.
- The by default elements of an interface must be designed such that they suit the average of users. But, the user must also able to change the defaults. The reset option must be there.
- The interface should have shortcuts which are easy to remember.
- The visuals of the interface should be like a real-world scenario.
- The interface should disclose the information in a progressive way. For example, if the user chooses to colour the text, it will select the ‘Font colour’ button, which in a progressive way will show a set of all colour available.
3. Make a Consistent Interface
All the visual interface of an application should retain throughout all the screen displays.
- Allow user to recognize the context in which it is working.
- Make changes to the current interface only if you have reason to do so.
User Interface Design Principles and Guidelines
Overall there are three principles for a user interface design:
- Learnability: The interface must be easy to learn and understand.
- Flexibility: The interface must support a variety of interaction mechanism.
- Robustness: The interface must provide proper feedback to let the user understand what is going on in the system.
There is a huge list of guidelines but here we will discuss some examples of guidelines for designing the user interface:
- The user must be asked before any destruction action.
- The amount of information that must be remembered between two actions must be minimal.
- The number of input from the user required during interaction must be reduced.
- The commands that are irrelevant to the current action, must be deactivated.
- To categorize the type of activities different windows should be used.
User Interface Design Steps
Designing the user interface is an iterative process which can be defined with the help of a spiral model. The designing of an interface starts from the mid of the spiral.
The spiral model encompasses four different frameworks those are:
- Interface Analysis and Modelling
- Interface Design
- Interface Construction
- Interface Validation
Interface Analysis and Modelling
Before you proceed to design any solution, you need to know what you actually have to design for. In this framework, you have to study the profile of the user who is going to use this interface.
In this phase, the designer has to understand the people who will interact with the system using the interface. What type of task the user has to perform to achieve the goal? Further, the designer has to investigate the content that has to present as a part of the interface.
The designer also has to analyze the environment where the user will interact with the system via an interface.
After the completion of interface analysis, the designer identifies the task that the end-user requires. Interface designing is also an iterative process. The designer first identifies the objects and the operations that can be performed on those objects.
The designer also has to define the events that would change the state of the user interface. Further, the designer has to outline each state of the user interface, as it would appear to the end-user.
After identifying the objects, operations and events the designer creates a prototype. This prototype helps in the evaluation of the real-world scenario. This process is also iterative and the construction continues till the prototype is approved for conducting real-world scenario.
In this face, the interface is validated on the basis that if it has the ability to perform user task along with all the variations that will occur in the real world. Like, whether the interface is able to perform all general user tasks? whether it is easy to use and understand and can be accepted as a useful tool?
- The user interface is a medium through which the user interacts with the system.
- The user interface is classified into three types, command-line interface, menu-based interface, graphical user interface.
- The user interface design can be categorized into four frameworks, interface analysis, interface design, interface construction & interface validation.
- In the interface analysis phase, the information is gathered regarding the need of end-user.
- In the interface design phase, the object events and operations are identified that would be required in the user interface.
- In the interface construction phase, the prototype of the actual interface is created and is refined by an iterative process to construct an interface.
- In the interface validation phase, the interface is validated in the real world scenario.
So, this was all about the user interface and its design. User interfaces keep on modifying based on the feedback received by its end users.