The user interface is the aggregate of means by which people (the users) interact with a particular machine, device, computer program or other complex tool (the system). The user interface provides means of:
- Input, allowing the users to manipulate a system
- Output, allowing the system to produce the effects of the users manipulation
User Interface Types
Currently the following types of user interface are the most common:
Graphical User Interfaces (GUl)Accept input via devices such as computer keyboard and mouse and provide articulated graphical output on the computer monitor. There are at least two different principles widely used in GUl design. object-oriented interfaces (OOUI) and application oriented interfaces.
Web-Based User InterfacesWeb-based user interfaces accept input and provide output by generating web pages which are transported via the internet and viewed by the user using a web browser program. Newer implementations utilize Java, AJAX, Microsoft .NET, or similar technologies to provide real time control in a separate program, eliminating the need to refresh a traditional HTML based web browser.
Command-Line Interfaces (CLI)Command-line inter-faces, where the user provides the input by typing a command string with the computer keyboard and the system provides output by printing text on the computer monitor. Used for system administration tasks etc.
Touch-InterfacesTouch interfaces are graphical user interfaces using a touchscreen display as a combined input and output device. Used in many types of industrial processes and machines, self- service machines etc.
Tips and Techniques for UIDThe following tips and techniques are commonly using in User Interface Designing.
Consistency: The most important thing you can possibly do is ensure your user interface works consistently. If you can double-click on items in one list and have something happen, then you should be able to double-click on items in any other list and have the same sort of thing happen. Put your buttons in consistent places on all your windows, use the same wording in labels and messages, and use a consistent color scheme throughout.
Set standards and stick to them: The only way you can ensure consistency within your application is to set user interface design standards, and then stick to them.
Use color appropriately: Color should be used sparingly in your applications and, if you do use ii, you must also use a secondary indicator. The problem is that some of your users may be color blind and if you are using color to highlight something on a screen, then you need to do something else to make it stand out if you want these people to notice it. You also want to use colors in your application consistently, so you have a common look and feel throughout your application.
Expect your users to make mistakes: How many times have you accidentally deleted some text in one of your files or in the file itself? Were you able to recover from these mistakes or were you forced to redo hours, or even days, of work? The reality is that to err is human, so you should design your user interface to recover from mistakes made by your users.
Don't create busy user interfaces. Crowded screens are difficult to understand and, hence, are difficult to use.
Group things effectively: items that are logically connected should be grouped together on the screen to communicate they are connected, whereas items that have nothing to do with each other should be separated. You can use white space between collections of items to group them and/or you can put boxes around them to accomplish the same thing.
UI Design PrinciplesThe structure principle: Your design should organize the user interface purposefully, in meaningful and useful ways based on clear, consistent models that are apparent and recognizable to users, putting related things together and separating unrelated things, differentiating dissimilar things and making similar things resemble one another. The structure principle is concerned with your overall user inter"face architecture.
The simplicity principle: Your design should make simple, common tasks simple to do, communicating clearly and simply in the user's own language, and providing good shortcuts that are meaningfully related to longer procedures.
The visibility principle: Your design should keep all needed options and materials for a given task visible without distracting the user with extraneous or redundant information. Good designs don't overwhelm users with too many alternatives or confuse them with unneeded information.
The feedback principle: Your design should keep users informed of actions or interpretations, changes of state or condition, and errors or exceptions that are relevant and of interest to the user through clear, concise, and unambiguous language familiar to users.
The tolerance principle: Your design should be flexible and tolerant, reducing the cost of mistakes and misuse by allowing undoing and redoing, while also preventing errors wherever possible by tolerating varied inputs and sequences and by interpreting all reasonable actions reasonable.
The reuse principle: Your design should reuse internal and external components and behaviors, maintaining consistency with purpose rather than merely arbitrary consistency, thus reducing the need for users to rethink and remember.
Command Line InterfacesShort for command line interface, a user interface common to MS-DOS computers. The user sees the command line on the monitor and a prompt that is waiting to accept instructions from the user. The user types in the command, the computer acts on that command and then issues a new prompt for the next instruction from the user.
CLI Advantages
- Ubiquitous
- Easy to understand
- Supports long-running processes within the one session
- Third-party NMS products can use the CLI for management plane access
- Session-based
- Audit trail is supported
CLI Disadvantages
- Non-standard
- Proprietary-each vendor has its own CLI
- Not very extensible
- Security is proprietary
- Places a burden on the network
- Session orientation limits the number of users
Graphical User InterfacesA program interface that takes advantage of the computer's graphics capabilities to make the program easier to use. Well-designed graphical user interfaces can free the user from learning complex command languages.
GUI AdvantagesThe GUI is much easier to learn than the other interfaces, and it can serve as a starting point for learning the package.
For non-programmers, the GUI is the only interface available. The GUI is also much easier to use than the programmatic inter-faces, since it is easier to point-and-click on buttons than it is to write and debug code'
GUI DisadvantagesOne of the major disadvantages of using any GUI is that if it does not have the functionality to do what you want it to do, then you are simply stuck. lf you want to continue to use the GUl. your only option is to prevail upon the developers to put into the GUI what you want (or to write your own GUI if you are talented and ambitious)