Wanneer we software voor onze computers kopen, willen we altijd die met de meeste functies die al zijn inbegrepen. Maar vaak is het probleem met software ofwel dat ze niet over de juiste functionaliteiten beschikken waarnaar je op zoek bent, of dat ze te veel functies hebben waardoor je niet snel kunt vinden waar je naar op zoek bent. Om het uiterlijk van hun programma's aan te passen, hebben softwaremakers het gebruik van plug-ins of add-ons toegestaan.
Plug-in en Add-on zijn twee termen die naar dezelfde functionaliteit verwijzen; het zijn gewoon extensies die de bruikbaarheid van het programma vergroten. Het hangt gewoon af van de softwaremaker wat de softwarematige uitbreidingen van hun programma's moeten zijn. Deze uitbreidingen kunnen worden gemaakt door andere bedrijven, particulieren of door de softwaremakers zelf.
Plug-in is de term die meestal wordt gebruikt bij het verwijzen naar software van derden die bedoeld is om te communiceren met een bepaald programma. Neem bijvoorbeeld uw webbrowser; je zou een plug-in genaamd flash player moeten installeren om video's te kunnen afspelen. Flash Player is niet native voor elke browser, maar is volledig gemaakt door een ander bedrijf. Het is ook compatibel met alle populaire webbrowsers zoals IE, Firefox en Opera.
Een add-on breidt ook de functionaliteit van een bepaald programma uit, maar ze zijn meestal bedoeld om op een bepaald programma te functioneren. Als u de webbrowser vergelijkt, werken add-ons die bedoeld zijn voor Firefox alleen met Firefox en dat geldt ook voor andere browsers. Dit zijn meestal geen volledig ontwikkelde software, maar zijn gewoon stukjes code die u kunt gebruiken om de interface aan te passen. De meest voorkomende add-ons voor browsers zijn werkbalken die wat meer ruimte in beslag nemen en u directe snelkoppelingen naar bepaalde online services bieden. Add-ons zijn ook zeer prominent aanwezig in online games zoals World of Warcraft, waar spelers met een klein beetje kennis hun eigen add-ons kunnen maken om andere spelers te helpen.
De scheiding tussen een add-on en een plug-in is niet echt zo duidelijk. Ze zijn beide gemaakt om specifieke functies te doen die geschikt zijn voor de voorkeur van een bepaalde gebruiker. De belangrijkste reden waarom deze codes in de eerste plaats niet in het programma zijn ingebed, is dat ze niet echt zo essentieel zijn en dat sommige mensen het misschien op prijs stellen om dat te hebben, anderen misschien niet en vinden het vervelend. Dit zijn ook hulpmiddelen die een softwaremaker kan gebruiken om de leden van zijn community te motiveren om betrokken te worden bij het verbeteren van de software.