Helper Application
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, a plug-in (also spelled plugin) or add-in (also addin, add-on, or addon) is a
software component A software component is a modular unit of software that encapsulates specific functionality. The desired characteristics of a component are reusability and maintainability. Value Components allow software development to assemble software ...
that extends the functionality of an existing
software system A software system is a system of intercommunicating software component, components based on software forming part of a computer system (a combination of Computer hardware, hardware and software). It "consists of a number of separate Computer progr ...
without requiring the system to be re-built. A plug-in
feature Feature may refer to: Computing * Feature recognition, could be a hole, pocket, or notch * Feature (computer vision), could be an edge, corner or blob * Feature (machine learning), in statistics: individual measurable properties of the phenome ...
is one way that a system can be customizable. Applications support plug-ins for a variety of reasons including: * Enable third-party developers to extend an application * Support easily adding new features * Reduce the size of an application by not loading unused features * Separate
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
from an application because of incompatible
software license A software license is a legal instrument governing the use or redistribution of software. Since the 1970s, software copyright has been recognized in the United States. Despite the copyright being recognized, most companies prefer to sell lic ...
s


Examples

Examples of plug-in use for various categories of applications: *
Digital audio workstation A digital audio workstation (DAW ) is an electronic device or application software used for Sound recording and reproduction, recording, editing and producing audio files. DAWs come in a wide variety of configurations from a single software pr ...
s and
audio editing software Audio editing software is any software or computer program which allows editing and generating audio data. Audio editing software can be implemented completely or partly as a library, as a computer application, as a web application, or as a loa ...
use
audio plug-in An audio plug-in, in computer software, is a Plug-in (computing), plug-in that can add or enhance audio-related functions in a computer program, typically a digital audio workstation. Such functions may include digital signal processing or soun ...
s to generate, process or analyze sound. Ardour, Audacity,
Cubase Cubase is a digital audio workstation (DAW) developed by Steinberg for music and MIDI recording, arranging and editing. The first version, which was originally only a MIDI sequencer and ran on the Atari ST computer, was released in 1989. Cut-do ...
,
FL Studio FL Studio (known as FruityLoops before 2003) is a digital audio workstation (DAW) developed by the Belgian company Image-Line. It features a graphical user interface with a pattern-based music sequencer. It is available in four different ...
, Logic Pro X and
Pro Tools Pro Tools is a digital audio workstation (DAW) developed and released by Avid Technology (formerly Digidesign) for Microsoft Windows and macOS. It is used for music creation and production, sound for picture (sound design, audio post-productio ...
are examples of such systems. *
Email client An email client, email reader or, more formally, message user agent (MUA) or mail user agent is a computer program used to access and manage a user's email. A web application which provides message management, composition, and reception functio ...
s use plug-ins to decrypt and encrypt email.
Pretty Good Privacy Pretty Good Privacy (PGP) is an encryption software, encryption program that provides cryptographic privacy and authentication for data communication. PGP is used for digital signature, signing, encrypting, and decrypting texts, Email, e-mail ...
is an example of such plug-ins. *
Video game console emulator A video game console emulator is a type of emulator that allows a computing device to emulate a video game console's hardware and play its games on the emulating platform. More often than not, emulators carry additional features that surpass ...
s often use plug-ins to modularize the separate subsystems of the devices they seek to emulate. For example, the PCSX2 emulator makes use of video, audio, optical, etc. plug-ins for those respective components of the
PlayStation 2 The PlayStation 2 (PS2) is a home video game console developed and marketed by Sony Interactive Entertainment, Sony Computer Entertainment. It was first released in Japan on 4 March 2000, in North America on 26 October, in Europe on 24 Novembe ...
. *
Graphics software In computer graphics, graphics software refers to a program or collection of programs that enable a person to manipulate images or models visually on a computer. Computer graphics can be classified into two distinct categories: raster graphics ...
use plug-ins to support file formats and process images. A Photoshop plug-in may do this. * Broadcasting and live-streaming software, like OBS Studio, as an open source software utilizes plug-ins for user-specific needs. * Media players use plug-ins to support file formats and apply filters.
foobar2000 foobar2000 (often abbreviated as fb2k or f2k) is a freeware audio player for Microsoft Windows, iOS, Android, macOS, and formerly Windows Phone, developed by Peter Pawłowski. It has a modular design, which provides user flexibility in c ...
,
GStreamer GStreamer is a Pipeline (computing), pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. For instance, GStreamer can be used to build a system that reads files in one f ...
, Quintessential, VST,
Winamp Winamp is a media player (software), media player for Microsoft Windows originally developed by Justin Frankel and Dmitry Boldyrev by their company Nullsoft, which they later sold to AOL in 1999 for $80 million. It was then acquired by Rad ...
, XMMS are examples of such media players. *
Packet sniffer A packet analyzer (also packet sniffer or network analyzer) is a computer program or computer hardware such as a packet capture appliance that can Traffic analysis, analyze and Logging (computing), log traffic that passes over a computer netwo ...
s use plug-ins to decode packet formats. OmniPeek is an example of such packet sniffers. * Remote sensing applications use plug-ins to process data from different sensor types; e.g.,
Opticks ''Opticks: or, A Treatise of the Reflexions, Refractions, Inflexions and Colours of Light'' is a collection of three books by Isaac Newton that was published in English language, English in 1704 (a scholarly Latin translation appeared in 1706). ...
. *
Text editors A text editor is a type of computer program that edits plain text. An example of such program is "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be used to ...
and
Integrated development environment An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
s use plug-ins to support
programming languages A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their syntax (form) and semantics (meaning), usually defined by a formal language. Languages usually provide features ...
or enhance the development process ''e.g.'',
Visual Studio Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development ...
, RAD Studio,
Eclipse An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
,
IntelliJ IDEA IntelliJ IDEA () is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains (formerly known as IntelliJ) and is a ...
, jEdit and MonoDevelop support plug-ins. Visual Studio itself can be plugged into other applications via Visual Studio Tools for Office and Visual Studio Tools for Applications. *
Web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s have historically used
executable In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), in ...
s as plug-ins, though they are now mostly
deprecated Deprecation is the discouragement of use of something human-made, such as a term, feature, design, or practice. Typically something is deprecated because it is claimed to be inferior compared to other options available. Something may be deprec ...
. Examples include the
Adobe Flash Player Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is a discontinuedExcept in China, where it continues to be used, as well as Harman for enterprise users. computer program for viewing multimedia ...
, a
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally descr ...
(for
Java applets Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. At the time of their introduction, the i ...
),
QuickTime QuickTime (or QuickTime Player) is an extensible multimedia architecture created by Apple, which supports playing, streaming, encoding, and transcoding a variety of digital media formats. The term ''QuickTime'' also refers to the QuickTime Pla ...
,
Microsoft Silverlight Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe Inc., Adobe's Run time environment, runtime, Adobe Flash. While early versions of Silverlight focused on ...
and the Unity Web Player. (
Browser extension A browser extension is a software module for customizing a web browser. Browsers typically allow users to install a variety of extensions, including user interface modifications, cookie management, ad blocking, and the custom scripting and st ...
s, which are a separate type of installable module, are still widely in use.)


