Menu
Is free
registration
home  /  Installation and setup   / Technologies for developing user interfaces. A striking example of programs with a graphical interface is the Microsoft Windows operating system

User Interface Development Technologies. A striking example of programs with a graphical interface is the Microsoft Windows operating system

Command interface

The oldest interface is command interface (command line interface), which was most common during the heyday of large multi-user systems with alphanumeric displays. The command interface is characterized by user interaction with a computer using the command line, into which commands of a certain format are entered, and then transferred to execution.

The command interface is implemented in the form of packet technology and command line technology.

To enter information, the user uses a keyboard or other character input device. The user receives information in the form of text through a display or a printing device (rather rarely).

Figure 1. Example command interface

Working with the command interface was as follows:

  • the user entered the command using a sequence of characters (command line);
  • the computer compared the received command with the set of commands in its memory;
  • an action was performed that corresponded to the received command.

Remark 1

An interesting feature of the command line interface is the ability to interact between two programs by simulating a user’s action program. The ease of issuing commands and analyzing the displayed text makes this very effective.

The benefits of the command line interface include:

  • low hardware requirements - the minimum set for operation is a keyboard and character output device or terminal;
  • high degree of unification - interaction is provided through input and output of characters, which is often implemented through file I / O;
  • widespread integration of programs - through the use of the shell and redirection of input-output.

The disadvantages of the command interface are:

  • poor visualization of the interface - you need to remember the commands or use the directory;
  • limited ability to display information - no graphics.

Most often, the command interface is used when working with the command interpreter, which is used as an operating system management interface (Linux, xBSD, QNX, MS-DOS, etc.).

  Graphical user interface

GUI, WIMP interface  (Window Image Menu Pointer) is an integral component of most modern software that are focused on the end user. The user dialogue with a PC in the graphical interface is carried out using graphic objects: menus, icons, and other elements.

The main advantages of the graphical interface:

  • visibility of objects;
  • providing clarity to the user;
  • similarity of program interfaces that are written specifically for use in a graphical environment.

When working with a graphical interface, a mouse and keyboard are used to manipulate graphic objects. The user works with screen forms that contain control objects, menus, toolbars.

Figure 2. Example GUI

  Voice interface

Voice interface, SILK interface  (Speech Image Language Knowledge) at the moment exists only as a "voice" (not counting biometric interfaces, which are used not for PC control, but only for user identification). Using the speech interface is a very promising area, as Voice input is the fastest and most convenient way. Because the quality of recognition of oral speech is not yet ideal, the practical implementation of the speech interface has not yet become dominant.

The speech interface provides an approximate form of a normal, human form of communication. The PC analyzes human speech, finds keywords in it, by which it determines commands. The speech interface requires high performance PC hardware resources, so its use is so far limited by military affairs.

Figure 3

When using the speech interface on the screen at the command of the user, the PC navigates between the search images using semantic semantic links. The speech system makes it possible to increase work efficiency due to the fact that:

  • indicates to the user errors in the work and finds ways to solve them;
  • reports on situations that need to be corrected;
  • searches for information from information retrieval systems.

Remark 2

Modern operating systems support command, graphic and voice interfaces.

Recently, new types of interface, such as biometric  (mimic) and semantic  (public). In this regard, the problem of creating a public interface has been posed, which will include the best solutions for graphical and speech interfaces.

Like any technical device, a computer exchanges information with a person through a set of specific rules that are binding on both the machine and the person. These rules in computer literature are called an interface. The interface can be clear and incomprehensible, friendly and not. Many adjectives approach it. But in one thing he is constant: he is, and you can’t get anywhere from him.

Interface  - these are the rules of interaction between the operating system and users, as well as neighboring levels in the computer network. The technology of communication between a person and a computer depends on the interface.

Interface  - This is, first of all, a set of rules. Like any rules, they can be generalized, compiled into a "code", grouped according to a common criterion. Thus, we came to the concept of "type of interface" as a union of similarity of methods of interaction between humans and computers. We can propose the following schematic classification of the various interfaces of communication between a person and a computer (Fig. 1.).

Batch technology.  Historically, this type of technology appeared first. It already existed on the relay machines Süs and Züse (Germany, 1937). Its idea is simple: a sequence of characters is fed to the computer input, in which, according to certain rules, a sequence of programs launched to execute is indicated. After the next program is executed, the next one, etc. is launched. According to certain rules, a machine finds commands and data for itself. This sequence can be, for example, a punched tape, a stack of punched cards, a sequence of keystrokes of an electric typewriter (such as CONSUL). The machine also issues messages to a puncher, alphanumeric printing device (ADCU), and typewriter tape.

Such a machine is a “black box” (more precisely, a “white cabinet”), into which information is constantly supplied and which also constantly “informs” the world about its condition. The man here has little influence on the operation of the machine - he can only suspend the operation of the machine, change the program and restart the computer. Subsequently, when the machines became more powerful and could serve several users at once, the eternal expectation of users like: "I sent data to the machine. I wait for it to respond. And will it respond at all?" - became, to put it mildly, annoying. In addition, computer centers, following the newspapers, became the second largest "producer" of waste paper. Therefore, with the advent of alphanumeric displays, the era of truly user-friendly technology, the command line, has begun.

Command interface

The command interface is called so because in this type of interface a person gives "commands" to the computer, and the computer executes them and gives the result to the person. The command interface is implemented in the form of packet technology and command line technology.


With this technology, the keyboard is the only way to enter information from a person to a computer, and the computer displays information to a person using an alphanumeric display (monitor). This combination (monitor + keyboard) began to be called a terminal, or console.

Commands are typed on the command line. The command line is an invitation symbol and a flashing rectangle is a cursor. When a key is pressed, symbols appear at the cursor location, and the cursor itself moves to the right. The command ends by pressing the Enter (or Return.) Key. After that, you go to the beginning of the next line. It is from this position that the computer displays the results of its work on the monitor. Then the process is repeated.

