Everything written below concerns not only and not so much experienced users as expressing generalized reasons for disliking modern computers (that is,
computer interfaces , since the external appearance of computers does not cause any particular complaints) from little users who don’t want to spend a lot of time on gaining competence. .
So, three most hated things for users:
changes, surprises, context gap .
In all my reasoning, I will be based on the concept of “an interface for solving a problem”, because the only reason why a user uses a computer is because he can solve a particular task, which I will call an “interface”.
')
Alternatively, I will compare several other interfaces: car, piano, typewriter.
Changes
Computers allow you to change the interface (I remind you that we are talking about an interface for solving a problem) very quickly and easily. The emergence of new functions poses the programmer / interface developer / etc the problem of logical reordering of elements. For example, there were three functions in top level, now there are seven of them, let's divide them into two logical groups (3 and 4) - everything is OK, no chaos.
From the user's point of view: there used to be three logical functions, now they have disappeared somewhere, in their place appeared two menus, with one action in the first menu, and the remaining two in the second. Hell, horror, death, curse to the programmer.
Why? Because when a person together with a computer solves a problem, changing the interface requires taking a break from solving the problem and starting to re-train motor reflexes, instincts, behavior patterns, etc. In other words, it pushes the user from the position of an experienced user into the position of a “novice user”. Reducing performance, sometimes leaving with an unsolved problem (although it used to be well solved!).
Let's see how this problem is solved on three mechanical examples. Change of driving occurs with the car. And it causes quite significant problems for a person - even transfer to another car - at least get used to the brakes. But the change of the automaton to the mechanics is a whole adventure. However, like back. The solution to the problem of changing the interface of the car is a clear understanding by the user of the scope of what he has to retrain.
A similar change on the piano - as I recall, the maximum that can be seen is the presence / absence of a moderator, the third pedal (compared to two). Everything else has been consistently for centuries.
Typewriter - the most volatile of, especially in the area of ​​auxiliary units. But even there all the changes are local and well-understood scale. “On the last typewriter, I had a tab button, and here, instead of it, a group of T1-T4 buttons on top.” But the main functionality remains again unchanged.
Surprises
Driving a car brings the maximum number of surprises compared to all other activities. But all these surprises are in the context of the task. Roughly speaking, a dog who jumped out onto the road is a surprise within the framework of the task of driving. But the sudden transition from the front to the rear-wheel drive in the process of driving at speed - this is from the category of luck did not come true fiction. The remaining two tasks have a similar situation; it is also unlikely to encounter an unexpected change in the problem.
But in all modern interfaces - easily. I will not give ridiculous and boring examples, I think everyone understands that any modern application can do unexpected things. The disappearance of the menu, “beginning to spoil everything”, “strange signs appeared”, etc.
Context break
And all this really means one thing: a gap in context. A person is suddenly suddenly pushed out of his local and cozy problem into a harsh, raging sea of ​​abstractions, concepts, models and principles of construction, which he does not understand at all and does not have the resources to study.
There are so many levels of abstraction in modern computers that no one can remember and know them all. Changing them, unexpected and falling out of the user - is always a context gap. Instead of his task, the user begins (forced) to think about local problems related to something insanely distant.
In cars, it happens, by the way. And suddenly the smoke started and the car got up. The person breaks away from the driving process and must find out the reasons (and act urgently). And, suddenly, instead of winding up, sneezes and makes strange sounds. A bunch of lights flashed and flashed. Etc.
But with regard to automobiles, it is clearly known that these are all signs of poor quality (or terrible exploitation), that is, such context breaks are clearly interpreted as emergency. For cars it is considered a sign of high quality not to do such things for the user. Likewise for a typewriter for catching letters, or for a piano with a sliding tuning of the strings.
Why, for computers, are context breaks considered completely normal? Rearrange the buttons in the dialog box? How nefig do. Pack everything in the five menus and require you to hover on the menu before you show it? How nefig do, and more proud of it. Enable mega-super view mode? Elementary.
Ask a question (or just show a message) in the middle of work? Easily. I consider the most vivid example for me to be the appearance of a message that only 15% of the battery is left on top of the navigation application, moreover, with the screen off automatically several tens of seconds after the message appears and the requirement to enter the password for unlocking. This is provided that the driver should have his hands on the steering wheel, generally speaking, and not enter the pin code.
Command line
And then, suddenly, I want to remember about the command line interface. Do you know why it is comfortable? Because there are almost no surprises. Problems may be. The situation “I don’t know how” can be. The situation is "too difficult to do" - may be. However, they are all within context. Without his breaks.
coreutils (and their predecessors), that is, the ls, cp, mv, cat, xargs, head, less, etc commands have been around for several decades. You can sit at the console and have an interface that is unchanged, which exactly does what it has been doing for the last 20 years, and which will exactly do what the user says. (yes, I understand that you can break the terminal, with evil console_codes, and forgotten quotes in can greatly strain, and Ctrl-Z / C does not always work ...). But in comparison with any graphical interfaces, the command line has only one plus - it does not change. And it does not change its behavior at the next restyling of everything and everything. For this, she is loved by professionals who rarely fall into the "inexperienced user" mode and which allows you to improve your motor skills without "a new level, all skills are reset."
I wonder how many years must pass in order for such a simple thing as a fixed interface to appear in graphical interfaces?