Mechanism

The host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application and a protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application.Mozilla Firefox plugins
– Description of the difference between Mozilla Firefox plugins and extensions under the general term ''add-on''.
Wordpress Plug-in API
– Description of the Wordpress Plug-in architecture.
Programmers typically implement plug-ins as
shared libraries In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
, which get dynamically loaded at run time.
HyperCard HyperCard is a application software, software application and software development kit, development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web. HyperCard com ...
supported a similar facility, but more commonly included the plug-in code in the HyperCard documents (called ''stacks'') themselves. Thus the HyperCard stack became a self-contained application in its own right, distributable as a single entity that end-users could run without the need for additional installation-steps. Programs may also implement plug-ins by loading a directory of simple
script Script may refer to: Writing systems * Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire * Script (styles of handwriting) ** Script typeface, a typeface with characteristics of handw ...
files written in a
scripting language In computing, a script is a relatively short and simple set of instructions that typically automation, automate an otherwise manual process. The act of writing a script is called scripting. A scripting language or script language is a programming ...
like Python or Lua.


Helper application

In the context of a
web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
, a helper application is a separate programlike
IrfanView IrfanView () is an image viewer, editor, organiser and converter program for Microsoft Windows. It can also play video and audio files, and has some image creation and painting capabilities. IrfanView is free for non-commercial use; commercial ...
or
Adobe Reader Adobe Acrobat is a family of application software and web services developed by Adobe Inc. to view, create, manipulate, print and manage Portable Document Format (PDF) files. The family comprises Acrobat Reader (formerly Reader), Acrobat (former ...
that extends the functionality of a browser. A helper application extends the functionality an application but unlike the typical plug-in that is loaded into the host application's
address space In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity. For software programs to save and retrieve ...
, a helper application is a separate application. With a separate address space, the extension cannot crash the host application as is possible if they share an address space.


History

In the mid-1970s, the EDT
text editor A text editor is a type of computer program that edits plain text. An example of such program is "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be used to c ...
ran on the
Unisys Unisys Corporation is a global technology solutions company founded in 1986 and headquartered in Blue Bell, Pennsylvania. The company provides cloud, AI, digital workplace, logistics, and enterprise computing services. History Founding Unis ...
VS/9 VS/9 is a computer operating system for the UNIVAC Series 90 mainframes (90/60, 90/70, and 90/80), used during the late 1960s through 1980s. The 90/60 and 90/70 were repackaged Univac 9700 computers. After the RCA acquisition by Sperry, it ...
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
for the UNIVAC Series 90
mainframe computer A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterprise ...
. It allowed a program to be run from the editor, which can access the in-memory edit buffer.''EDT Text Editor Reference Manual'', Cinnaminson, New Jersey: Unisys Corporation, 1975 The plug-in executable could call the editor to inspect and change the text. The
University of Waterloo The University of Waterloo (UWaterloo, UW, or Waterloo) is a Public university, public research university located in Waterloo, Ontario, Canada. The main campus is on of land adjacent to uptown Waterloo and Waterloo Park. The university also op ...
Fortran compiler used this to allow interactive compilation of Fortran programs. Early personal computer software with plug-in capability included HyperCard and
QuarkXPress QuarkXPress is desktop publishing software for creating and editing complex page layouts in a WYSIWYG (What You See Is What You Get) environment. It runs on macOS and Windows. It was first released by Quark, Inc. in 1987 and is still owned and p ...
on the
Apple Macintosh Mac is a brand of personal computers designed and marketed by Apple Inc., Apple since 1984. The name is short for Macintosh (its official name until 1999), a reference to the McIntosh (apple), McIntosh apple. The current product lineup inclu ...
, both released in 1987. In 1988,
Silicon Beach Software Silicon Beach Software, Inc. was an early American developer of software products for the Apple Macintosh, Macintosh personal computer. It was founded in San Diego, California, in 1984 by Charlie Jackson (software), Charlie Jackson and his wife Ha ...
included plug-in capability in
Digital Darkroom Digital Darkroom was an Apple Macintosh graphics program for editing gray-scale photos. It was published by Silicon Beach Software in 1987. It was programmed by Ed Bomke and Don Cone. Digital Darkroom was the first Macintosh program to incorporat ...
and
SuperPaint SuperPaint was a pioneering graphics software, graphics program and framebuffer computer system developed by Richard Shoup (programmer), Richard Shoup at PARC (company), Xerox PARC. The system was first conceptualized in late 1972 and produced its ...
.


See also

* * * *


References

{{DEFAULTSORT:Plug-In (Computing) Application programming interfaces * Technology neologisms