Psychological usability heuristics

This is a proposal for a set of usability heuristics coming from known psychological facts about the human mind, including a spreadsheet that may be used in practical heuristic evaluations.

Psychology and usabilitySome time ago, Susan Weinschenk (@thebrainlady in Twitter) wrote about the psychologist view of UX design, listing a number of facts discovered by psychology about the human mind that may be directly applied to interfaces design. And I think that’s an important point; although usability experts try to put the user in the center of every step through the design process, principles and best practices are usually referred to technical aspects of the development of interfaces. That’s what happens with most of the principles used when evaluating interfaces in heuristic evaluations.

So… why don’t we use those psychological facts as heuristic principles when evaluating interfaces, instead of the typical technical ones? To that end, I have translated Susan’s points into heuristic principles and checkpoints that may be used to evaluate interfaces, creating a spreadsheet to make evaluations easier. Here you have it:

Psychological Usability Heuristics spreadsheet (Google Docs)

Of course, the translation of facts into heuristics is subjective, and this work may be updated and/or expanded at any time; anyway, I think this may be a good approach to usability from a more human perspective.

Feel free to use this spreadsheet for your own work (you may have to download or make a copy before). Any feedback about this work will be welcome!

Update 19-sep-2011

I have contacted Susan Weinschenk explaining her this idea, and this is her kind reply:

Hi Jordi,
Thanks for writing.
It’s a very interesting idea. I’m surprised I didn’t think of it myself!
Have you read my book: 100 Things Every Designer Needs To Know About People? Probably more ideas in there too.

I haven’t read ‘100 Things‘ (yet), but I have read her previous book and multiple articles in her blog. I wonder if 100 things may lead to 100 heuristic principles. It seems like a lot of work for me alone; maybe if this first idea achieves some success…

Ship-boarding usability

Applying usability techniques during a development process that is already underway and little known may be really hard. Below I suggest a few techniques so as to “board the boat” in an effective way.

Disponible también en español

Board the ship (detail)

Jakob Nielsen defined guerrilla HCI as a collection of usability techniques that may be performed along development projects in an informal and fast way, requiring few resources, getting acceptable results and avoiding the intimidation barrier of using that kind of techniques.

One advantage of guerrilla HCI is that it can be performed without great involvement of the development team, and consequently, it is useful in traditional website development.

According to their own nature, websites must be self-explanatory and their interface must follow existing standards in order to make possible that anyone can use it without advanced skills neither previous training.

For example, guerrilla HCI could be perfectly applied in the evaluation of an e-commerce website or one belonging to a university since, in principle, they don’t require special knowledge.

Nevertheless, there are cases where it’s not that simple… (more…)

How many usability experts does it take to change a light bulb?

Just one. But she would have to:

  1. Complain about not being notified before installing the current light bulb.
  2. Find out who wants to change the light bulb, why he wants to do it, and what does he know about electricity.
  3. Search 5 regular light-bulb changers. She wouldn’t find them, so she would recruit 3 coworkers, 1 friend, and the company’s secretary.
  4. Watching the people changing the light bulbs, she would conclude that:
    • nobody notices the tiny text about what kind of bulb should be used;
    • the light-bulb changers don’t know how to screw the bulb;
    • there is no visual clue of the bulb’s temperature: two people would get burned;
    • everyone would prefer changing the bulbs just pushing a button (like Google does);
  5. She would write a 84-pages report about issues changing light bulbs and how to fix them.
  6. The original light bulb would remain unchanged.

Is there such thing as User Centered Design?

User Centered Design (UCD) is a topic becoming more popular day by day, it’s more a set of good intentions than a well-defined process applicable to any development project.

Este artículo está también disponible en español.


User Centered Design (UCD) seems to be growing in popularity, and it’s not strange. Who could be against the user being the center of the design process? But looking beyond this popularity it turns out that there is not a consensus about what UCD is.

Formal definitions like in Wikipedia or ISO 13407:1999 describe it vaguely using terms as “design philosophies”, “models”, “general guidelines”, “recommendations”, … All those are positive instructions, but they aren’t really useful when you face a real project developing a real interface.