Command line technology has already worked on monochrome alphanumeric displays. Since only letters, numbers, and punctuation were allowed to be entered, the technical characteristics of the display were not significant. As a monitor, you could use a television receiver and even an oscilloscope handset.

Both of these technologies are implemented in the form of a command interface - commands are sent to the machine, and it seems to “respond” to them.

The predominant type of files when working with the command interface are text files - they and only they could be created using the keyboard. At the time of the most widespread use of the command line interface, the advent of the UNIX operating system and the appearance of the first eight-bit personal computers with the multi-platform CP / M operating system occurred.

WIMP - interface  (Window - window, Image - image, Menu - menu, Pointer - pointer). A characteristic feature of this type of interface is that the dialogue with the user is carried out not with the help of commands, but with the help of graphic images - menus, windows, other elements. Although commands are issued to the machine in this interface, but this is done “directly” through graphic images. The idea of \u200b\u200ba graphical interface arose in the mid-70s when the concept of a visual interface was developed at the Xerox Palo Alto Research Center (PARC). A prerequisite for the graphical interface was a decrease in the reaction time of a computer to a command, an increase in the amount of RAM, and also the development of the technical base of computers. The hardware basis of the concept, of course, was the appearance of alphanumeric displays on computers, and on these displays there were already such effects as “flickering” of characters, color inversion (reverse the appearance of white characters on a black background, that is, black characters on a white background ), underscore characters. These effects did not extend to the entire screen, but only to one or more characters. The next step was to create a color display that allows you to display, together with these effects, characters in 16 colors against a background with a palette (that is, a color set) of 8 colors. After the appearance of graphic displays, with the possibility of displaying any graphic images in the form of many dots on the screen of various colors, the imagination to use the screen did not become borders at all! PARC's first 8010 Star Information System graphical interface system thus appeared four months before the first IBM computer in 1981. Initially, the visual interface was used only in programs. Gradually, he began to switch to operating systems, first used on Atari and Apple Macintosh computers, and then on IBM - compatible computers.

From an earlier time, and under the influence of these concepts as well, there was a process of unification in the use of keyboard and mouse by application programs. The merging of these two trends led to the creation of the user interface with which, with minimal time and money spent on retraining personnel, you can work with any software product. The description of this interface, common to all applications and operating systems, is dedicated to this part.

The graphical user interface during its development went through two stages and is implemented at two technology levels: a simple graphical interface and a "clean" WIMP interface.

At the first stage, the graphical interface was very much like command line technology. Differences from command line technology were as follows:

Ú When displaying characters, it was possible to highlight part of the characters with color, inverse image, underline and flicker. Thanks to this, the expressiveness of the image increased.

Ú Depending on the specific implementation of the graphical interface, the cursor can be represented not only by a flickering rectangle, but also by some area covering several characters and even part of the screen. This selection is different from other, unselected parts (usually color).

Ú Pressing the Enter key does not always lead to the execution of the command and the passage to the next line. The response to pressing any key largely depends on which part of the screen the cursor was located.

Ú In addition to the Enter key, the gray keys for controlling the cursor began to be used on the keyboard more and more (see the section on the keyboard in Release 3 of this series.)

Ú Already in this edition of the graphical interface manipulators began to be used (such as a mouse, trackball, etc. - see Figure A.4.) They made it possible to quickly select the desired part of the screen and move the cursor.

Summing up, we can cite the following distinctive features of this interface:

Ú Highlight areas of the screen.

Ú Override keyboard keys according to context.

Ú Using the paddles and gray keys of the keyboard to control the cursor.

Ú Widespread use of color monitors.

The appearance of this type of interface coincides with the widespread use of the MS-DOS operating system. It was she who introduced this interface to the masses, thanks to which the 80s passed under the sign of improving this type of interface, improving the display of characters and other monitor parameters.

A typical example of using this type of interface is the Nortron Commander file shell and the Multi-Edit text editor. And the Lexicon, ChiWriter, and Microsoft Word for Dos word processors are examples of how this interface surpassed itself.

The second step in the development of the graphical interface was the "clean" WIMP interface. This subspecies of the interface is characterized by the following features:

Ú All work with programs, files and documents takes place in windows - defined parts of the screen outlined by a frame.

Ú All programs, files, documents, devices and other objects are represented as icons - icons. When opened, the icons turn into windows.

Ú All actions with objects are carried out using the menu. Although the menu appeared at the first stage of the formation of the graphical interface, it did not have a dominant value in it, but served only as an addition to the command line. In a pure WIMP interface, the menu becomes the main control.

Ú Widespread use of manipulators to indicate objects. The manipulator is no longer just a toy - an addition to the keyboard, but becomes the main control element. Using the manipulator, they point to any area of \u200b\u200bthe screen, window or icon, select it, and only then manage them through the menu or using other technologies.

It should be noted that WIMP requires a high-resolution color raster display and pointing device for its implementation. Also, programs focused on this type of interface impose increased requirements on computer performance, its memory size, bus bandwidth, etc. However, this type of interface is the easiest to learn and intuitive. Therefore, now WIMP - the interface has become the de facto standard.

A striking example of programs with a graphical interface is the Microsoft Windows operating system.

Silk  - interface (Speech - speech, Image - image, Language - language, Knowlege - knowledge). This kind of interface is closest to the normal, human form of communication. Within the framework of this interface there is a usual "conversation" between a person and a computer. At the same time, the computer finds commands for itself, analyzing human speech and finding key phrases in it. He also converts the result of the execution of commands into a human-readable form. This type of interface is most demanding on the hardware resources of the computer, and therefore it is used mainly for military purposes.

