Skip to content
Home

Interface (User Interface and Shell): Types, History, and Uses

Overview of user interfaces and shells: what they are, main types (CLI, GUI, touch, voice), history, components, common uses, and distinctions such as UI vs API and accessibility.

Overview

An interface is the layer through which a person—or another program—interacts with a computer, device, or service. In everyday computing an interface lets users tell an operating system or application what to do and receive feedback. Interfaces range from the typed command environments used by system administrators to the visual layouts of modern applications, and they shape how efficiently and comfortably tasks are completed.

Image gallery

2 Images

Major types

Historically and practically, interfaces are often grouped into several broad families:

  • Command-Line Interface (CLI): a text-based environment where users enter commands and options. CLIs are compact, scriptable and remain popular for system administration and development.
  • Graphical User Interface (GUI): uses windows, icons, menus and pointers (the WIMP model). GUIs rely on visual metaphors and indirect manipulation with devices like a computer mouse, touch, or stylus.
  • Touch and Gesture Interfaces: optimized for fingers and gestures on phones, tablets and touch-enabled laptops; they emphasize direct manipulation and multi-touch gestures.
  • Voice and Conversational Interfaces: accept spoken commands and return voice or text responses; increasingly used in assistants and smart speakers.
  • Programmatic Interfaces (APIs): machine-to-machine interfaces that let software components communicate; not directly visible to end users but critical to modern services.

Components and characteristics

Interfaces combine visible elements, behaviour rules and feedback mechanisms. Key components include controls (buttons, sliders), navigational structures (menus, tabs), content areas and feedback channels (status bars, alerts). Good interfaces provide clarity, consistency, responsiveness and accessibility. Command interfaces emphasize concise syntax, predictable output and scripting; graphical interfaces emphasize discoverability and visual hierarchy.

History and development

Early computing relied on teletypes and punch cards, evolving into text-based terminals and CLIs. In the 1970s and 1980s research at places like Xerox PARC introduced windowed GUIs, later popularized by commercial systems such as the Apple Macintosh and Microsoft Windows. Mobile computing and capacitive touch screens shifted attention toward touch-first designs, while improved speech recognition and machine learning have driven the rise of voice interfaces.

Uses, examples and importance

Interfaces determine how people perform common tasks: creating documents, browsing the web, managing files, or controlling devices. Examples include terminal emulators, desktop environments, mobile app layouts, web interfaces, and in-car dashboards. The choice of interface influences productivity, error rates and accessibility; for instance, CLIs enable automation while GUIs tend to lower the learning curve for casual users.

Distinctions and notable considerations

It is important to distinguish between an interface and related concepts: a user interface (UI) is what humans see and use, while user experience (UX) refers to the overall feeling and effectiveness of the interaction. Interfaces must also consider internationalization, assistive technologies, security (e.g., permission dialogs), and customization. Designers balance aesthetics with functional clarity, and developers often provide multiple interfaces to the same system (graphical, command-line, and API) to serve different needs.

Design principles (brief)

  • Clarity: make options and outcomes obvious.
  • Consistency: reuse patterns so users form reliable expectations.
  • Feedback: confirm actions and report errors clearly.
  • Accessibility: support diverse abilities and input methods.

Basics

The exchange of information takes place in the form of physical (e.g. electrical voltage, current) or logical quantities (data) and can be analog (e.g. microphone at a sound input) or digital (e.g. parallel interface of the PC). General mechanical connecting elements of design theory which serve to transmit information (such as cable pulls or springs) are not referred to as interfaces.

A distinction is made:

  • data interface - data as interfaces between programs
  • Machine interface - interfaces between physical systems
  • Hardware interface - Interfaces between physical computer systems.
  • Network interface - Interfaces between network components.
  • Software interface - Interfaces between programs, to the operating system, to agree on methods in object-oriented programming, etc.
  • User interface - interfaces between human and device
  • "Common interface" for DVB receivers

An interface is described by a set of rules, the interface description. In addition to the description of which functions are present and how they are used, the interface description also includes a so-called contract that describes the semantics of the individual functions.

Standardized interfaces offer the advantage that components or modules supporting the same interface can be interchanged, i.e. they are compatible with each other.

It often happens that two participants of the communication must have different but matching interfaces (compatibility, e.g. plug - socket).

