Chapter II.10. Principles of User Interface Design
You can divide every program into two parts: a user interface and the part of the program that actually does something useful, such as predicting winning lottery numbers or editing video images.
The whole purpose of a user interface is to give a program a way to
Accept commands from the user.
Accept data from the user.
Display information back to the user.
The user interface basically lets you give information to a program and receive useful information back again, as shown in Figure 10-1. Most user interfaces let people control a program, but a user interface can just as well let inanimate objects (like a motion detector) control a program. Without a user interface, you can't control a program or retrieve any useful information from the program.

Figure II.10-1. The user interface lets you control a program, give it commands, and retrieve useful information back.
The Evolution of User Interfaces
To better understand user interfaces, you need to know how user interfaces evolved and how current user interface designs are meant to solve the problems of the past.
Command-line interface
In the old days, programmers focused on writing the useful part of their program and then as an afterthought, they created a simple user interface for controlling that program. Because the programmers already know how to control their own program, they often create ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access