Since the mid-90s, after the advent of low-cost sound cards and the widespread adoption of speech recognition technologies, the so-called "speech technology" of the SILK interface has appeared. With this technology, commands are given by voice by pronouncing special reserved words - commands.

Words should be spoken clearly at the same pace. A pause is required between words. Due to the underdevelopment of the speech recognition algorithm, such systems require individual pre-configuration for each specific user.

The speech technology is the simplest implementation of the SILK interface.

Biometric Technology ("Mimic Interface".)

This technology arose in the late 90s of the XX century and is still being developed at the time of writing. To control the computer, a person’s facial expression, his gaze, pupil size and other signs are used. To identify the user, a picture of the iris of his eyes, fingerprints and other unique information is used. Images are read from a digital video camera, and then commands are extracted from this image using special image recognition programs. This technology is likely to take its place in software products and applications where it is important to accurately identify the computer user.

TEST

by discipline

"System software"

Theme: "User Interface"



Introduction

1. The concept of user interface

2. Types of interfaces

2.1 Command Interface

2.2 GUI

2.2.1 Simple graphical interface

2.2.2 WIMP - interface

2.3 Speech Technology

2.4 Biometric Technology

2.5 Semantic (public) interface

2.6 Interface Types

3. Methods and tools for user interface development

4. Standardization of the user interface

Bibliography


Introduction


As you know, the process of penetration of information technology in almost all spheres of human activity continues to develop and deepen. In addition to the already familiar and widespread personal computers, the total number of which has reached many hundreds of millions, there are more and more built-in computer tools. There are more and more users of all this diverse computer technology, with the development of two seemingly opposite trends. On the one hand, information technologies are becoming more complicated, and for their application, and even more so for further development, it is necessary to have very deep knowledge. On the other hand, the interfaces of user interaction with computers are simplified. Computers and information systems are becoming more friendly and understandable even for a person who is not an expert in the field of computer science or computer technology. This became possible primarily because users and their programs interact with computer technology through special (system) software - through the operating system. The operating system provides interfaces for both running applications and users.


1. The concept of user interface


Interface - a set of technical, software and methodological (protocols, rules, agreements) means of interfacing in a computer system of users with devices and programs, as well as devices with other devices and programs.

An interface - in the broad sense of the word, is a way (standard) of interaction between objects. An interface in the technical sense of the word defines the parameters, procedures, and characteristics of the interaction of objects. Distinguish:

User interface - a set of methods for the interaction of a computer program and the user of this program.

The program interface is a set of methods for interaction between programs.

A physical interface is a way that physical devices interact. Most often we are talking about computer ports.

A user interface is a combination of software and hardware that allows a user to interact with a computer. The basis of this interaction is dialogue. In this case, dialogue is understood as a regulated exchange of information between a person and a computer, carried out in real time and aimed at the joint solution of a specific problem. Each dialogue consists of separate input / output processes that physically provide the connection between the user and the computer. Information is exchanged by sending a message.


Fig. 1. User interaction with a computer


Basically, the user generates the following types of messages:

information request

help request

operation or function request

entering or changing information

In response, the user receives prompts or help; information messages requiring a response; orders requiring action; error messages and other information.

The user interface of a computer application includes:

means for displaying information, displayed information, formats and codes;

command modes, user-interface language;

dialogs, interaction and transactions between the user and the computer, user feedback;

decision support in a specific subject area;

the procedure for using the program and the documentation for it.

The user interface (PI) is often understood only as the appearance of the program. However, in reality, the user perceives through him the whole program as a whole, which means that such an understanding is too narrow. In fact, PI combines all the elements and components of a program that can influence the interaction of a user with software.

This is not only the screen that the user sees. These items include:

a set of user tasks that he solves using the system;

metaphor used by the system (for example, the desktop in MS Windows®);

system controls

navigation between system blocks;

visual (and not only) design of program screens;

means for displaying information, displayed information and formats;

devices and technologies for data input;

dialogs, interaction and transactions between the user and the computer;

user feedback;

decision support in a specific subject area;

the procedure for using the program and its documentation.


2. Types of interfaces


An interface is, first of all, a set of rules. Like any rules, they can be generalized, compiled into a "code", grouped according to a common criterion. Thus, we came to the concept of "type of interface" as a union of similarity of methods of interaction between humans and computers. In brief, the following schematic classification of various human-computer communication interfaces can be proposed.

Modern types of interfaces are:

1) The command interface. The command interface is called so because in this type of interface a person gives "commands" to the computer, and the computer executes them and gives the result to the person. The command interface is implemented in the form of packet technology and command line technology.

2) WIMP - interface (Window - window, Image - image, Menu - menu, Pointer - pointer). A characteristic feature of this type of interface is that the dialogue with the user is carried out not with the help of commands, but with the help of graphic images - menus, windows, other elements. Although commands are issued to the machine in this interface, but this is done "directly" through graphic images. This type of interface is implemented at two technology levels: a simple graphical interface and a "clean" WIMP interface.

3) SILK - interface (Speech - speech, Image - image, Language - language, Knowlege - knowledge). This kind of interface is closest to the normal, human form of communication. Within the framework of this interface there is a usual "conversation" between a person and a computer. At the same time, the computer finds commands for itself, analyzing human speech and finding key phrases in it. He also converts the result of the execution of commands into a human-readable form. This type of interface is most demanding on the hardware resources of the computer, and therefore it is used mainly for military purposes.

2.1 Command Interface


