Notes on Usability and Human Interface


Don’t make me think. — Steve Krug

The most common mistake made on software products usability is to overlook the user mental model that describes the task your software is enabling. That model is a combination of real world experience, other software experience and general computer experience. User’s approach is defined by his experience and the more your application has a familiar behavior, the more will be appreciate by users. As applications are made by programmers, their interface and workflow behaviour are based on technical and incomprehensive solutions that scare and demotivate usability. We also had this kind of approach and hardly are trying to clean our minds from that attitude; at the beginning of our software product experience our aproach was driven by the standard old style software product, made by datagrid (full of data), data-forms (enormous pages full of input fields, textareas, checkboxes), reports… without any care about the user approach and application sexappeal.

One of the most useful tool to verify the usability of your application is to observe users while are using your application.

Some weeks ago we made a video test on Teamwork using service and the result had been impressive… really!  most of the difficulties the tester had where so obvious that we felt stupid but we never thought at them as GUI impediments. So in few days we work on each of this stupid impediments that let our application to be unusable and with little adjustments (most on feedback behaviors) we make a more comfortable Teamwork :-).

If you want to know more please read this article on Notes on usability, game mechanics, and Teamwork’s evolution.

So, first of all we have to reflect the User’s Mental Model to be shore that usability will not be a discriminate for users choice; the mental model your users have should infuse the design of your application’s user interface. It should inform the layout of your application’s windows, the selection and organization of icons and controls in the toolbars, the functionality of panels, etc.; try to avoid using modes that lock users into one operation and prevent them from working on anything else until that operation is completed.

In addition to seeing the results of their actions, users need immediate feedback when they operate controls and status reports during lengthy operations. Your application should respond to every user action with some visible change. Provide extensive feedback and communication at every stage so users feel that they have enough information to make the right choices.

The first porpoise of an application is, of course, to complete a task, but the importance of an application’s appearance should not be underestimated. The  appearance has a strong impact on functionality. An application that appears cluttered or illogical is hard to understand and use. “Aesthetic integrity is not a measure of how beautiful your application is. It’s a measure of how well the appearance of your application integrates with its function”.

keep the design as simple as possible, a simple design is a good design and the best tools are those that users are not even aware they are using. The more complex your application’s task, the more important it is to keep the user interface simple and focused. Your product should look pleasant on the screen, even when viewed for a long time.

Another important point is to stimulate discovery; encourage your users to discover functionality by providing cues about how to use user interface elements. If an element is clickable, for example, it must appear that way, or a user may never try clicking it.

I suggest to read carefully some interesting articles and guides about Human Interfaces: