As the title says, I'm looking for a word to describe some clip-on module which provides a new ability that improves the base concept/entity.

Some context, such a word could describe:

  • A warp drive module on a space ship
  • A standalone plugin which provides a completely new feature set

If possible, the word might imply a necessity, that without such an add-on the entity is lacking and incomplete.

  • 1
    Module is good but if you don't like that, 'pod' might serve. a detachable or self-contained unit on an aircraft, spacecraft, vehicle, or vessel, having a particular function. "the torpedo's sensor pod" google.co.uk/search?q=pod&ie=&oe=#q=pod+definition – chasly from UK Oct 4 '15 at 12:36
  • Accessory is a tad long and to me implies non-necessity. Pod feels more of a fun choice than module, totally missed that option. – Vix Oct 4 '15 at 12:46
  • Module, add-on, plug-in, attachment. – Hot Licks Oct 4 '15 at 12:55
  • Unfortunately these all just describe something which can be added, they don't tell that without such an addition the original thing is insufficient. – Vix Oct 4 '15 at 13:00
  • 1
    That’s okay :) You say the add-on enhances functionality (implying it’s not necessary), but you also want the word to imply that the add-on is necessary, a vital part. I think we’re heading towards a contradiction. Can you clarify, or maybe explain the examples some more. How does adding/removing affect the function of the spaceship or the website? – Graham Nicol Oct 4 '15 at 14:20

I'd suggest add-on:

  • a device or unit added to equipment or a construction.
  • a hardware device, such as an expansion card, that is added to a computer to increase its capabilities.

The Free Dictionary

  • "Add-on" is the term generally used for a small "pluggable" additional software extending the functionalities of an existing application. The expression "complementary module" may be considered in other contexts.If you want to highlight that, without the add-on, the application is unsufficient, you may say "an essential add-on". – Graffito Oct 4 '15 at 13:16
  • You are correct Graffito, I'm looking for a term to describe an essential add-on, something like: module, core, plugin. – Vix Oct 4 '15 at 14:52
  • To me, add-on is by its nature non-essential, it's something that is added on to extend existing functionality, not to make the original thing work at all. It is possible that you could create a framework which by itself does very little, and depends on plug-ins or add-ons to provide basic functionality, but in that case I don't think calling them add-ons would really make sense. Stdlib is a library, but I wouldn't call it an add-on. – barbecue Oct 4 '15 at 16:19

First thought was optional upgrade or enhancement:

An increase or improvement in quality, value, or extent.

  • True, but they may serve as optional upgrades to the accepted answer :) – Lamar Latrell Oct 4 '15 at 12:54
  • My upvote... :) – user140086 Oct 8 '15 at 13:51

I think the proper choice of word depends upon the level of independence achieved by the addition... and whether or not your use of the word "clip on" indicates that addition/removal must be easy.

(One is thrown by the example of a warp drive, since warp drives are never ejected (they are separated with an entire aft portion of the ship, in vevy rare cases of Borg invasion) but generaly only warp cores can be ejected... and in that case, well, they are not to be clipped right back in! )

I digress.

Module is a great word for this. Modules are independent by design, yet incomplete by definition... they must clip on to each other to form a system that can achieve things. Since the word functions in web design and in building, I would go with this.

However, modules have a specific definition. The right word for what you're building, if it's a web app may have to do with the dependence of the new features on the old code. It may be an extension, incapable of doing anything on its own, but perhaps hackable into something that could fit another browser or system. It could be a library, designed to play with or extend a set of functions in a programming language. It may be a completely new thing, and everything it extends can be referred to as run by X, "under the hood"

Depends on how far you go and what you're building. If you want to clarify more, I'd be happy to get into that. I think module or extension best utilize the concrete language related to structures in a way that can be applied to computing to illustrate the scope of the build being undertaken.

  • Thanks for your attentive response @sas08. Your understanding of my usage of 'clip on' is correct. It might be used to describe a drop-in standalone library which transforms an existing site into something aesthetically identical but with an entirely new feature set, once included and relevant attributes are assigned to the markup. I wouldn't describe it as a module, as it completely overhauls the site, rather than leading a widget like existence like a slider or a modal. You could describe a site with such a library as being 'powered by'. – Vix Oct 4 '15 at 14:49

In software, if you want a term that describes something that's essential to functioning, but can be replaced with a different version that provides similar functionality, the word engine might work.

For example, the Stockfish chess engine by itself can't actually play chess, but can be used by other software to play against a human or another computer opponent. A software client could call on the Stockfish engine to implement the gameplay, or the same client could use a different engine for a different experience. It's even possible to have two different chess engines play against each other in a single client.

Other examples could include a physics engine for a video game, a search engine, or a database engine. Some applications can use different database engines, for example you might start out with SQLite for easy installation, but then later switch to Postgres or something to support a larger user base.


Patch: a small piece of code inserted into a program to improve its functioning or to correct an error. –Google

"without this patch, the entity is lacking and incomplete."

Stop-gap: a temporary way of dealing with a problem or satisfying a need. –Google

"Until such time as the patch can be incorporated into our next release, it shall be the stop-gap which will enable the use of those functions that have been broken since alpha."

Memo from marketing: (and the reasoning behind why you will not find the word you're looking for in use)

Although it is a standalone plugin which provides a completely new feature set, it does not provide all the features of the original program and it is our understanding that this would require more work to adjust then simply making the new work backwards compatible.

Furthermore, it has come to our attention that you wish to include within the description of your finished product, the fact that our program has been lacking in functionality since its release. It is at our discretion, that this and all of your subsequent stop-gaps, shall hitherto be known in company as patches. Until such time as it can be determined that a completely new offering will not upset our customer base, this addition is to be offered, and publicly referred to, as a free upgrade.

  • In software lifecycle, the word "patch" refers to a small modification of an application fixing bugs or performance problems. Patches are made by the original software developpers and don't refer to additional functionalities provided by an external provider. – Graffito Oct 5 '15 at 0:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.