Most of our clients are familiar with web design jargon, but when we refer to user interface design, we often get blank stares.  That’s why today we’re going to explain what it is and why it is the most important element in successfully building software, websites, e-commerce sites, and Web apps.User interface design is the design of computers, appliances, machines, apps, software, and websites that focus on the user’s experience and interaction.  Basically, it makes the user’s interaction as simple, professional, and effective as possible.  The key is to balance the technical functions while also being aesthetically pleasing.  The goal of user interface design is to make the users interaction as simple and efficient as possible.  We want always to create an application or a design that is easy to use and easy on the eyes.  We accomplish this by anticipating and handling any complexities on the back end.  This allows our user interface designs to shine.  That way when it’s time to build the front end, the part that people interact with, it is easy.

There are a 10 principles that we keep in mind for designing user interface.

  1. Profile your user. Before you can have a good user interface it is important to know who your users are.  A design for a tech savvy person would not be as good for a person who is not as skilled.
  2. Borrow behaviors from systems familiar to users. The more familiar an object or system is to a user, the easier it will be for them.  This is especially helpful if a system is a more complex software system.
  3. Make your features stand out. Users like to know what features are available to them without having to search hard for it.  We also don’t want to overwhelm the user if there is a lot of detail involved in a feature.  In this case, it may be appropriate to “hide” features.
  4. Keep it Coherent. The program should behave in a way that makes sense.  It should be logical and consistent.  For example if one part of the program uses a pop up menu, then it might be expected that other parts of the program would do the same.
  5. Keep changes noticeable. When a user makes a change in the program it should be reflected within the program accordingly.  For example, when a user is trying to select an item it might be helpful to gray out the other choices and only highlight what they are selecting so that they are confident in what they are picking.
  6. Shortcuts are key. Giving the user a way to complete a task by using a shortcut is important.  Once a user has experience with a program and feels comfortable with the results that they are having its nice for them to be able to get the same task completed, but with a shortcut.
  7. The human eye is drawn to motion. The eye is drawn to movement more than static objects.  An animated object is usually going to be noticed quicker than an object that is not moving.  Anything that we want to stand out can often be benefited by adding a little movement to it.
  8. Help! The user may at some point in time need help, and when they do it is important to understand the type of help that they might need.  There are five basic types of helps: Goal oriented– what can I do with this program?, Descriptive–  What is this?, procedural– How do I do this?, Interpretive–  Why did this just happen?, and Navigational– Where am I?
  9. The User needs to feel safe. A new user does not want to feel stupid.  So, it might be important to make them feel comfortable and keep them from feeling overwhelmed with the program.  On the other hand a more skilled user does not want to feel bored and constantly hounded with reminders or tips.  In this case, we might want to consider having a tip menu that can be turned off once a user has learned the program.

10.  Keep programs aesthetically pleasing. The program should be pleasing to the eye and make sense.  Keeping some rules of graphic design, helps to make what the user is seeing to stand out in a good way and not a bad way.  We want our users to feel happy and comfortable with what they are using.  What we don’t want, is for them to be bothered by the look of something even if it has nothing to do with how well it performs.

11.  Test first. Before releasing a program, test it first.  A software engineer maybe brilliant in what they do, but they think differently than how a average person thinks.  Having someone who is not involved in the design of the program test it first, can be incredibly effective in finding faults and bugs within the system.

12.  Listen to what others say. Watching people attempt to use your program, can give you valuable insight.  It’s important to keep in mind aspects like computer literacy, and that the “average” person is different depending on who you ask.  Getting as much feedback as possible from users is a great way to spot frustrations or problems ahead of time.

It’s safe to say that we use interface design every single time we use the Web.  The important part is not having the user realize it, so it’s our goal every time to create a design that is user friendly and effective.