UCD process according to ISO 13407User Centered Design is something as generic as this figure, according to ISO 13407.

What do we actually have?

Actually UCD refers almost always to a set of techniques that may be applied along all the life-cycle of a software application; the only thing those techniques have in common is that users are their main roles (at least theoretically). The number of techniques included may vary from six (like in this Webcredible article) to several tens (like in this interactive table at UsabilityNet). Those techniques may be as different between them as focus groups, user testing and interface prototyping.

Oddly some UCD techniques don’t include real users in their carrying out: for example, heuristic evaluations of usability.


‘Top lists’ as heuristics for simple usability evaluations

Heuristic usability evaluations are a discount usability engineering method for quick, cheap and easy evaluation of interfaces; but if you can’t or don’t dare to apply usual heuristics, here’s an alternative: ‘top lists’.

Heuristic evaluation is one of the most popular usability techniques; it basically consists of reviewing an interface and check if it fulfills some well-known guidelines and principles (the “heuristics”).

Once you overcome the fear of performing a task with such a fancy name, the following step is obvious: choosing the heuristics (guidelines) to use. There are some popular heuristics lists, but there are some risks when using them for a usability evaluation:

  • If the heuristics are too generic, they don’t help you to identify real issues.
  • Otherwise, if the heuristics include detailed checkpoints, you may concentrate on small or very specific issues while overlooking the important ones.

Consequently I suggest using alternative heuristics: the ‘top lists’.

Which lists?

With ‘top lists’ I am referring to lists similar to these by Jakob Nielsen:Web mistakes (by Jacob Nielsen) 

I think this kind of guidelines might be used (or the mistakes avoided) in small projects, or even in big projects as a preliminar evaluation, or in other situations.


D’oh! The attachment! A simple solution

A simple and easy solution to those forgotten attachments in e-mails. Hasn’t it happened to you?

Has this ever happened to you? You want to send a file to someone, so you write a nice e-mail explaining what it is; then you click the send button, and some minutes later you receive the reply: “ok, very nice, but … where’s the attached file?”.

Yes, you forgot to attach the file. It’s a common but hard to avoid problem; a good rule is always attach the file before writing the e-mail, but aren’t there any better ways to avoid this?

Some systems, like GMail or Thunderbird, have options to alert you when you try to send an e-mail which includes specific words (“file”, “enclose”, “photo”, …) but has no attached files. It’s a nice idea, but far from perfect: you will still miss files if the system doesn’t detect these words, or you will get an annoying alert about an attachment you don’t want to send.

A simple solution

Here’s a simpler solution: the user gets notified of how many attachments the e-mail has when he/she is about to send the e-mail, not using annoying alerts but simply including that information in the send button, like this (GMail example):

Composing a message in GMail, with the button 'Send (0 attachments)' highlighted 

So when you are going to send the e-mail, you realize that the message has no attachments. Simple and effective, don’t you think so?


Próxima asistencia a User Experience 2007, en Barcelona

La semana que viene asistiré a dos jornadas del User Experience 2007, que se celebra en Barcelona del 4 al 9 de noviembre. Este evento, organizado por el Nielsen Norman Group, es uno de los más importantes a nivel mundial…

La semana que viene asistiré a dos jornadas del User Experience 2007, que se celebra en Barcelona del 4 al 9 de noviembre. Este evento, organizado por el Nielsen Norman Group, es uno de los más importantes a nivel mundial en el tema de interfaces de usuario.

User Experience 2007


Resulta difícil elegir únicamente dos charlas de todas las que tendrán lugar, y que se antojan todas más que apetecibles; inicialmente, estas son a las que asistiré:

  • El martes 6, Designing Multi-User Services: Lessons from Social Psychology (John Boyd). Puede ser interesante conocer cómo se comportan los usuarios ante los interfaces de usuario desde un punto de vista psicológico y no tanto técnico.
  • El miércoles 7, Application Usability 2 (Chris Nodder). Por lo que he leído, es posible asistir a esta segunda parte (en la que se explicarán procesos de diálogo, tareas y workflows de interacción) sin hacerlo a la primera (en la que se tratarán los elementos de interacción individuales).

