Interface Definition

An interface is a shared boundary or connection between two dissimilar objects, devices or systems through which information is passed. The connection can be either physical or logical.

The term is used in many fields, incuding chemistry, geology, electronics, computers (both hardware and software) and telecommunications. For example, in chemistry it refers to the surface between two distinct phases in a heterogeneous mixture, and in geology it refers to a surface or anomalous layer between two different types of rocks or geological epochs.

In electronics and computer engineering, an interface can be (1) the physical boundary between two subsystems or devices, (2) a part or circuit in some subsystem that sends or receives signals to or from other systems or subsystems (e.g., a video interface or a network interface card) or (3) a standard specifying a set of functional characteristics, common physical interconnection characteristics and signal characteristics for the exchange of signals or data (e.g., SCSI or USB).

It can also be some combination of these characteristics, such as in the case of a serial port or a parallel port, which forms a physical boundary, is used for the transmission of signals between different systems and adheres to industry standards for both physical and electrical characteristics.

A network interface card (NIC), also referred to as a network adapter, is a circuit board (also called a circuit card or expansion board) that is plugged into a slot on a motherboard (the main circuit board on a computer) to enable a computer to physically connect to a network cable and thereby communicate over a network (i.e., two or more other computers linked together). Some computers use network interface circuitry that is built directly into the motherboard instead of a separate card.

The drive interface is the protocol (i.e., set of rules) used by hard disk drives (HDDs), floppy drives, CDROM drives, communicate with a host computer or with a network. The three main types of drive interfaces are ATA (advanced technology attachment), SCSI (small computer system interface), and Fibre Channel.

A user interface is a linkage between a human and a computer. It consists of a display device and one or more input devices (e.g. a keyboard and a mouse). The two main types of user interfaces are the command line interface (CLI), the display for which contains text only, and the graphical user interface (GUI), which also includes images (e.g., windows, icons and menus). Most GUIs use a desktop metaphor, i.e., resemble a desktop with folders (i.e., directories), files, images, etc. that can be moved around, resized and otherwise manipulated.

An application programming interface (API) is a set of specifications that defines how one piece of software interacts with another, particularly an application program with an operating system. A primary purpose is to provide a set of commonly-used functions, such as to draw windows or icons on the screen, thereby saving programmers from the tedium of having to write code for everything from scratch.

Developing and improving interfaces can be a challenging task. This is particularly true with regard to user interfaces, because in order to develop truly high quality user interfaces it is necessary to consider the complex topics of ergonomics (i.e., the study of human characteristics for the appropriate design of the living and working environment) and human variability (i.e., differences in the physical and mental characteristics among human beings).

The verb to interface means to interconnect two or more entities at a common point or shared boundary, or to prepare either entity for that purpose.

Created September 16, 2005.
Copyright © 2005 The Linux Information Project. All Rights Reserved.