Batch technology. Historically, this type of technology appeared first. It already existed on the relay machines Süs and Züse (Germany, 1937). Its idea is simple: a sequence of characters is fed to the computer input, in which, according to certain rules, a sequence of programs launched to execute is indicated. After the next program is executed, the next one, etc. is launched. According to certain rules, a machine finds commands and data for itself. This sequence can be, for example, a punched tape, a stack of punched cards, a sequence of keystrokes of an electric typewriter (such as CONSUL). The machine also issues messages to a puncher, alphanumeric printing device (ADCU), and typewriter tape. Such a machine is a "black box" (more precisely, a "white cabinet") into which information is constantly supplied and which also constantly "informs" the world about its condition (see Figure 1). A person here has little influence on the operation of the machine - he can only pause the machine, change the program and restart the computer. Subsequently, when the machines became more powerful and could serve several users at once, the eternal expectation of users like: "I sent data to the machine. I wait for it to respond. And will it respond at all?" - it became, to put it mildly, annoying. In addition, computer centers, following the newspapers, became the second largest "producer" of waste paper. Therefore, with the advent of alphanumeric displays, the era of truly user-friendly technology, the command line, has begun.

Fig. 2. Type of mainframe EC series


Command line technology. With this technology, the keyboard is the only way to enter information from a person to a computer, and the computer displays information to a person using an alphanumeric display (monitor). This combination (monitor + keyboard) began to be called a terminal, or console. Commands are typed on the command line. The command line is an invitation symbol and a flashing rectangle is a cursor. When a key is pressed, symbols appear at the cursor location, and the cursor itself moves to the right. This is very similar to typing a typewriter command. However, unlike it, letters are displayed on the display, not on paper, and an incorrectly typed character can be erased. The command ends by pressing the Enter (or Return) key. After that, you go to the beginning of the next line. It is from this position that the computer displays the results of its work on the monitor. Then the process is repeated. Command line technology has already worked on monochrome alphanumeric displays. Since only letters, numbers, and punctuation were allowed to be entered, the technical characteristics of the display were not significant. As a monitor, you could use a television receiver and even an oscilloscope handset.

Both of these technologies are implemented in the form of a command interface - commands are sent to the machine, and it seems to “respond” to them.

The predominant type of files when working with the command interface are text files - they and only they could be created using the keyboard. At the time of the most widespread use of the command-line interface, the advent of the UNIX operating system and the appearance of the first eight-bit personal computers with the multi-platform CP / M operating system occurred.


2.2 GUI


How and when did the GUI appear? His idea originated in the mid-70s when the concept of a visual interface was developed at the Xerox Palo Alto Research Center (PARC). A prerequisite for the graphical interface was a decrease in the reaction time of a computer to a command, an increase in the amount of RAM, and also the development of the technical base of computers. The hardware basis of the concept, of course, was the appearance of alphanumeric displays on computers, and on these displays there were already such effects as “flickering” of characters, color inversion (reverse the appearance of white characters on a black background, that is, black characters on a white background ), underscore characters. These effects did not extend to the entire screen, but only to one or more characters. The next step was to create a color display that allows you to display, together with these effects, characters in 16 colors against a background with a palette (that is, a color set) of 8 colors. After the appearance of graphic displays, with the possibility of displaying any graphic images in the form of many dots on the screen of various colors, the imagination to use the screen did not become borders at all! PARC's first 8010 Star Information System graphical interface system thus appeared four months before the first IBM computer in 1981. Initially, the visual interface was used only in programs. Gradually, he began to switch to operating systems, first used on Atari and Apple Macintosh computers, and then on IBM - compatible computers.

From an earlier time, and under the influence of these concepts as well, there was a process of unification in the use of keyboard and mouse by application programs. The merging of these two trends led to the creation of the user interface with which, with minimal time and money spent on retraining personnel, you can work with any software product. The description of this interface, common to all applications and operating systems, is dedicated to this part.


2.2.1 Simple graphical interface

At the first stage, the graphical interface was very much like command line technology. Differences from command line technology were as follows:

1. When displaying characters, it was allowed to highlight part of the characters with color, inverse image, underline and flicker. Thanks to this, the expressiveness of the image increased.

2. Depending on the specific implementation of the graphical interface, the cursor can be represented not only by a flickering rectangle, but also by some area covering several characters and even part of the screen. This selection is different from other, unselected parts (usually color).

3. Pressing the Enter key does not always lead to the execution of the command and go to the next line. The response to pressing any key largely depends on which part of the screen the cursor was located.

4. In addition to the Enter key, the gray keys for controlling the cursor have increasingly been used on the keyboard.

5. Already in this edition of the graphical interface manipulators began to be used (such as a mouse, trackball, etc. - see Fig. 3). They made it possible to quickly select the desired part of the screen and move the cursor.


Fig. 3. Manipulators


Summing up, we can cite the following distinctive features of this interface.

1) Selecting areas of the screen.

2) Overriding keyboard keys depending on context.

3) Use of manipulators and gray keys of the keyboard to control the cursor.

4) Widespread use of color monitors.

The appearance of this type of interface coincides with the widespread use of the MS-DOS operating system. It was she who introduced this interface to the masses, thanks to which the 80s passed under the sign of improving this type of interface, improving the display of characters and other monitor parameters.

A typical example of using this type of interface is the Nortron Commander file shell (see file shells below) and the Multi-Edit text editor. And the Lexicon, ChiWriter, and Microsoft Word for Dos word processors are examples of how this interface surpassed itself.

2.2.2 WIMP - interface

The second step in the development of the graphical interface was the "clean" WIMP interface. This subspecies of the interface is characterized by the following features.

1. All work with programs, files and documents takes place in windows - certain parts of the screen outlined by a frame.

2. All programs, files, documents, devices and other objects are represented as icons - icons. When opened, the icons turn into windows.

3. All actions with objects are carried out using the menu. Although the menu appeared at the first stage of the formation of the graphical interface, it did not have a dominant value in it, but served only as an addition to the command line. In a pure WIMP interface, the menu becomes the main control.

4. Widespread use of manipulators to indicate objects. The manipulator is no longer just a toy - an addition to the keyboard, but becomes the main control element. Using the manipulator, INDICATE on any area of \u200b\u200bthe screen, windows or icons, SELECT it, and only then, through the menu or using other technologies, they are controlled.

