This post contains quotes from D. Raskin's book Interfaces: New Directions in Computer Systems Design, which are the most relevant and feasible at the moment in any project you are doing.
1. The computer should not waste your time or force you to perform actions beyond necessary.
2. The system should treat all user input as invaluable. And if to paraphrase Azimov’s First Robotics Law: “A robot cannot harm a person or by its inaction allow a person to be harmed”, the first interface design law should sound like this: “A computer cannot harm a user’s data or by inaction allow it so that the data was harmed. ”
3. The interface is person-oriented, if it meets the needs of the person and takes into account his weaknesses.
4. The interaction rhythm must be set by the user.
5. From the point of view of the development of interfaces, from the rapid attenuation of sensory perceptions, it follows that a person who has read or heard some message 5 seconds ago will not necessarily be able to recall its content. If such a message is important in itself or contains an important detail, for example, the number in the message “Error 39-152”, then it should remain on the screen until it ceases to be relevant (such an approach can be called the best), or it is necessary to provide The user can immediately process this information before it disappears from his memory.
6. The task of designers is to create interfaces that do not allow habits to cause problems for users. We must create interfaces that, firstly, purposefully rely on the human ability to form habits and, secondly, develop users' habits that simplify the process of work. In the case of an ideal person-oriented interface, the share of the interface itself in the user's work should be reduced to the formation of good habits. Many of the problems that make software products complex and inconvenient to use are due to the fact that the human-machine interface does not take into account the useful and harmful properties of the human ability to form habits. A good example is the tendency to provide several ways to solve the same problem at once. In this case, many options lead to a shift in the locus of the user's attention from the task itself to the choice of path.
7. The habit can not be changed by a single volitional action. This requires training for a period of time.
8. Any confirmation request requiring an established response soon becomes useless.
9. An effective approach is to give the user the opportunity to cancel the erroneous command, even if any other actions were performed after it.
10. If for some reason, say, related to access rights, a file should never be deleted by the user, the very possibility of such an action should be prevented.
11. The shape of the cursor is not the locus of the user's attention — rather, it may be a place or an object that the cursor points to.
12. Make it so that the user could not make mistakes related to the operation of the interface, or, in other words, so that the user could immediately cancel the results of any action, and not just receive warnings about its potential consequences.
13. If we know where the user's attention is currently fixed, we can make changes in all other parts of the system, knowing that they will not distract him. This effect has been used in the development of the Canon Cat computer. When the user stopped working, the computer saved the bitwise image of the screen on the first track of the disk exactly as it was when the operation was stopped. When the user returned to work, the same picture was placed on the screen in a split second. A person needs about 10 seconds to switch from one context to another or mentally prepare for an upcoming task (Card, Moran and Newell, 1983, p. 390), while the Canon Cat computer only took 7 seconds to count from the disk the rest of the working part of the information. Therefore, while the user was looking at a static image on the screen, remembering what he was doing, and deciding what he was going to do next, in his locus of attention there were preparations for the upcoming task, and in the meantime the system was completing the download. Only after that the screen became active, although without changing its appearance.
14. For an interface that always takes you back to where you left off last time, this would be the worst possible case, because if you wanted to go back to the previous task, you wouldn’t have to take any action at all.
15. “No system can harm the content or, through its inaction, allow the content to be harmful.”
16. It is necessary, firstly, to use a checkbox, not a button, and secondly, to apply more precise wording - Locked instead of Lock, which will be perceived more correctly: if the checkbox is checked, then the data is locked, if the flag is cleared, the data is not blocked. Signature changes are not required in this case.
17. You can use more detailed wording, for example: “Click this button to unlock data” or even: “Data is currently locked. Click this button to unlock them. ”
18. Regardless of whether flags or switches are applied, it is important that the names use adjectives that describe the state of the object, and not verbs that describe the action with this object, because otherwise it is not clear to the user whether the action has already taken place or should only occur.
19. Requests and prompts should not be given modally, but so that the user can maintain control over the system to the maximum extent.
20. Adding user customization features certainly complicates the system and makes it more difficult to learn.
21. If we are experienced interface developers and can optimize this interface to the maximum extent, user settings can only worsen the operation of this interface. Therefore, care should be taken to provide the user with the ability to set personal preferences.
22. A smaller number of buttons and a simpler look of the front panel are not always the best solution. This is true not only for graphical interfaces, but also for tools and instruments.
23. Holding the button in the depressed state, pressing the foot pedal or any other form of physically holding the interface in a certain state does not lead to modal errors.
24. Excessive use of quasi-modes can lead to absurd conventions that require memorizing dozens of commands.
25. Interface elements can often be called familiar in that they can easily be used by a “blind” user. Interfaces built on the principles outlined in this book can often be used even by blind users - and in relation to what is outside our locus of attention, we are all in the most direct sense blind.
26. Quasi-modes should be used for management functions, while operations without quasi-modes should be used to create content.
27. For most interfaces, the situation is not symmetrical, and order (noun-verb or verb-noun) is of great importance from the point of view of usability of the interface.
28. It is recommended that the model of interaction noun-verb.
29. The need to enter information every time that was already available to the system was irritating.
30. When the checkbox was selected, the message “Marked products ordered” appeared, which disappeared immediately after any user action.
31. For normal operation of the interface, “only the necessary things must be visible — those that identify parts of the operating systems, and those that reflect the way the user can interact with the device. Visibility displays the link between the actions taken and their real returns. ”
32. If the interface observes the principle of visibility, then each function and the method of its use for most people from the culture to which this interface is oriented, become apparent only in one form. The control, which has such a property, became known as affordability.
33. When analyzing interfaces, you should always ask yourself how the user can learn that an action is possible; one should also always strive to ensure that every visible element is wealthy.
34. Using a product whose interface is based on non-modality and monotony could quickly become addictive (close to addiction) among users, leading to the fact that they can all acquire loyalty to this product and prefer it to all others.
35. The more productive an interface is, the more productive and more human-oriented it is.
36. Without quantitative guidelines, we can only guess how well we have developed the interface and whether there is a possibility of its improvement.
37. That the smaller the object (i.e., the smaller the visual angle of the specified object), the greater the contrast should be used to indicate it
38. A necessary element of any human-oriented interface is the universally applicable Undo and Redo commands. The number or levels of valid cancellation of commands executed should be limited only by the amount of available memory. The Undo and Redo commands must be all-pervasive and apply to any operation that can logically be repeated or canceled. Also, these commands must be inverse to each other (inverse) - again, to the extent that is logically possible.
39. I, as a science fiction writer, am confident that this damn robot should speak human language, and not vice versa.
40. Requirements that a new method for invoking commands must meet: • This mechanism should not be modal • It should include any number of commands (in particular, it should not be limited by the number of keys on the keyboard) • The user should be able to call the command directly from the keyboard • The user should be able to invoke a command using a graphical input device • The use of a mechanism should not require an abundance of special keys • The mechanism should not generate a large number of quasi regimes
41. The user can assign commands in the easiest way - just by typing them from the keyboard or by drawing them.
42. The use of customs that do not coincide with the traditions of ordinary speech, leads to a misunderstanding between the user and the computer. It should be done so that the machine adapts to us, and not adjust the customs of natural speech to something that is easier to solve from the point of view of programming.
43. The deletion of the text should take place explicitly at the request of the user and not be a side effect of another action.
44. Elements of a human-oriented interface should be accessible to the novice user and effective for the experienced user, and the transition from one to the other should not require retraining.
45. The interface should use dynamic memory allocation, references, hashing, or any other methods, but should never put restrictions on the user, such as “you can use no more than 255 categories” or “paragraph size should not be more than 32,000 characters”.
46. ​​The program should interact with the user based on the least significant input unit.
47. When you are trying to write the text of the error message, please stop and rework the interface so that the condition under which this error message is triggered does not occur.
48. When the user goes to the next field or window or uses a menu or button, the system should automatically accept the entered data.
49. If the user at the next moment can perform only one action, let this action be performed by the computer.
50. Every time a user has to interact with a computer, this interaction should involve getting a useful result. Moving to the next step in the work itself is not a useful result.
51. The text can also be a visual hint.
52. The computer must be a servant for the user. He should not be equal to man or be his boss.
53. The situation is senseless when it is necessary to open a menu in which it is impossible to make
54. A reasonable person adapts himself to the world. An unreasonable person seeks to adapt the world to himself. Therefore, all progress depends on unwise people. Bernard Show
55. • data should be shown above all else; • maximize the amount of ink used to display data; • minimize the amount of ink that is not used to display data.