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 interaction design, visual design, and information architecture. Choosing Interface Elements Users have become familiar with some common interface elements, declared as the standard visualisation by operating system standards - iOS and Android.  The designers of user dashboards should be consistent and predictable in choosing the existing elements. Doing so will help gain the user’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
Artificial neural network (ANN)
Artificial neural network (ANN) is a group of neuron nodes, interconnected with each other. Every circular node works as an artificial neuron that exchanges information with each other, similar to the functional principles of biological neural networks. The whole system is termed ANN. The main advantage of artificial neural network implementation lies in the ability to perform complex mathematical modelling for emulation. This helps scientists to predict different processes and trends based on the visualisation of these models. ANN is a simple system of processors (artificial neuron), in which neurons connect and interact reciprocally with each other. Each neuron periodically receives signals and sends them to others. By connecting to a reasonably large network of similar neurons, these single processors can perform quite complex actions. From the point of view of machine learning, neural networks are special cases of discriminant analysis, pattern recognition and grouping methods. From the mathematical point of view, the learning of neural networks is a multiparameter problem of nonlinear optimization. From the development of computation and programming, neural networks are a way to solve efficient parallel problems. From a cybernetic perspective, neural networks are used for problems of adaptive control and robotic algorithms. From the point of view of artificial intelligence, neural networks are the basis of the philosophy of connectionism and the main direction of the structural methods of using computer algorithms to establish the possibility of natural intelligence. Neural networks are not just programmed, but are also well trained. The possibility of ‘learning’ is one of the main advantages of ANN over traditional algorithms. Stages of problem solving Data collection for training; Selection of network topology; Preparation and normalization of data; Experimental selection of training parameters; Experimental selection of network characteristics; Actually learning; Checking the adequacy of training; Adjustment of parameters, final training; Verbalization of the network for further use. Technically, ‘learning’ is to find the coefficient connection  between neurons. During this process, the neural network is able to detect complex dependencies between data input and output and perform generalization. This means that if training succeeds, the network can return the correct results based on data not provided in training samples and incomplete and / or "noisy" and partially distorted data. So, with the help of the ANN we can predict the most probable event. For the business environment, such operations are vital in the financial, medical, construction and any decision-making field.
SSL Certificate
(identity certificate, digital certificate) is a set of data, that adds a cryptographic key to the domain’s details and allows secure connections from a server to a browser. When installed on a web server, it activates the https protocol and the padlock to protect the user’s data from public access. Such a certificate is needed, first of all, to protect your personal information, while communicating with banks, payment systems and other organizations working with personal data - to protect transactions and prevent unauthorized access to your banking card details, passwords and other confidential data. When a certificate is installed on your server, HTTP (application protocol) is changed to HTTPs, where the ‘S’ stands for ‘secure’. Depending on the type and the browser you are using, you will see a padlock or green bar when you visit a website with SSL Certificate installed. Usually this contains the following information: the domain name for which the SSL certificate is issued; legal entity that owns it; the physical location of the holder (city, country); validity period; details of the company providing it; This confirms that the domain belongs to a real company and that its owner has the right to use the private key legally. Types of SSL Certificates Domain Validation - these are entry-level certificates, and are the most common in the world. The issuing speed varies from 2 to 10 minutes, depending on the brand. To obtain such a certificate no special documents are required. These are suitable for small sites and projects, when there is no need for a lot of trust from customers and site visitors. You need to confirm ownership of the domain: Verification via e-mail (DCV Email) - the certificate authority sends a verification letter, with a link to confirm domain ownership. Such a letter can be sent either to the email address specified in the Whois of your domain, or to one of the golden five: admin@, administrator@, hostmaster@, postmaster@, webmaster@ of your site; DNS record checking (DNS NAME) is a way for those who have a mail server set up, and Whois mail is closed by private registration. You need to create a special entry in your DNS, and the certification authority will verify it. The method is fully automatic; Verification using a hash file (HTTP CSR Hash) - the user will be provided with a special .txt file that must be uploaded to his server, the certificate authority will confirm it and the certificate will be issued. The method is fully automatic. Business Validation - these certificates are relevant for those who are thinking about trusting their products, companies and services, as the certificate authority performs a more thorough check. It is necessary to send the company documents, go through the process of "calling back" to the corporate phone. SSL certificates with Extended Validation - only EV certificates will provide the site with a green address bar in the browser. Most often, such certificates can be found at banks, online systems with a large number of visitors. SSL certificates with subdomain support (Wildcard) is a very convenient certificate when it comes to protecting a large number of subdomains within one domain. It can protect any number of subdomains on an unlimited number of servers. SAN SSL certificates are single communication certificates that can protect multiple domains, subdomains, local domains and servers. These certificates work with both external and internal domain names. Why does your company need a SSL Certificate Without SSL certificate all the information, including your name, login, password, and even banking card details, is transferred from your computer to a remote source is publically available. SSL certificate is protecting your private data with the help of cryptography, helping you to: Keep secure data exchange between servers Create/enhance the customers’ loyalty Increase the buyers’ trust and conversion rate
IFTTT (If This Then That)
IFTTT (If This Then That) is an online service for creating automatic actions or “recipes”. Each “recipe” consists of two parts: the event at which the recipe is triggered, and the action that occurs in the case of this event. To implement the automation users do not need to have technical or programming knowledge. There are pre settings for almost everything, which can be realised via user interface. Examples: IF @user on Instagram posted a photo, THEN save the image to Dropbox; IF tomorrow is expected 0 ° C in London, THEN notify me; IF a child is out of school, THEN send me a letter. Over the years of its existence, more than a hundred services and applications have been integrated with IFTTT in which events can be monitored and actions created: Instagram, Feed, Dropbox, Slack, Ebay, Pocket, Blogger, Box, Evernote, Gumroad, Fitbit, Soundcloud and others. When using IFTTT, it is important not to waste energy on “reinventing the wheel”, because there are thousands of ready-made “recipes” in the site collection: Mail IF Gmail receives a new email with an attachment, THEN save this attachment to Dropbox. IF Gmail receives a new email, THEN save it as a note in Evernote. If Gmail received a letter with order confirmation from Amazon, THEN save the letter as a note in Evernote. IF there is a new letter in the Gmail inbox marked as important, then add this letter to the to-do list in Todoist. IF a new photo appeared in my Instagram account, THEN send it to a certain email address. Social Networks IF I like the photo on Instagram, THEN save this photo on Google Drive. IF a new photo is published on my Instagram, THEN post this photo on Twitter. IF profile photo has changed on Facebook, THEN set the same profile photo to Twitter. IF a new photo appeared on my Instagram, THEN add it to my Pinterest board. IF I posted a new link on Facebook, THEN post the same link on Twitter. Other Services IF it’s a certain time, THEN send messages to a certain Slack channel. IF a certain article in Wikipedia is updated, THEN send me a notification about it. IF the parcel has changed its location, THEN mark this event in Google Calendar. IF frost is expected, THEN send me an email stating that I need to cover the plants. All the above mentioned actions can be changed and customised to fit your needs. To do this, add a “recipe” to your profile and click on the pencil icon to open the edit page. For example, in the finished “rule” you can replace Dropbox with Box, Google Calendar with Outlook Calendar, or Evernote with Onenote.
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?