[Do not disturb your users]
A user wants to use the software to achieve the desired goal. But sometimes we will consciously and unconsciously force him to understand some implementation details. Users are not interested in these details. They will only disturb them and cause their confusion, panic or anger.
Non-modal feedback is a way to avoid disturbing and scaring users. When the necessary content of the software system needs to be told to the user, non-modal feedback means that the system is talking to the user, and the user only needs to listen properly without stopping the answer. The traditional modal dialog box is not like this. The system is asking the user, and the user must answer the question without any annoyance; otherwise, subsequent operations are not allowed. The most boring software we have ever seen is the tool used to log on to the network in our school. In turn, five or six dialog boxes are displayed to show you junk information such as what your IP address is and what your website is, each time you have to be able to click OK. I fully believe that the only role it plays is to make you feel bad before going online, so that you are surprised that going online can adjust your mood.
The status bar information and the loading progress bar are all non-modal feedback. In addition, clicking the link is a click, and the task is a slight flash when it is completed, it is also a non-modal feedback, all of them provide you with the information you may need without affecting your normal operation.
before describing the non-modal feedback, we need to know its predecessor, the modal dialog box. The traditional dialog box is divided into four categories: attribute dialog box, function dialog box, progress dialog box, and announcement dialog box. The Properties dialog box shows you the properties or settings of the selected object and allows you to change it, such as the font dialog box. The function dialog box is usually opened from the menu to control a single function, for example, in the insert image dialog box, the Progress dialog box shows you the progress of Program to execute some internal functions, such as the copy file dialog box; the announcement dialog box is a dialog box used by the system to notify the user of a certain information. It is triggered by the system rather than by the user (for example, all the dialog boxes popped up by the spam software that we saw earlier ...). Only well-designed attribute and functional dialogs are the dialogs that users really need (because they are all inspired by users). In most cases, progress dialogs can be replaced by non-modal feedback, for example, in the loading prompt box on Gmail, the biggest advantage is that it allows you to operate normally when the system completes a job and can interrupt this execution. The traditional dialog box, you can only simply cancel the provision. The last announcement dialog box is the most abused and the type of dialog box that needs to be extinct by non-modal feedback. Think about the number of announcements we used today to tell our users about information such as "Data Update completed" and "Input Data Type mismatch. These can be replaced by non-modal feedback to reduce the user's psychological pressure (when you operate a software with a mouse or keyboard, it always pops up a variety of announcement dialog boxes, don't you feel a little surprised ?) And operation pressure (I don't need to talk about it. If you don't feel it, go online every day and click five boring dialogs ).
Of course, sometimes you will be very disdainful. You feel that the notification dialog box popped up when you close the Word document is very good, and it saves you careless countless times. Without the dialog box, whether it is stored or not, the system may not be able to meet your needs. However, if you use Google Docs, your opinion may change a bit. It uses non-modal feedback and won't ask you when you leave, instead, you will save your modifications to the document by default. If you want to repent, it doesn't matter, you can find the document at any previous time point. The reason why this outstanding mode is not used by most local Text Processing Software is that you are reluctant to have a 1 M document to occupy m space on your machine, and most of them will not be used (but what if they are stored on the server? I think you will never mind ).
This is one of the key questions I want to talk about (here is my opinion. Please prepare bricks and tiles ).Important changes must be better than the original onesAccording to my understanding, this means that you need to follow your user's usage habits to implement the interface. Unless you are very confident that you will surprise your users, do not change the original method easily, even if it is really bad. Just as Windows puts the "close" option into the "Start" menu, it is simply unreasonable to think of it as a normal person, but for many years all users have considered this unreasonable habit, if Ms really wants to remove "close" from the "Start" menu, consider the windows in the office. Therefore, our design needs to be optimized based on our users' original usage habits, removing some intolerable and tedious changes. The degree of optimization is related to the implementation cost, development progress, user characteristics, and ease of use in the New Territories. I think this is not a basic prerequisite for the design field in the fairy tale world.
[Treat your users differently]
In addition to the complicated dialog box, it is the culprit for disturbing your users. Providing the same interaction mode for different levels of users is also a heavyweight reason for your users' annoyance. We need to provide different interaction methods for new users, intermediate users, and experts.
Command vectorAndWorking SetAre two important concepts. Command vectors are special techniques that allow users to initiate commands to programs: menus, tool bars, and shortcut keys all belong to this category. Imagine using menus and using Toolbar controls or shortcuts to complete the same task. The menu is intuitive and guided, but the operation is complicated. You need to click and move the mouse multiple times.Teaching VectorToolbar controls and shortcut keys are easy to operate. You only need to give a few mouse or keyboard points, but you need to be familiar with or remember that it belongsDirect Vector. Obviously, the teaching vector is suitable for beginners, and the direct vector is suitable for intermediate users and experts. An excellent software should provide both powerful teaching vectors and precise direct vectors, and distinguish them well to ensure that the teaching vectors do not interfere with direct vectors. In the software, we will use a lot of prompts, such as tooltip and status bar information when you move your mouse or move through the toolbar, when the intermediate user forgets the information, it can be a good reminder and will not disturb the normal use of the toolbar, ensuring the true color of the direct vector in the toolbar. However, if you use a large pop-up bubble, prompt dialog box, or other means to prompt, the direct vector will evolve into a teaching vector (because it interferes with vision and even requires additional interaction ), make sure that it appears as a teaching vector only when it is in use or before the user chooses not to display it. Otherwise, your software will lose the direct vector and embark on the path of abandoning intermediate users.
In addition to designing command vectors that meet different needs, the interface must be closer to the user's working set. The working set refers to the commands and function subsets that the intermediate user remembers. The initial interface should provide direct vectors for most of the minimum work sets of intermediate users (for example, opening and saving in Word documents are all on the toolbar by default, they are functions used by almost every intermediate user). However, with the use of users, the working sets of different users will be very different. For example, a poet who writes poems in word every day (it is estimated that there is no future ...) just some basic indentation and font operations are good. A writer who uses word to make reports every day must be familiar with table creation. An excellent software should easily change the direct vectors it provides by default to match the user's working set. This type of matching can be achieved through user customization (toolbar), automatic memory (last operation), and other means. However, in any case, you must be sure that the more direct vectors, the better (teaching vectors? They need to remember the user (remember the shortcut key, remember the toolbar icon ...), if there are too many options in the menu, the operation efficiency is affected (so putting all options in the menu on the toolbar is a relatively failed choice ). The amount of direct vectors, preferably not many to meet the user's work needs.
[Guide your users correctly]
So far, your software can well meet the daily needs of users, but this is not good enough. It also needs to guide users to make as few mistakes as possible. To achieve this, you must first fail to require users to perform operations beyond their capabilities. For example, you must select the serial port used during installation, when running the program for the first time, let the user select one from a bunch of templates (the premise should be added in the book, that is, those who install and install the software for the first time should be new users, rather than re-installing intermediate users or experts. Although no investigation has been conducted, the evaluation may be somewhat questionable.) This problem is too difficult for a user who just used it, A better way is to default a behavior (do not even ask questions). After users are familiar with the software (upgrade to intermediate users or experts), they can change the default behavior through operations, in this way, they can avoid making major mistakes when they know nothing about them.
Then you also need to use a wealth of information and non-modal feedback for reminder, but also need to provide the most accurate way of interaction. What is a more accurate interaction method? For example, when you allow a user to enter a month, the drop-down box is more accurate than the input box. All InterAction designs should be based on the premise of avoiding mistakes made by users, rather than on the premise of simplicity of implementation. When a user makes a mistake, the prompt will hit your user's confidence. This is easy to say. Sometimes it is hard to understand and sometimes it is too troublesome. However, as long as the conditions (Boss + mood + duration) permit, Please carefully consider whether all the interactive controls you provide (especially the input controls) are the most accurate, it is very likely that your small improvement will multiply the user experience.
[Forgive your users]
No matter what method you use, users may not be able to make mistakes (this error is not necessarily a program problem, but a bit high when users use it ). Maybe you don't need to be ashamed of all the mistakes made by users, but if you can play a vianon role such as dynamic Superman in time, it will make users more comfortable with your software.
There are also many ways to forgive. You can correct user errors. For example, if the content entered by a user violates the format, you can help him improve it into a legal format and secretly tell him; you can also add the reminder function to identify where the user may have made a mistake, such as the spelling error prompt function of word. Of course, the most common function is to cancel and redo the function, A feature that is somewhat different from the mental model but red (unlike LYC, it is not an inexplicable red, but really super-powerful ...).
However, it is not a simple task to do the "cancel redo" function. You should consider the depth of Undo and redo, whether it is effective for the operation in use or some operations, whether it is partial revocation or unified revocation. The best thing I have ever seen is that vs2005's Undo function not only has an infinite undo depth, but also divides the effective areas for Undo redo in units of files. Once, I had a crazy change for N hours.CodeThe results show that most of the modifications are not good, and many files need to return to the initial state. No backup? It doesn't matter. After a press Ctrl + Z, the whole world has returned to a wonderful time in the past. What do you want me to do besides kissing the screen?