It should be noted that WIMP requires a high-resolution color raster display and pointing device for its implementation. Also, programs focused on this type of interface impose increased requirements on computer performance, its memory size, bus bandwidth, etc. However, this type of interface is the easiest to learn and intuitive. Therefore, now WIMP - the interface has become the de facto standard.

A striking example of programs with a graphical interface is the Microsoft Windows operating system.

2.3 Speech Technology


Since the mid-90s, after the advent of low-cost sound cards and the widespread adoption of speech recognition technologies, the so-called "speech technology" of the SILK interface has appeared. With this technology, commands are given by voice by pronouncing special reserved words - commands. The main such teams (according to the rules of the Gorynych system) are:

"Rest" - turn off the speech interface.

"Open" - the transition to the call mode of a program. The name of the program is called in the next word.

"I will dictate" - the transition from command mode to voice typing mode.

"Command mode" - return to voice command mode.

and some others.

Words should be spoken clearly at the same pace. A pause is required between words. Due to the underdevelopment of the speech recognition algorithm, such systems require individual pre-configuration for each specific user.

The speech technology is the simplest implementation of the SILK interface.


2.4 Biometric Technology


This technology arose in the late 90s of the XX century and is still being developed at the time of writing. To control the computer, a person’s facial expression, his gaze, pupil size and other signs are used. To identify the user, a picture of the iris of his eyes, fingerprints and other unique information is used. Images are read from a digital video camera, and then commands are extracted from this image using special image recognition programs. This technology is likely to take its place in software products and applications where it is important to accurately identify the computer user.


2.5 Semantic (public) interface


This type of interface arose in the late 70s of the XX century, with the development of artificial intelligence. It is difficult to call it an independent type of interface - it includes a command line interface, and a graphical, and speech, and facial interface. Its main distinguishing feature is the lack of commands when communicating with a computer. The request is formed in natural language, in the form of related text and images. At its core, it is difficult to call an interface - it is already a simulation of a person’s “communication” with a computer. Since the mid 90s of the 20th century, publications related to the semantic interface have not been seen. It seems that due to the important military significance of these developments (for example, for autonomous modern combat by machines - robots, for "semantic" cryptography) these directions were classified. Information that these studies are ongoing sometimes appears in periodicals (usually in computer news sections).


2.6 Interface Types


There are two types of user interfaces:

1) procedurally oriented:

primitive

with free navigation

2) object oriented:

direct manipulation.

The procedure-oriented interface uses a traditional model of user interaction based on the concepts of “procedure” and “operation”. Within the framework of this model, the software provides the user with the ability to perform certain actions for which the user determines the compliance of the data and the consequence of which is to obtain the desired result.

Object-oriented interfaces use a user interaction model focused on manipulating domain objects. Within the framework of this model, the user is given the opportunity to directly interact with each object and initiate operations in the process of which several objects interact. The user's task is formulated as a deliberate change of some object. An object is understood in the broad sense of the word - a model of a database, system, etc. The object-oriented interface assumes that user interaction is carried out by selecting and moving the icons of the corresponding object-oriented area. There are single-document (SDI) and multi-document (MDI) interfaces.

Procedurally oriented interfaces:

1) Provide the user with the functions necessary to perform tasks;

2) The emphasis is on tasks;

3) Pictograms represent applications, windows, or operations;

Object Oriented Interfaces:

1) Provides the user with the ability to interact with objects;

2) The emphasis is on input and results;

3) Pictograms represent objects;

4) Folders and directories are visual containers of objects.

Primitive is an interface that organizes user interaction and is used in console mode. The only deviation from the sequential process that is provided by the data is to organize a cycle to process multiple data sets.

Menu Interface Unlike the primitive interface, it allows the user to select an operation from a special list displayed by the program. These interfaces assume the implementation of many work scenarios, the sequence of actions in which is determined by users. The tree-based organization of the menu implies a strictly limited implementation. In this case, two options for organizing the menu are possible:

each menu window occupies the entire screen

on the screen at the same time there are several different-level menus (Windows).

In conditions of limited navigation, regardless of the implementation option, finding an item from more than two level menus is quite a challenge.

Interface with free navigation (graphical interface). It supports the concept of interactive interaction with software, visual feedback from the user and the ability to directly manipulate the object (buttons, indicators, status bars). Unlike the Menu interface, the interface with free navigation provides the ability to carry out any operations acceptable in a particular state, which can be accessed through various interface components (hot keys, etc.). The interface with free navigation is implemented using event programming, which involves the use of visual development tools (via messages).

3. Methods and tools for user interface development


The interface is important for any software system and is an integral part of it, focused primarily on the end user. It is through the interface that the user judges the application program as a whole; Moreover, the user often makes the decision to use the application program according to how user friendly and understandable the user interface is. However, the complexity of designing and developing the interface is quite large. According to experts, on average it is more than half the time of the project. Relevant is the reduction of costs for the development and maintenance of software systems or the development of effective software tools.

One of the ways to reduce the costs of developing and maintaining software systems is the availability of fourth-generation tools in the toolkit, which allow to describe (specify) the software being created at a high level and automatically generate executable code according to the specifications.

In the literature, there is no single universally accepted classification of tools for developing a user interface. So, the user interface development software can be divided into two main groups - toolkits for user interface development and higher-level development tools. Tools for developing a user interface, as a rule, include a library of primitives of interface components (menus, buttons, scroll bars, etc.) and are intended for use by programmers. High-level interface development tools can be used by non-programmers and are provided with a language that allows you to specify I / O functions, as well as determine, using the direct manipulation technique, interface elements. Such tools include interface builders and SUPI - User Interface Management Systems (UIMS). In addition to SUPI, some authors use terms such as User Interface Development Systems (UIDS) - user interface development systems, User Interface Design Environment (UIDE) - user interface development environment, etc.