The term interface is also used in project management in plant engineering, where interfaces describe the interactions between different trades to achieve the required functionality of a system.

Machine interface

Machine interface is the place where one device or machine interacts with another device or machine. Such an interface is described as follows.

Physical data

Mechanical parameters:

  • local position (longitude, latitude, altitude, in relation to a reference point to be defined)
  • Dimensions (length, width, height, other dimensions of the mechanical interface, if applicable, such as hole spacing or diameter for mounting)
  • Connecting elements (type and position)
  • Forces and torques required to ensure static determination of the system (e.g. tightening torques for screws, riveted joints)
  • Position of the force application points (e.g. foundation supports, scaffolds, girders)
  • dynamic loads (e.g. vibrations, explosions)
  • Pressures (max., min. for hydraulics, pneumatics, if necessary for conveying)
  • for material conveyance (also air or liquids): type of material and quantity per time unit (min., max.)
  • non-electrical forms of energy at the interface (pneumatics, hydraulics).

Electrical parameters:

  • Location and type of electrical connection(s)
  • Electrical voltage (min., max.)
  • electrical current (min., max.)
  • further, necessary information about cable data (type and cross-section), earthing
  • System parameters of electrical controls.

Thermal parameters:

  • System temperatures (max., min.)

Chemical source

  • Required material properties of the construction materials of the original system and the systems to be connected
  • Properties of material to be conveyed, if applicable

Hardware interfaces

Hardware interfaces are interfaces between physical systems in electrical engineering and electronics. The interface equipment of a device is often referred to as connectivity.

Hardware interfaces are widely used in computer technology. Industry standards, for example, ensure that a PC is an open system that can be composed of components from different manufacturers. Examples of hardware interfaces used in computers are the PCI bus, AGP, SCSI, USB, FireWire and the older EIA-232 (also known as RS-232 or V24).

A distinction is made between parallel and serial (hardware) interfaces, depending on whether several bits can be transmitted simultaneously (see Parallel Data Transmission). In the context of computer peripherals, parallel interface generally refers to the IEEE 1284 port most commonly used for the printer; serial interface in this context refers to the obsolete EIA-232 interface.

In electrical engineering, any connection of analog or digital devices when they meet results in an interface. At each interface, the output resistance Ra of the source with the input resistance Ri of the load forms a matching attenuation, also called interface attenuation. Particular attention should be paid to the important damping factor for this matching attenuation when interfacing the power amplifier to the loudspeaker; the latter, as with all interconnections in audio, is exclusively voltage matching with Ri Ra. Connecting a microphone to the input of a sound card results in an interface with matching attenuation problems, as does connecting a power amplifier to the loudspeaker. When connecting digital devices, Ri = Ra must be chosen to avoid unwanted and annoying reflection of pulses. It is irrelevant that this condition happens to coincide with that for power matching.

See also

  • Bluetooth
  • Infrared Data Association or IrDA for short
  • Wireless Local Area Network or WLAN for short, Wi-Fi or IEEE 802.11
  • Adapter
  • Interface attenuation, input impedance, output impedance, bit banging
  • eBus

Questions and answers

Q: What is an interface in an operating system?

A: An interface in an operating system is what the user uses to make the computer do tasks, like writing a document or loading a web page.

Q: How many types of interfaces are there?

A: There are two types of interfaces, command line interface (CLI) and graphical user interface (GUI).

Q: What is a command line interface or CLI?

A: Command line interface (CLI) is a type of interface in which users write commands to make the computer perform tasks.

Q: What is a graphical user interface or GUI?

A: Graphical user interface (GUI) is a type of interface in which users use their computer mouse to click on buttons to perform tasks.

Q: How do people use CLI to perform tasks?

A: People use CLI to perform tasks by writing commands to make the computer perform specific tasks.

Q: How do people use GUI to perform tasks?

A: People use GUI to perform tasks by clicking on buttons using their computer mouse.

Q: What tasks can users perform using an interface or shell in an operating system?

A: Users can perform tasks such as writing a document or loading a web page using an interface or shell in an operating system.

Related articles

Author

AlegsaOnline.com Interface (User Interface and Shell): Types, History, and Uses

URL: https://en.alegsaonline.com/art/47588

Share