Plug-in; Extension; add-on; skin; theme; snap-in
Computing terms are often applied to digital photography situations as they are in other disciplines. Many of the photography applications (software systems) and image-editors have become comprehensive suites of software. As their complexity grows these systems sometimes allow third parties to add additional software. These additions to the main application may be called a variety of names depending on what they do. Here are some brief explanations for digital photographers…
Add-on (or addon): sometimes also add-in (or addin): In general the term ‘add-on’ is usually considered as a cover-all for the terms below. However, it may also be used as a general term to describe software added to an existing system.
Plug-in (or plugin): Added software which implements additional functionality to the original software application. This functionality is usually quite specific. The plug-in may be a complex piece of software in its own right, but it only works when plugged into the target application. Adobe Flash Player is an example. It works only in its target web browser. When plugged in it creates significant new functionality (being able to play Adobe ‘Flash’). Video players are added in this way. If you want to use video in your browser you need a video plug-in. Some digital image-editing applications allow such plug-ins to be used to add functionality. Java (a programming language) is sometimes used to provide ‘applets’ that create this plug-in functionality to browsers and web-based software.
Extension: where a plug-in adds specific functionality (eg. a video player) to an application an extension tends to add a range of functions. ‘Toolbars’, for example, when added to an application by a third party often carry a range of different functions. If you add an extension to your application it may add quite a lot of new features.
Skins: A ‘skin’ is added to an application to change its appearance. Skins usually only change the colours, pictures and (possibly) the layout of the visible parts of an application.
Theme: A theme is like a skin in that it may change the colour, layout and pictures of an application. However, additionally it may change the functionality slightly, add functions, or re-layout the typography. Not often used in digital photography applications, this term is often applied to text based systems, web-based applications and website types. Some web sites used by photographers are run using systems that use themes. An example is WordPress .
Snap-in: A specialist application to extend a main system, a computer operating system or suite of applications. Often used in the context of computing administration. Not normally applied to digital photography applications. However, it may be used in the context of large scale image-management databases (particularly those used on a commercial scale).
Filter: In the context of image editing software a filter is an added-in piece of software that is used to modify the look of an image. Filters change the appearance of an image in different ways. For example a filter can be used to add digital noise or remove it. Filters can be used to make a picture look like a painting, or to blur it in a specific way. The range of software filters is considerable. They may already exist in an application, or could be added-in by a third party, individuals or by connecting to Internet-based services.
Use of terms varies
Computing generates new terms all the time. Within computing these terms are often quite specific and usually well defined. However, outside of computing the terms often lose their precise definition. Public and third party use of these terms sometimes blurs the boundaries between them or confuses them. Although I have tried to be accurate in my definition of these terms the actual definitions my be disputed in the public domain. Digital photographers are generally not computer scientists. These definitions and the terms themselves, should therefore be considered in the wider context of public use.
All add-ins, especially ones implementing new functions, should be tested carefully. They may interfere with, or change the existing functionality or behaviour of your application. They may even fail completely and crash your software application. You should check out reviews on anything you are considering as an add-in. If it is a good or well-reviewed add-in you will be able to get information about it on a few websites. If you cannot find a third party review or any references to the add-in then it may be malicious software or very new/untested. In either case you should avoid it. It may be hostile or potentially damaging to your application or the stability of your entire computer system.