User Interface design

I would classify software in three categories. All of them are equally important, and even though each of them works as one piece, a real big project requires the three of them. The first is the core software: in a simple word, algorithms. By itself, it is one of the most important things. But, without the other three components, it’s good stuff only for other developers. Second: database. How is the information stored. Again, if not used as a whole with the other components, it’s only good for developers. And third: UI. UI is, at least for users, the most important aspect on every program. You have an ugly UI, your program is “not as good as X program, which is pretty”. You have a great UI although your core is not that good, (most) users don’t care, the UI is great and simple, they can use it without problem.

User Interface is the layer of software with which users interact. It seems the most simple layer (technically speaking), but it is one of the most complex to develop. Why? They say a UI is like a joke: if you need to explain it, it’s probably not good.

UI is categorized in three forms, from more advanced to more natural:

  • CLI: Command Line Interface. Basically, a terminal in which one types text-only commands.
  • GUI: Graphic User Interface. This time is visual, but it’s fully digital.
  • NUI: Natural User Interface. The most natural form of UI. It includes sensors, buttons and other devices that can be physically manipulated by the user.
flickr photo by baldiri shared under a Creative Commons (BY) license
flickr photo by baldiri shared under a Creative Commons (BY) license

User Interface Design


User Interface Design can be resumed in one word: anticipation. We are all users and when we design an interface we should remember: what is the user going to need to do? are the elements easy to access, understando and to use?

What are the best practices for designing an interface?

  • Keep the interface simple. Best interfaces are invisible, if the design is successful the user can focus in their own goals.
  • Create consistency and use common elements. Create patterns in language, layout and design throughout the site to facilitate efficiency.
  • Strategically use color and texture. Color should not determine much in an interface, it can be used for highlighting.
  • Use typography to create hierarchy and clarity.
  • Interfaces exists to enable interaction, they are designed to do specific jobs.
  • Conserve attention at all costs.
  • Keep users in control by infoming them about the system status.
  • Every screen we design should support a single action of real value to the user.
  • Provide a natural next step, anticipate what the next interaction will be.
  • Appearance follows behavior, someone should be able to predict how an interface element will behave merely by looking at it.


User Interface Design



User Interface Design is an area of the Software development, that emphazises the users needs by the time he/she is implementing the software we developed.

We have seen that, for example, Google and all of the big trademarks have chosen the method of minimize the style of their User interfaces. But first, what exactly is a user interface?

Acording the definition of

A user interface, also called a “UI” or simply an “interface,” is the means in which a person controls a software application or hardware device. A good user interface provides a “user-friendly” experience, allowing the user to interact with the software or hardware in a natural and intuitive way.

Yes, there is one keyword “user friendly”. Just imagine for a second your 10 years old son, brother, cousin managing all of those characters in your application, compiling, running and checking for all of the options code style (This doesn´t mean there aren´t boyswho did this), but in general, we need to offer a simple manner for users, to actually use what we develop.

UI has gone as far that hardware applications has also a UI instead they are not as complex as software UI´s (you know, high and low level are always trying to healp the other one).

So lets know what are the fundamentals of designing a UI:



  1. The user is the most important part, so know for whom the Software is oriented to and this way you will know how to make your UI, it different an Android app to play minecraft or something, than a API to connect with your banks accounts.
  2. Use good patterns, you know, if people likes the interface they really are going to use it.
  3. Be coherent about the changes updates and patters you have chosen. If your user sees
    Continue reading "User Interface Design"

User Interface Design

In my opinion, a high percentage of success that a piece of code can have is based on its user interface design. There might be great programs that are helpful by doing what they’re capable to do but people might just not feel attracted to these due to the lack of an interesting and design that makes users to take a look and try the program itself.

Users experience with technology must be neat and when talking about programming, our programs should have elements that are easy to access, easy to understand and should be useful for the ones that will be using it.

Some of the elements that can be involved when designing an interface could be:

  • Input Controls
  • Navigational Components
  • Informational Components
  • Containers

There are lots of more types of elements but the importance here is giving the users the ones that will let them achieve what you intend to, without making the process too complicated.

The US Government recommends the following practices for designing an interface:

  • Keep the interface simple
  • Consistent and common UI elements
  • Be purposeful in page layout
  • Strategically use of colors and textures
  • Hierarchy and clarity

pexels-photo1As I said before, success in a program can be achieved by great user interface designs. If the program itself works but isn’t attractive, organized and clear for the user, it won’t succeed as we would like to.

If you’d like to check more on the US Government’s recommendations, please click here.