Browse Definitions by Topic

Graphical User Interface (GUI)

Graphical User Interface (GUI) is a kind of user interface in which elements (menus, buttons, icons, lists, etc.) presented to the user on the display, are executed in the form of graphic images.

In the GUI, the user has random access (through input devices such as a keyboard, mouse, joystick, etc.) to all visible display objects (interface elements) and directly manipulates them. Most often, GUI interface elements are implemented on the basis of metaphors, and display their purpose and properties, which facilitates the understanding and mastering of programs by untrained users.

The graphical user interface is part of the user interface (UI) and defines interaction with the user at the level of visualized information.


  • Simple: typical screen forms and standard interface elements provided by the subsystem of the GUI;
  • True-graphic, two-dimensional: non-standard interface elements and original metaphors realized by the app's own tools or by a third-party library;
  • Three-dimensional.


One of the requirements for a good graphical interface of the software application is the concept of "Do What I Mean". DWIM requires that the system works in a predictable way so that the user intuitively knows in advance what action the program will perform after receiving the command.


  • The graphical interface is user-friendly, especially for people who’ve used other apps. Usually, the users can easily find in the interfaces similarities with other programs, working on the same operational platform, like the hamburger icon for mobile app menus on smartphones or the printer sign for printing documents.


  • Greater memory consumption compared with the text interface;
  • It is more difficult to organize remote work;
  • Automation must be integrated in the structure of the DWIM at the pre-development stage. In other cases, quite often it’s easy to develop a new app instead of adding such features to the existing system, as automation is impossible for the current structure.
  • The graphical interface is not always "friendly" for users who have begun to familiarize themselves with the computer from the command line interface.

Examples of systems using the GUI: Mac OS, Android, iOS, Microsoft Windows, GNU / Linux, GEM, Solaris,  Atari TOS, BeOS, MeeGo.