Specialized tools for developing the interface simplify the development of the user interface by inviting the developer to specify user interface components using specification languages. There are several main ways of specifying an interface:

1. Language, when special languages \u200b\u200bare used to set the interface syntax (declarative, object-oriented, event languages, etc.).

2. The graphic specification is related to the definition of the interface, as a rule, by means of visual programming, programming of demos and examples. A similar method supports a limited class of interfaces.

3. An interface specification based on an object-oriented approach is associated with a principle called direct manipulation. Its main property is user interaction with individual objects, and not with the whole system as a whole. Typical components used to manipulate objects and control functions are handlers, menus, dialog areas, buttons of various kinds.

4. Interface specification for application specification. Here the interface is created automatically according to the specification of the semantics of the applied task. However, the complexity of the interface description makes it difficult for the systems that implement this approach to appear soon.

The main concept of SUPI is to separate user interface development from the rest of the application. Currently, the idea of \u200b\u200bseparate interface and application design is either enshrined in the definition of SOUP or is its main property.

The composition of the SOUP is defined as a set of tools for the development phase and execution period. Development stage tools operate with interface models to build their projects. They can be divided into two groups: interactive tools, such as model editors, and automatic tools, such as a form generator. Runtime tools use an interface model to support user activity, for example, to collect and analyze the data used.

The functions of SUPI are to facilitate and facilitate the development and maintenance of the user interface, as well as control the interaction between the user and the application program.

Thus, there are currently a large number of tools for developing an interface that support various methods for its implementation.


4. Standardization of the user interface


In the first approach, the evaluation is performed by the end user (or tester), summing up the results of working with the program in the framework of the following indicators ISO 9241-10-98 Ergonomic requirements for office work with visual display terminals (VDTs). P.11. Guidance on usability specification and measures:

effectiveness (effectiveness) - the impact of the interface on the completeness and accuracy of user achievement of the target results

productivity or the impact of the interface on user productivity;

the degree of (subjective) end-user satisfaction with this interface.

Efficiency is a criterion for the functionality of an interface, and the degree of satisfaction and, indirectly, productivity is a criterion for ergonomics. The measures introduced here are in line with the general pragmatic concept of quality assessment by the ratio of “goals / costs”.

In the second approach, they try to establish which (guiding ergonomic) principles a user interface should satisfy in terms of optimality of man-machine interaction. The development of this analytical approach was caused by the needs of software design and development, because it allows you to formulate guidelines for the organization and characteristics of the optimal user interface. This approach can also be used in assessing the quality of the developed user interface. In this case, the quality indicator is assessed by an expert according to the degree of implementation of the guidelines or the more specific graphical and operational features of the optimal “human-oriented” user interface resulting from them.

Standardization and design. When designing the user interface, the initial solution is to choose the basic standards for the types of interface controls that should take into account the specifics of the corresponding subject area. The specification of the user interface style is carried out in regulatory documents of the industry and company level. It is possible to further elaborate the interface design for a certain group of software products of the developing company. When developing the user interface, it is necessary to take into account the characteristics of the intended end users of the software being developed. The user interface type specification defines only its syntax. The second direction of standardization in the field of design is the formation of a specific system of guiding ergonomic principles. The decision on their choice should be worked out jointly by all members of the design team. This system should be consistent with the relevant base standard (or group of standards). In order to become an effective design tool, a system of guidelines should be brought up to the level of specific instructions for programmers. When developing the instructions, regulatory documents by type (style) of the interface are taken into account, and regulatory documents on the design of the user interface should be included in the profile of the standards of the software project and in the terms of reference.

Standards and quality. Formally, the standardization of the user interface is appropriate to associate with other infrastructural subcharacteristics of the quality of the software product, such as conformance (including compliance with standards) and interchangeability (replaceability) (GOST R ISO IEC 9126-93). The choice of a specific design tool (languages \u200b\u200bfor rapid application development, CASE-tools, designers of graphical interfaces) may lead the developer to the need to adhere to the interface standard underlying it.

On the other hand, the choice by the developer of a standard type (style) of the user interface adequate to the subject area and the OS used should potentially ensure, at least in part, the implementation of such principles of user interface quality as naturalness and consistency within the work environment. Explicit consideration of the syntax of the interface facilitates the creation of a uniform in style and predictable for the user interface. In addition, it should be noted that when developing the standard itself, the basic principles of user interface design were already taken into account.

Practicality measures introduced in ISO 9241-11, the customer organization can use before developing a custom system as a general framework for determining the practicality requirements that the future system must meet and for which acceptance tests will be conducted. Thus, the basis is created to ensure the completeness, measurability and comparability of these requirements, which can indirectly have a positive impact on the quality of the designed software product.

Does strict adherence to standards mean that you can provide the right user interface quality? For simple and routine applications - following the standard guarantees only a minimum level of quality. For complex and pioneering applications, the requirement for functional completeness may conflict with the limited capabilities provided by the standard user interface management tools.


Bibliography


T.B. Bolshakov, D.V. Irtegov. Operating systems. Materials of the site http: // www. citforum. com / operating_systems / ois / introd. shtml.

Methods and tools for user interface development: current state, Kleschev A.S. , Gribova V.V. , 2001. Materials of the site http: // www. swsys. ru / index. php? page \u003d article & id \u003d 765.

^

Interface classification


That is, an interface is a set of rules. Like any rules, they can be generalized, compiled into a "code", grouped according to a common criterion. Thus, we came to the concept of " view of the interface "as a union of similarity of ways of interaction between humans and computers.   We can propose the following schematic classification of various human-computer communication interfaces.

^ Modern types of interfaces are:

1) Command interface  The command interface is called so because in this type of interface a person gives "commands" to the computer, and the computer executes them and gives the result to the person. The command interface is implemented in the form of packet technology and command line technology.

