What is a plug-in?

So-called plug-ins are often used in IT programs. This article explains exactly what this term means and in what form plug-in modules are successfully used in software application development and deployment.

A plug-in (also plug-in or add-in or add-in from English “connect, insert”) designates an optionally available software module which extends or changes applications of the main program with regard to available functions. In the literature, the term is sometimes used as a synonym for “add-ons”, although there are clear differences between the two extensions.

Plug-ins are mostly developed by the manufacturer or installed by the user. The main application loads the extension into the main memory when the program is started so that it can be accessed if required. It follows from this that plug-ins cannot be executed without a framework main application.

How a plug-in works

Plug-ins are usually structured according to the tried and tested “Inversion of Control” scheme. So that such extensions can be programmed for certain software applications, separate interfaces (APIs) are created as part of the application development and deployment of the main software, which the plug-ins use as a gateway.

Some plug-in interfaces become standards for certain features and are included in the scope of delivery of the main application. For example, practically every scanner software comes with a program extension which is compatible with most commercially available image processing or scanner programs via a so-called TWAIN interface and which performs certain additional functions if required.

Things to know about plug-ins

In the area of ​​application development and deployment, plug-ins can take on various tasks. They play an important role as an interface in the exchange of data between what are essentially incompatible software systems.

Despite their small size, plug-ins are important pioneers of “green IT” because the small software assistants are only loaded into the main memory when they are actually needed. This saves valuable storage space and significantly reduces the loading time, especially for mobile devices.

Plug-ins vs. add-ons – what’s the difference?

In most cases, plug-ins come from external providers or developers and rarely from the manufacturer of the basic program. The motivation to code such program extensions often arises from an unsatisfactory user experience due to inadequate functionalities of the main program. Plug-ins could therefore be described as a kind of “external update” for basic software products.

In contrast to plug-ins, add-ons are usually included in the scope of delivery by the manufacturer in order to optimize the application development and deployment of the main program. The modules expand the hardware or software scope of the “host system” with optionally available functions, which usually go hand in hand with increased ease of use and more extensive design options for the user.

Such additional features are stored in the application library of the basic program for the time of the installation of the add-on, as a result of which the functional volume of the entire system experiences a quantitative expansion, which usually also results in qualitative enrichment.

Add-ons are integrated into the relevant “host application” and can be removed at any time without affecting the operational reliability of the main program. However, those functionalities for which the plug-in was originally installed can no longer be executed after the extension has been uninstalled.

Common types of plug-ins

Graphics plug-in: Graphic filters with additional functions can be used in image processing programs, common 3D software and various vector graphics programs via the plug-in interface. Among other things, this opens up the possibility of changing colors and patterns using special effects or making them more intense.

Audio plug-in: In connection with the implementation of audio software or tools for music production, plug-ins take on the function of devices for controlling optical or graphic effects. In the pre-digital times you had to install new software products and usually also new hardware components in the recording studio to use new features, today you just download a plug-in in the virtual studio. Audio plug-ins run on special host programs designed for both macOS and Windows platforms.

Browser plug-in: Browser plug-ins represent software modules for the visualization of special content that browsers cannot display themselves. This distinguishes these plug-ins from software extensions that change the browser application directly.

Special forms are plug-ins for search engines as well as special themes that modify the graphical user interface in order to improve its user experience.

Security risk browser plug-in

Each plug-in module basically represents a possible target for hackers as well as a potential gateway for malicious programs or even a possible malicious code itself. In contrast to the manufacturer-specific add-ons, most plug-ins come from unknown external developers, qualitative standards are therefore only given to a small extent with these extensions.

Browser plug-ins are particularly tricky. If such modules have significant security deficiencies or gaps, the entire operating system can be paralyzed under certain circumstances. There is also the possibility that the results of search queries or URL entries may suddenly be displayed incorrectly in the browser (e.g. as a fake page of a bank).

Available updates for plug-ins should therefore be installed as quickly as possible, as it is quite possible that the currently offered update closes a dangerous security gap.

What is a plug-in