¿Nos vemos allí? Espero escribir algo sobre el evento en el blog del grupo SQUaC.

Kroonos: un banco… ¡de tiempo!

Me escribe Jesús Hurtado, CEO de Kroonos, solicitándome que le ayude en la promoción de su web ya que pronto (el 31 de octubre) dejará de estar abierto el registro de usuarios; a partir de entonces, será necesaria una invitación.…

Me escribe Jesús Hurtado, CEO de Kroonos, solicitándome que le ayude en la promoción de su web ya que pronto (el 31 de octubre) dejará de estar abierto el registro de usuarios; a partir de entonces, será necesaria una invitación. Una mención en este blog no le va a causar ninguna avalancha de visitas, pero aquí queda esto. 🙂

Logo de Kroonos

El sitio web se autodefine así:

Kroonos es una web 2.0 que te permitirá sacarle partido a tu tiempo libre. Un banco del tiempo global donde podrás dar y recibir ayuda de forma gratuita de otros miembros de la comunidad.

Por el momento no se puede acceder directamente a ninguna funcionalidad específica del sitio; ésta se puede intuir buceando en el foro, en el blog, etc.; pero la falta de algo más tangible posiblemente le resta cierto atractivo a la hora de registrarse. Eso sí; el concepto de una comunidad en la que los usuarios intercambian tiempo para obtener otras cosas a cambio suena lo suficientemente interesante como para tomar nota y seguir su evolución. Yo ya me he registrado.

En lo que respecta al diseño, sin hacer un análisis profundo (es decir, echando un vistazo), el aspecto de la página es bastante claro y agradable. En el caso de una web con un propósito tan original es de agradecer el texto que lleva por título “¿Qué es Kroonos?”, en el que se describe su objetivo, aunque como comenté anteriormente se echa de menos una visión más concreta de la funcionalidad que ofrecerá el sitio.

Por último, no puedo evitar que me venga a la memoria Momo, la novela de Michael Ende en la que unos misteriosos hombres grises se fumaban el tiempo de la gente. Seguiremos el desarrollo de Kroonos, aunque sea sólo para comprobar de qué otros extraños modos consume la gente su tiempo.

No more double submits in web forms

Usually, submit buttons in web forms should be clicked just once; but many users click them twice or more. Why? Because they’re used to launch actions by double clicking (as on Windows icons). Because the server doesn’t replies instantantly, and…

Usually, submit buttons in web forms should be clicked just once; but many users click them twice or more. Why?

  • Because they’re used to launch actions by double clicking (as on Windows icons).
  • Because the server doesn’t replies instantantly, and they click again “just to see if something happens”.

What’s the result? The form data is sent twice to the server, and users usually don’t realize it; they just get the response to one of the submits. Try this simulation to see what happens when submitting several times the form before the server response arrives:


This is not a big issue if it’s, for instance, a search form: the query is being launched twice but the user simply gets the result. It may be annoying if someone is receiving the same mail several times just because users are submiting several times the contact form. And it’s a real big problem when the user is submiting a payment (you can be pretty sure they don’t want to pay twice the same object!).

The solution

There’s an easy solution for that problem! Simply disable the button just after the form is submitted, and you can change the button text too. The result is something like this:


This is done using the onsubmit form event:

<form onsubmit=document.forms['formname'].submitbutton.disabled=true;
document.forms['formname'].submitbutton.value='Sending...';" action="action" name="formname">
  <!-- some form controls here -->
  <input value="Send" name="submitbutton" id="submitbutton" type="submit">

With this technique, you achieve two positive effects:

  • avoiding the double submit problem; and
  • giving feedback to the user confirming the submit

Of course, there’s no perfect solution. If JavaScript is disabled at the browser, it doesn’t works; if it’s really important avoiding multiple submits (for instance, when it’s an economical transaction), it should be done at server’s level.

It’s really simple to use and without negative effects. Try it if you are really tired of multiple submits and tell me how it goes!