2) ^ WIMP - interface  (Window - window, Image - image, Menu - menu, Pointer - pointer). A characteristic feature of this type of interface is that the dialogue with the user is carried out not with the help of commands, but with the help of graphic images - menus, windows, other elements. Although commands are issued to the machine in this interface, but this is done "directly" through graphic images. This type of interface is implemented at two technology levels: a simple graphical interface and a "clean" WIMP interface.

3) ^ SILK - interface  (Speech - speech, Image - image, Language - language, Knowlege - knowledge). This kind of interface is closest to the normal, human form of communication. Within the framework of this interface there is a usual "conversation" between a person and a computer. At the same time, the computer finds commands for itself, analyzing human speech and finding key phrases in it. He also converts the result of the execution of commands into a human-readable form. This type of interface is most demanding on the hardware resources of the computer, and therefore it is used mainly for military purposes.

^ 1. Public interface   - based on semantic networks.

In the following chapters you will become more familiar with these types of interfaces.
^

Batch technology


  Historically, this type of technology appeared first. It already existed on the relay machines Süs and Züse (Germany, 1937).

Her idea is simple : a sequence of characters is fed to the input of the computer, in which, according to certain rules, the sequence of programs launched for execution is indicated. After the next program is executed, the next one, etc. is launched. According to certain rules, a machine finds commands and data for itself. This sequence can be, for example, a punched tape, a stack of punched cards, a sequence of keystrokes of an electric typewriter (such as CONSUL). The machine also issues messages to a puncher, alphanumeric printing device (ADCU), and typewriter tape.

With the advent of alphanumeric displays, the era of truly user-friendly technology, the command line, has begun.
^

Command line technology.


  With this technology, the keyboard is the only way to enter information from a person to a computer, and the computer displays information to a person using an alphanumeric display (monitor). This combination (monitor + keyboard) began to be called a terminal, or console.

Commands are typed on the command line. The command line is an invitation symbol and a flashing rectangle - When you press a key, symbols appear at the cursor location, and the cursor moves to the right. This is very similar to typing a typewriter command. However, unlike it, letters are displayed on the display, not on paper, and an incorrectly typed character can be erased. The command ends by pressing the Enter (or Return.) Key. After that, you go to the beginning of the next line. It is from this position that the computer displays the results of its work on the monitor. Then the process is repeated.

Command line technology has already worked on monochrome alphanumeric displays. Since only letters, numbers, and punctuation were allowed to be entered, the technical characteristics of the display were not significant. As a monitor, you could use a television receiver and even an oscilloscope handset.

The predominant type of files when working with the command interface are text files - they and only they could be created using the keyboard.
^

GUI


  How and when did the GUI appear?

His idea originated in the mid-70s when the concept of a visual interface was developed at the Xerox Palo Alto Research Center (PARC). A prerequisite for the graphical interface was a decrease in the reaction time of a computer to a command, an increase in the amount of RAM, and also the development of the technical base of computers. The hardware basis of the concept, of course, was the appearance of alphanumeric displays on computers, and on these displays there were already such effects as “flickering” of characters, color inversion (reverse the appearance of white characters on a black background, that is, black characters on a white background ), underscore characters. These effects did not extend to the entire screen, but only to one or more characters.

The next step was to create a color display that allows you to display, together with these effects, characters in 16 colors against a background with a palette (that is, a color set) of 8 colors. After the appearance of graphic displays, with the possibility of displaying any graphic images in the form of many dots on the screen of various colors, the imagination to use the screen did not become borders at all! PARC's first 8010 Star Information System graphical interface system thus appeared four months before the first IBM computer in 1981. Initially, the visual interface was used only in programs. Gradually, he began to switch to operating systems, first used on Atari and Apple Macintosh computers, and then on IBM - compatible computers.

From an earlier time, and under the influence of these concepts as well, there was a process of unification in the use of keyboard and mouse by application programs. The merging of these two trends led to the creation of the user interface with which, with minimal time and money spent on retraining personnel, you can work with any software product. The description of this interface, common to all applications and operating systems, is dedicated to this part.

The graphical user interface during its development has gone through two stages. The evolution of the graphical interface from 1974 to the present will be described below.
^

Simple graphical interface.


  At the first stage, the graphical interface was very much like command line technology. Differences from command line technology were as follows.

A) When displaying characters, it was allowed to highlight part of the characters with color, inverse image, underline and flicker. Thanks to this, the expressiveness of the image increased.

B) Depending on the specific implementation of the graphical interface, the cursor can be represented not only by a flickering rectangle, but also by some area covering several characters and even part of the screen. This selection is different from other, unselected parts (usually color).

C) Pressing the Enter key does not always lead to the execution of the command and the passage to the next line. The response to pressing any key largely depends on which part of the screen the cursor was located.

D) In \u200b\u200baddition to the Enter key, “gray” cursor keys have increasingly been used on the keyboard (see the section on the keyboard in Release 3 of this series.)

E) Already in this edition of the graphical interface, manipulators (such as a mouse, trackball, etc. - began to be used - see Figure A.4.) They made it possible to quickly select the desired part of the screen and move the cursor.

Fig. A.4.   Manipulators

Summing up, we can cite the following distinctive features of this interface.

1) Selecting areas of the screen.

2) Overriding keyboard keys depending on context.

3) Use of manipulators and gray keys of the keyboard to control the cursor.

4) Widespread use of color monitors.

The appearance of this type of interface coincides with the widespread use of the MS-DOS operating system. It was she who introduced this interface to the masses, thanks to which the 80s passed under the sign of improving this type of interface, improving the display of characters and other monitor parameters.

A typical example of using this type of interface is the Nortron Commander file shell (see file shells below) and the Multi-Edit text editor. And the Lexicon, ChiWriter, and Microsoft Word for Dos word processors are examples of how this interface surpassed itself.

