
One of the ideas that
Jeff Raskin described in his book Interface: New Directions in Computer Systems Design is that software developers should appreciate all the information entered by the user and not distract him in trifles.
After all, the user is concentrated on the performance of his work and the more complex the work he performs, the more concentrated he is. Any message (informational or error message) takes him out of this state, and in order to return to a working state the user needs a certain time.
Another aspect of the same problem is habit formation. With any repetitive actions, people form habits. This is an inherent property of the human psyche. One of the habits is pressing the “Ok” button on any informational and error messages, and, most sadly, on the windows asking for confirmation of the action. This is partly the fault of the developers - too many such messages are not needed by the user and not interesting. According to Raskin (confirmed by the statistics and the author’s own experience) “
... any confirmation request requiring an established response soon becomes useless. Developers who use this kind of confirmation, and administrators who think that confirmation requests provide security, in fact do not take into account the strength of the habit-forming property ... ”.
In the next article of this cycle we will try to consider in more detail how to avoid problems with confirmation windows, for now we will describe the problem in general and dwell on informational messages.
')
Problem
1. The user is distracted from the performance of their main work.
2. The message is ignored - you all know that most users have developed a reflex to instantly close all error messages, even without reading them.
3. In order to find out exactly what was written in this message, it is necessary to repeat the actions that caused it (which is not always possible).
Decision
1. Make it so that the message can be ignored by the user, without interrupting his main activity (without distracting from important activities). Those. if the user continues to work "without noticing" the message, then it disappears after a while.
2. At any time should be able to view previous messages. Suddenly they were important?
In desktop applications, this is often implemented as follows - in the lower part of the window a small control is placed that “logs” the operation of the application and accumulates all messages about the operation of the application. This element does not take up much space, and if necessary, allows you to get all the necessary information.

The first program in which I noticed such a use of such an approach was The Bat!
For web applications, there are JavaScript libraries that implement similar functionality, for example,
Humanized Messages :
“
Transparent messages are children of Jeff Raskin’s brain. These are large translucent messages that are displayed on top of the content. It disappears when the user starts to do something (move the mouse or knock on the keys). This message is both noticeable and unobtrusive. And since it is translucent, you can always see what is under it. ”
With the “log” deployed, it looks like this:

The online demo is available at:
binarybonsai.com/misc/humanmsgLet's make the interfaces more humane!