User Interface Design

Interface @Image courtesy of Stuart Miles/

User Interface Design

Welcome to CodeSpread!

What is a User Interface?

Webopedia says “Abbreviated UI, the junction between a user and a computer program. An interface is a set of commands or menus through which a user communicates with a program.The user interface is one of the most important parts of any program because it determines how easily you can make the program do what you want. A powerful program with a poorly designed user interface has little value. Graphical user interfaces (GUIs) that use windows, icons, and pop-up menus have become standard on personal computers.”

As per our definition “User Interface is what you see. User Interface is the bridge which facilitates the interaction between human and machine by rendering the information or performing the operation as per the expectations of humans”

What is a User Interface Design?

Wikipedia says “User interface design or user interface engineering is the design of computers, appliances, machines, mobile communication devices, software applications, and websites with the focus on the user’s experience and interaction. The design process must balance technical functionality and visual elements (e.g., mental model) to create a system that is not only operational but also usable and adaptable to changing user needs.”

Just by applying some previous knowledge to design UI can make the difference,the aim is to create interfaces that are easy to use and easy to understand, that meet the needs of the intended users, and that support users in the tasks they wish to undertake.

Parameters of a  Good User Interface Design?

Usability : These are the needs satisfied by the interface functionality.UI extends usability when it fulfills the needs of the targeted users — users for whom the
system has been designed and developed. Next, the scope of interface is extended by looking beyond the users’ immediate work environment and looking at the wider context or situation within which the system is expected to operate Thus, usability is concerned with the extent to which users of an application are able to work effectively, efficiently, and with satisfaction in their particular contexts.

First Time Use: How many of us can find it simple to operate a machine if the UI is easy to understand? If UI cannot make an impact in terms of understanding and learning at the first instance then there is a big reason to worry.

Efficiency:  Ok, Now we are accustomed to the interface but still it takes lot of time to complete a simple task and lot of steps in UI is the culprit of that. Why not reduce this time and achieve efficiency. Users love efficient UI.

Returning Users Memory: When there is a returning users, he should be able to perform the task with same ease as he did previously. This can only happen if user remembers all the UI functions and locate them as and when required.

Reliability: Nobody wants UI to break easily for a task. It should give users the confidence that tasks can be performed in a reliable manner.

Friendliness : If UI can win user’s heart, followed user’s expectations then it can be termed as User-Friendly.

When we think of User Interface design, The very first thing that comes to our mind is “Ben Shneiderman’s Eight Golden Rules of Interface Design”.Shneiderman proposed this collection of principles that are derived heuristically from experience and applicable in most interactive systems after being properly refined, extended, and interpreted.To improve the usability of an application it is important to have a well designed interface and these “Eight Golden Rules of Interface Design” are claimed to be a guide to good interaction design.

Ben Shneiderman’s Eight Golden Rules of Interface Design

These rules were obtained from the text Designing the User Interface by Ben Shneiderman.

  1. Strive for consistency:
    UI should follow a consistent approach of actions, Let’s say user faced a situation while working on UI of a system and now the same kind of situation occurs while working on the other part of the system. As the UI approach is consistent, User will not find it difficult to handle the situation, as same situation occurred earlier also. To achieve consistency, identical terminology should be used in prompts, menus, and help screens, sequences of actions should be the same in similar situations
  2. Enable frequent users to use shortcuts:
    To increase the efficiency; abbreviations, function keys, hidden commands and automated actions are very helpful for a user. This principle is more useful in case of frequent users which will help them in keeping the pace with the operations.
  3. Offer informative feedback:
    To increase reliability, User should be communicated about their actions, for every action, there should be some system feedback. For more frequent and minor actions the response can be minimal. For infrequent and major actions the feed back should be more substantial.
  4. Simple Steps to yield a result:
    This can be used to improve the simplicity and usability as there will be sequence of steps with a logical beginning, middle, and end. The informative feedback at the completion of a step gives satisfaction of accomplishment.At the end of all the steps, user should be allowed to know what they have completed and that they have finished all the requirements.
  5. Offer simple error handling:
    Do not pay with the friendliness of UI as much as possible. If altered, then there is a possibility that user can make a serious error which should be avoided. If an error is made, the system should be able to detect the error and offer simple, comprehensible mechanisms for handling the error.
  6. Permit easy reversal of actions:
    Why not allow your users to undo, if they have done something wrong.This feature relieves anxiety, since the user knows that errors can be undone.Users will feel free to commit mistakes which can be recovered easily and make the site more explorable.
  7. User in control:
    Users should believe that they are in charge of the system and that the system responds to their actions. It’s about freedom which enhance trust so design the system to make users the initiators of actions rather than the responders.
  8. Simple works:
    Having to keep track of several things at once can leave a user frustrated or incapable of using the interface , so multiple page displays should be consolidated, window-motion frequency be reduced, and sufficient training time be allotted for codes, mnemonics, and sequences of actions. This will go a long way to help your user’s frustration level

We have not shared the recipe to achieve perfect UI but still, following these rules can make a difference. Try Them.

Author: hershey

A passion for knowledge drives me to do programming, A passion for programming drives me to create something different, A passion for creation drives me to spread the knowledge.

Share This Post On


  1. nice superb explaination

    Post a Reply
  2. thanks for the tutorial
    I am having a problem.
    The feature “Create SQL server database” isn’t available , I can’t select it.
    Can you help, please ?

    Post a Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

More from CodeSpread:

  • Agile Encounters UnpredictabilityAgile Encounters UnpredictabilityWhat is Agile? Wikipedia says “Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through...
  • Few lines about Static code analysisFew lines about Static code analysisStatic code analysis We divide the term into two parts: Static+code analysis. Static in programming can be referred to as non-running/non-dynamic and code analysis is a process where the code is...
  • SDLC: Importance of Requirement Analysis.SDLC: Importance of Requirement Analysis.What is SDLC? SDLC is the acronym for Software Development Life Cycle or System Development Life Cycle.It is a conceptual model that describes the stages involved in development of a software or a...
  • C#: Singleton Design Pattern SlideShow and ScreenCastC#: Singleton Design Pattern SlideShow and ScreenCastHere is a slide show and  screencast of Singleton Design Pattern . This slide show is also available for download. You can also check the screencast on our youtube channel. http://youtu.b...
  • Freeze Business Logic Layer.Freeze Business Logic Layer.We regularly work on three-layer architecture for application development and always use some standard data layer and UI layer guidelines for design but what we always ignore is business logic laye...
  • UI: Jquery is Javascript LibraryUI: Jquery is Javascript LibraryJquery Basics: With the title itself, anybody can deduce that we are indirectly talking about javascript only. So, we can say that Javascipt is the guardian of Jquery. These are client end technol...
  • jQuery: Effects/MethodsjQuery: Effects/MethodsIn our last article, jQuery Part 1 , we covered the basic understanding and now we will move to Methods or effects available in jQuery. Hide/Show/Toggle Methods The most used method Hide/Show. Fr...
  • IOC: Inversion of Control SummaryIOC: Inversion of Control SummaryHere is a summary of IOC principle. This ppt is also available for download. You can also check the same ppt on our youtube channel.