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.


We want it to look pretty please!

User Interface, often abreviated (UI), Design ensures that there are elements easy to access for what users may want to do. Accesibility is what UI design is all about, it must be understandable, and easy to do. Basically, it brings together visual, and interaction design with information architecture. Let’s do it beautiful.

Interface elements

  • Navigational components
  • Input controls
  • Containers
  • Informational components

Tips for a great interface

  1. Keep it simple, avoid unnecesary elements.
  2. Use common elements in your UI, users will feel more comfortable, and will get things done faster.
  3. Structure the page based on importance, and consider relationships between elements and space.
  4. Use colors and textures strategically.
  5. The use of typography is important to create hierarchies, and make it more understandable.
  6. The system must communicate what it is doing.
  7. Establish default values for your system.

Nice video into creating a nice UI:


About API´s
Original at:

It´s time to talk about Application programming interfaces, that thing all of us young software developers has used at least one time and maybe without knowing what it is:

In Jeff Standen words:

You can consider an API as the alternative “user interface” that software uses to interact with other software.

We humans are familiar with user interfaces that have fancy layouts with buttons, fonts, colors, graphics, etc; and most of that is unnecessary to a machine.  Machines wouldn’t open up a program or website, take a screenshot of that section of the monitor, and then try to parse its meaning visually like a human would.

Machines just need a shorthand way to do things like checking the current weather or adding an event to your calendar.  That’s what an API provides.

APIs can be web-based, or specific to a platform.  Google has APIs for search, calendars, translations, etc.  Facebook and Twitter have APIs that allow software to automatically post status updates.  Apple provides many APIs for building iPhone apps.

So, APIs gives us the option to make more “easy” the way we program and connect to other software. Let´s tink in an example:

Imagine a 70´s or earliest car, the one that needs to be “recharged” with a pulley to obtain enough power to be moved, you constantly needed to check for water, oil and conditions of the car and the only thing you were able to see were the velocity in a tiny indicator.

Let´s have a look at the other side of the coin. Nowadays, cars starts with a button, you don´t need other thing that see the screen in the car to know all the state of it (in modern ones), velocity, temperatures
Continue reading "About API´s"