Additional Terms
Character User Interface (CUI)
Character User Interface (CUI) is a kind of user interface that uses only alphanumeric characters and pseudographics for input-output and presentation of information. It is characterized by a low demand for I/O hardware resources (in particular, memory) and high information display speed. CUI appeared at one of the initial stages of computer technology development. The disadvantage of this type of interface is the limited visual media, due to the restricted number of characters included in the font provided by the equipment. Programs with a text interface can implement a window interface, which is particularly facilitated by the use of pseudo-graphic symbols. CUI Features In the simplest mode, the character interface uses only the command-line, but many programs use interactive elements to create a more user-friendly visualisation. The character interface implements all the basic elements - menus, buttons, switches, checkboxes, drop-down lists, scroll bars and so on. Many programs implemented a well-developed window system, which was facilitated by libraries like CScape, D-Flat, Turbo Vision and many others. Some had interchangeable themes (for example, DOS Navigator) and supported various interactive devices such as a mouse, joystick, light pen. At the software level, console programs use standard input-output devices (stdin, stdout, stderr) to enter and display information, although they can open other files, network connections and perform other actions available in the operating environment. Displaying printed characters in stdout and stderr results in the appearance of these characters on the output device and their receipt by the user. Console programs for some operating systems, especially UNIX, are usually able to work on an advanced user interface functionality. To simplify the writing of such programs, the ncurses library is widely used.
- convenience and ease of use - the ability of the digital product to be intuitively understood, studied and used. This includes attractiveness to the user under specified conditions (ISO / IEC 25010); the attribute of a system, product or service, in which a particular user can operate the system under certain conditions to achieve specified goals with the required efficiency and satisfaction (ISO 9241-210). Usability in mobile and web software development is a result of the software design stage, which provides users with convenient facilities for app interaction, software or websites. Good usability requires that: A website has a decent layout, is easy to navigate, consistent across all web pages, and useful and informative to visitors; An app should be bitsize and clear; content should be readable on different screen sizes, all the buttons and links are easy to use without rub contact. The intuitive design accompanies the features, while the main functions are obvious and easily available to users. There are two main ways to assess the usability of the product: Direct evaluation based on the analysis of the efficiency and satisfaction achieved, as a result of product operation in real conditions: if in the above conditions one system is more ergonomic than the other, then the evaluation should detect this; Indirect evaluation based on the analysis of individual sub characteristics that reflect certain properties of the system in the specified operating conditions. Direct evaluation is considered in the ISO 9241-11 standard, which assumes that the ergonomics of the system depends on all indicators affecting the operation of the system in real conditions, including both organizational indicators (for example, labor skills, location or appearance of products), and individual differences between users, for example, in the cultural level and preferences. Indirect evaluation is considered in ISO / IEC 25010, which describes the following usability characteristics: Appropriateness recognizability: an ability of the user to understand whether the product or system is suitable for his or her needs, based on initial impressions, documentation and other information provided; Learnability: a degree of effectiveness, productivity and user satisfaction by learning how to use the system; Operability (controllability): ensuring the ease of management and control; User error protection: a degree to which the system protects the user against errors; User interface aesthetics: a degree to which the user interface satisfies the user and gives him pleasure from the interaction process; Accessibility: an ability to use a product or system by a wide range of people with a wide variety of opportunities ((including limited). The best way to estimate the usability of the existing or new software is to implement the usability testing, inviting the real users to do the set of standard procedures as a test.
User Inteface (UI)
User Interface (UI) - an interface that provides the information transfer between a human user and the hardware/software components of a computer system. User interface combines all the elements and components of the program, which can simplify the interaction of the user with the software. These elements include: Means for displaying information, formats and codes; Command modes, user interface language; Devices and technologies for data entry; Dialogs, interaction and transactions between the user and the computer; Feedback from the user; Support for decision-making in a specific subject area; The program using procedure and the documentation for it. UI defines how commands are given to a program or computer and how information is displayed on the screen. Three main UI types are: Command language: the user must know the instructions or the code of the machine and the specific program. Menus: the user selects the command from the list that is displayed on the screen. Graphical user interface (GUI): the user gives commands by selecting and clicking on the icon shown on the screen. Methods There are a set of rules laid down by the developer of the device, which enables smooth transition between action and response: a combination of inputs by the user should lead to the necessary responses of the device and task. The designers work out the user interfaces for each of the screens within the software or application. These rules should be sufficiently clear for understanding, natural and easy to remember (all this is included in the concept of usability). User Interface Design Basics User Interface (UI) Design focuses on the users needs, ensuring that the interface has elements that are easy to access facilitate actions. UI brings together concepts from <a href="">interaction design</a>, <a href="">visual design</a>, and <a href="">information architecture</a>. Choosing Interface Elements Users have become familiar with some common <a href="">interface elements</a>, declared as the standard visualisation by operating system standards - iOS and Android. &nbsp;The designers of user dashboards should be consistent and predictable in choosing the existing elements. Doing so will help gain the user&rsquo;s satisfaction by providing clear and convenient interface. Interface elements include but are not limited to: Input Controls: buttons, text fields, checkboxes, radio buttons, dropdown lists, list boxes, toggles, date field Navigational Components: breadcrumb, slider, search field, pagination, slider, tags, icons Informational Components: tooltips, icons, progress bar, notifications, message boxes, modal windows Containers: accordion The simple and well balanced combination of all elements, joined as an attractive visual solution for the software interface can be a good example of user-friendly interface design.
Additional Terms of Usability
See more words
Networking Hardwear
Networking hardware is a set of devices necessary for the operation of a computer network, for example: a router, a switch, a hub, a patch panel, etc.&nbsp;&nbsp; Active networking hardware is equipment containing electronic circuits receiving power from an electrical network or other sources and performing the functions of amplification, signal transformation, and others. &nbsp;This means such equipment is able to process the signal by special algorithms. In the networks there is a package data transfer, each data package also contains technical information about its source, purpose, the integrity of information, etc, allowing to deliver the package to its destination. Active networking hardware includes the following types of devices: Network adapter - a card that is installed in the computer and provides its connection to the LAN; Repeater - a device, usually with two ports, designed to repeat the signal in order to increase the length of the network segment; Hub (active hub, multiport repeater) - a device with 4-32 ports, used to connect users to the network; Bridge - a device with 2 ports, usually used to combine several LAN (local area network) workgroups, allows you to filter network traffic by analyzing network (MAC) addresses; Switch - a device with several (4-32) ports, used to combine several LAN working groups (otherwise called multiport bridge); Router (router) - used to combine several &nbsp;LAN workgroups, allows you to filter network traffic by analyzing network (IP) addresses; Retranslator - to create an advanced wireless network with a larger coverage area and is an alternative to a wired network. By default, the device operates in the signal amplification mode and acts as a relay station that catches the signal from the base network router or access point and transfers it to previously unavailable sites. Media converter - a device, usually with two ports, used to convert the data transfer medium (coaxial-twisted pair, twisted-pair optical fibre); A network transceiver is a device, usually with two ports, commonly used to convert the data format. A transceiver can be mentioned as a Medium Access Unit (MAU) in Ethernet network terminology. Additionally to this set of devices, to become a part of the network, a computer must have a network interface card (NIC). Mentioned above networking hardware can be called a set of computer networking devices or network equipment. &nbsp;
(application programming interface) is a set of ready-made classes, procedures, functions, structures and constants provided by the application (library, service) or operating system for use in external software products. Programmers use this when writing all kinds of apps, in order to implement data exchange with external software in the most efficient manner. API as a way of app integration API defines the functionality that the program provides. If the program is treated as a control unit, then the API is a set of "knobs" that are available to the user and which he or she can tweak. Software components interact with each other through the API. In this case, components usually form a hierarchy - high-level components use APIs of low-level, and those in turn use APIs of lower-levels. API of operating systems. Problems related to API diversity. Almost all operating systems (UNIX, Windows, OS X, etc.) have an API, with which programmers can create applications for this operating system. The main API of operating systems is a number of system calls. In the software industry, common standard APIs for basic functionality have an important role, since they ensure that all programs that use the common API will work equally well, or at least in the usual way. In case of the GUI API, this means that the programs will have a similar user interface, which facilitates the process of mastering new software products. On the other hand, the differences in the APIs of different operating systems make it very difficult to transfer apps between platforms. However, there are various methods for circumventing this complexity - writing "intermediate" APIs (wxWidgets API API, GTK, etc.), writing libraries that display system calls of one OS to calls of another OS (runtime environments like Wine, cygwin and etc.), the introduction of coding standards in programming languages (for example, the standard C language library), writing of interpreted languages implemented on different platforms (perl, python, php, Java, etc.).
Material Design
- the design of software and applications for Android operating systems. First introduced at the Google I/O conference on June 25, 2014. Initially, within the company, it was invented under the codename "quantum paper.&rdquo; The main metaphor of material design is flat paper, located in three-dimensional space. The idea of this design can be seen in applications that open and collapse like cards, using the effects of shadows. According to the idea of Google's designers, apps should not have sharp corners; cards should switch smoothly and almost imperceptibly. Material design in Applications The material design is used fully in the operating systems Android Lollipop, Android Marshmallow, Android Nougat, Android Oreo and also in some apps of previous versions. Why apps need a material design It serves two purposes: the standardisation of numerous products of the company; the unification of app user interfaces for Android. After the dominance of &ldquo;skeuomorphism,&rdquo; the web and the interfaces tilted toward a radical flattening, but it turned out to be just one more extreme. In order to be understandable and international, the objects of the interface should have an analogue, a metaphor in the real world. Such a metaphor was paper. Thin, flat, but located in three-dimensional space and having shadows, speed of movement, and acceleration. 4 principles of Material Design Material Design is based on four basic principles: Tactile surfaces. The interface is composed of tangible layers of so-called "digital paper". These layers are located at different heights and cast shadows on each other, which helps users to better understand the anatomy of the interface and the principle of interaction with it. Polygraphic design. If we count the layers as pieces of "digital paper", then, as regards "digital ink" (all that is depicted on "digital paper"), an approach is taken from traditional graphic design: for example, magazine and poster. Meaningful animation. In the real world, objects do not arise from nowhere and do not disappear into anywhere. Therefore, in Material Design, we always think about how to use the animation in layers and in "digital ink" to give users hints about the interface. Adaptive design. It's about how we apply the previous three concepts on different devices with different resolutions and screen sizes. The material design is one of the modern trends in the visualisation of mobile applications whose popularity is growing day by day.
View all IT-related terms
Results for "DEV"
Logo Magora LTD
Get in touch
Do you agree to the personal data processing?

Logo Magora LTD
Thank you very much.

Your registration to the webinar on the 27th of September at 2 p.m. BST was successfuly completed.
We will send you a reminder on the day before the event.
Magora team
Registration for a webinar

"Let Smart Bots Speed up your Business"
Date: 27.09.2018 Time: 2 p.m. BST
Do you agree to the personal data processing?