📜 ⬆️ ⬇️

Recommendations for designing user interfaces (according to the book by Ruskin "Interface"). Introduction

The material that I am going to present is a summary of Jeff Raskin’s book, supplemented by some reasoning based on my own experience.

Previously, like some other programmers, I did not attach much importance to the user interface of my programs. Much more important was the development of the functionality of the program, algorithms, class systems. All of this I think is important now, but I revised my attitude to the interface. The following considerations made me do it.

First, the interface is (by definition) the only thing that is available to the user when working with the program. Therefore, no matter how great the algorithms are used by the program, no matter how rich the functionality is, if the user cannot access all these features due to the complexity of the interface, this is equivalent to the lack of these features. Imagine: you did something, tried, but did not bother to provide a convenient interface for this - and all your efforts will be lost, no one will need you (unless you yourself). It's a shame, isn't it?
Secondly, I began to think about the practical benefits of application programs for people's lives, and at the same time the benefits that I bring to others as the creator of these programs. Not many programs have a direct impact on the real world - these are mostly programs that control robots and other machines. Most programs do not bring any direct benefit by themselves, since they do not produce any real things and do not transform reality. Well, not even the best text editor can feed, or shod, or raise at least one person. A person can benefit from a program only when with its help he creates something. For example, he will write a novel that will bring something rational, good-eternal to the world, and a writer will bring some equivalent of goods and services, thanks to which you can live for some time. Therefore, as a programmer, I can bring some tangible benefits only by creating convenient programs that other people can use as a tool for creating something really useful (even if only for themselves). In other words, the benefits that a program can bring are inseparable from the users of this program. No matter how obvious, but programs are written for people, therefore, it is not a person who has to adapt to the program, but a program to ensure the convenience and efficiency of a person’s work. Quite succinctly, this argument is formulated in this quotation .
All these thoughts are rather commonplace, however, I understood the importance of developing a user-friendly interface only by fully realizing all the above. Since I can say that I didn’t have experience in developing good user interfaces, I began to study various works on this topic. As a result, I found and read a wonderful book by Jeff Raskin - “Interface. New directions in the design of computer systems. Many other essays on the development of interfaces offer only general considerations and some rules of thumb. On their background, this book stands out in a systematic way. Ruskin in his work is based on the psychology of human perception. He formulates the principles of interface design in accordance with the laws of information perception, and further discusses the various practices of building interfaces based on these principles and laws. So, the material that I am going to present in this series of posts (for one post of text it turned out to be a bit too much) is, for the most part, a generalization of the book of Jeff Raskin, supplemented by some reasoning based on my own experience. I hope my work will be useful both for people just starting to be interested in interface design issues, as well as for those who already have some knowledge and experience and want to either refresh certain individual issues or summarize the information. All interested strongly recommend reading the book.

The structure of the material that will be presented is presented in the following diagram.
image
The whole text will be divided into 3 parts.
1. The first part will describe the features of human perception that are important for the design of the interface, as well as the principles of the interface.
2. The second part is devoted to compiling a catalog of elementary actions and measuring the quantitative characteristics of interfaces.
3. The third part will be a criticism of some of the existing practices of building interfaces and describes some useful ideas proposed by Jeff Raskin in his book.
')
I would appreciate any constructive criticism.

Source: https://habr.com/ru/post/96661/


All Articles