The student must know:

  • The purpose of the interface.
  • Types of interfaces (external, internal, reference, input / output control, information).
  • Elements of graphical interfaces and functions that they implement.

The student must be able to:

  • Create a windows application interface.

An interface is, first of all, a set of rules. Like any rules, they can be generalized, compiled into a "code", grouped according to a common criterion. Thus, we came to the concept of "type of interface" as a union of similarity of methods of interaction between humans and computers. In brief, the following schematic classification of various human-computer communication interfaces can be proposed.

Modern types of interfaces are:

1) The command interface. The command interface is called so because in this type of interface a person gives "commands" to the computer, and the computer executes them and gives the result to the person. The command interface is implemented in the form of packet technology and command line technology.

2) WIMP - interface (Window - window, Image - image, Menu - menu, Pointer - pointer). A characteristic feature of this type of interface is that the dialogue with the user is carried out not with the help of commands, but with the help of graphic images - menus, windows, other elements. Although commands are issued to the machine in this interface, but this is done "directly" through graphic images. This type of interface is implemented at two technology levels: a simple graphical interface and a "clean" WIMP interface.

3) SILK - interface (Speech - speech, Image - image, Language - language, Knowlege - knowledge). This kind of interface is closest to the normal, human form of communication. Within the framework of this interface there is a usual "conversation" between a person and a computer. At the same time, the computer finds commands for itself, analyzing human speech and finding key phrases in it. He also converts the result of the execution of commands into a human-readable form. This type of interface is most demanding on the hardware resources of the computer, and therefore it is used mainly for military purposes.

Topic 3. Functional and system content of subject-oriented software. Input languages \u200b\u200band their use for programming in the environment of the selected software.

The student must know:

· Appointment of method - oriented software;

· Appointment of problem-oriented software;

· Purpose of domain-specific software.

· Assignment of input programming languages.

RFP (Application Program Package) is a set of compatible programs for solving a specific class of problems.



The compatibility of the programs that make up the RFP means the possibility of their mutual use, the common structure of the control data and the information arrays used. In addition, RFP should be considered as an independent software product, as a special type of application software.

§ Since the RFP is designed to solve a certain class of problems, we can talk about the functional purpose of the package.

§ Depending on the functional purpose, there are SPPs that expand the capabilities of the OS, for example, for building multi-user systems, working with remote subscribers, implementing special file organization, simplifying work with the OS, etc. Examples of such packages are the SRV package, which implements the time sharing mode in the EU OS of computers, the Norton Commander package to facilitate the work with the MS DOS operating system.

§ Among packages designed for solving user applications, methodologically oriented and problem oriented packages are sometimes distinguished. The method-oriented package is designed to solve the user's problem by one of several methods provided in the package, and the method is either assigned by the user or is selected automatically based on the analysis of the input data. An example of such a package is a mathematical programming package.

§ Problem-oriented packages are designed to solve groups (sequences) of tasks that use common Data. Problem-oriented can focus on typical operations or on an applied problem. This is the largest group of packages. Problematic orientation may be expressed in the general nature of the operations performed by the package. Typical examples of such packages are text editors, spreadsheets, and a linear programming package.



§ A problem orientation can also be represented by a general applied problem, the solution of which is divided into separate tasks, each of which has its own algorithm in the package. Typical examples are a package for carrying out calculations of intersectoral balances, packages used in various design automation systems.

§ RFP consists of several program units .. RFP consists of several program units. Such program units are commonly referred to as program modules. The package is designed to solve problems of a certain class. This class of tasks is usually called the subject area of \u200b\u200bthe package.

§ Topic 4. Integration of selected software with other programs. VBA integration with MS Office.

The student must know:

· Integration of the built-in programming language Visual Basic for Application (VBA) with Word.

· Integration of the built-in programming language Visual Basic for Application (VBA) with Excel.

· Integration of the built-in programming language Visual Basic for Application (VBA) with Access.

· Integration of the built-in programming language Visual Basic for Application (VBA) with Power Point.

§ Theme 5. VBA. Controls, VBA Editor Interface, VBA Objects

The student must know:

· VBA controls.

· VBA editor interface.

· Objects, properties, VBA methods.

Be able to.

· Work with windows in the VBA editor.

· Work with standard VBA math functions.

· Carry out data input / output.

VBA belongs to the languages \u200b\u200bof object - oriented programming (OOP). OOP can be described as a methodology for analyzing, designing, and writing applications using objects. An object is a combination of code and data that can be considered as a whole, for example, a control element, form and application component. Each object is determined by class membership. All visual objects, such as a worksheet (Worksheet), a range (Range), a chart (Chart), a form (UserForm), are objects.

This programming language can be accessed from virtually any Windows application.

§ Theme 6. VBA. Create Custom Dialogs

The student must know:

· VBA control properties.

· VBA data types.

· Types of dialog boxes.

Be able to.

· Create an application interface.

· Create event handling procedures.

At its core, a form (or custom form) is a dialog box in which you can place various controls. An application can have either one or several forms. A new form is added to the project by selecting the Insert ® UserForm command.

VBA has an extensive set of built-in controls. Using this set and the form editor, it is easy to create any user interface that will satisfy all the requirements for an interface in a Windows environment. Controls are objects. Like any objects, they possess properties, methods and events. Controls are created using the Toolbox.

§ Theme 7. VBA. Branching Algorithms and Programs

The student must know:

· Syntax of branching structure algorithms with conditional IF statement.

· Conditions for the applicability of branching structure algorithms.

Be able to.

· Apply branching structure algorithms in practice.

· Work with objects Worksheets (), Range ().

In program code, the conditional IF THEN statement is used to implement branching.

A conditional operator allows you to select and perform actions depending on the truth of a condition. There are two syntax options: In the first case, it has the form:

IF condition Then [statements 1]