In computer science, the concept of Interaction styles refers to all the ways the user can communicate or otherwise interact with the computer system. In textbooks, such as Designing the User Interface, by Shneiderman (1986) and HCI: Concepts And Design by Jenny Preece (1994), the types of interaction styles are usually: Command entry, Form filling, Menu selection, and Direct manipulation.
How do users communicate or interact with computer systems? Well, before diving into the matter It is important to say that the interaction style influences the overall usability of a computer system. On the other hand, there are no good or bad interaction styles by default - each of them could suit a particular user group. Moreover, there are specific requirements for each interaction style to make it expressive and usable. Now let's go and see individually each of the four styles above mentioned.
Computers are used to proceed information and commands provide a way of expressing instructions to the computer directly. They can take the form of function keys, single characters, short abbreviations, whole words, or a combination of the first two. The advantages of using this interaction style are flexibility because it supports the creation of user-defined "scripts" but the disadvantages are that it is generally more difficult to remember an arbitrary letter than a well-chosen command name. Therefore, the learnability of commands is very poor and that can lead to high error rates.
Example of command entry, image from Geeks for geeks
The user types the data in specific fields, similar to the fields on a paper fill-in form. Many office and database applications use this style, the advantage of having fill-in forms is that they can help users position data in the correct place, thereby reducing the need to watch the screen too carefully. Forms need to be designed in a way to enable users to know which kinds of data are permissible in each field. One way to make forms easy to use is to design them so that they are similar to well-designed paper forms in the way they look and are filled in.
Example of form fill, image from Data Miner
Possible user actions are listed on the screen and the user can select one of them. Gopher is an example (maybe an old one) but most MS Windows applications also include menus. Unlike command-driven systems, menus have the advantage that users do not have to remember the item they want, they only need to recognize it. That means, in order to design effective menus, designers need to clearly show icons selected and the names need to be self-explanatory. But there are always downsides, in this case too many menus may lead to information overload or complexity, and menus may not be ideal for small graphic displays.
Example of menu, image from QT
The objects used in the application are graphically represented on the screen and the user can manipulate them directly by pointing, clicking, dragging, typing, etc. Most windowing systems or GUI's (Graphical User Interface) are based on graphical direct manipulation. The Apple Macintosh was the first widely successful general-purpose commercial system to include direct manipulation features. It is based on the metaphor of a desktop, in which icons representing objects commonly associated with desktops are used. Well-designed direct manipulation systems may also generate enthusiasm and enjoyment from their users. One of the problems with direct manipulation, however, is that not all tasks can be described by concrete objects and not all actions can be performed directly.
Example of an early direct manipulation, image from Infovis Wiki
Todays' technology is almost impossible to keep up with. A lot of research is directed towards the use of natural language as the human-computer interface. Other interaction styles today are dialog boxes, zoomable maps (Google Earth), and zoomable interfaces for managing vast amounts of information. The tech world is ever-changing and evolving there are some other interaction styles and soon there will be some other. Using a good combination of the styles described in the article is the basis of any computer system but don't forget that more attention has to be paid to the overall consistency of the application.