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 http://techterms.com:
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:
- 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.
- Use good patterns, you know, if people likes the interface they really are going to use it.
- Be coherent about the changes updates and patters you have chosen. If your user sees a lot of changes maybe he/she will not like it.
- Visual Hierarchy: this means, helping the user know by colors or forms what is more important in the UI.
- Inform the user what is correct and not to do and apply some hint of use.
- Give the user the chance to improve the UI by users feedback.
- Keep your UI as simple as possible, remember, not all the users are developers.
This are in our opinion the principal point to figure out when designing a UI. In addition, we need to take in mind the kind of elements our UI is going to have, buttons, figures, text, graphical object or no graphical object.
Our best chance to achieve in designing a SW User Interface is keeping it as simple as posible but as simple related with the segment of people that it were oriented when programmed. Don´t worry about making mistakes, only keep track of your users experience and tips.