You've probably noticed that just about any application of any real significance these days has capability to be expanded in some way. Usually these are called "plug-ins", although they are also called snap-ins (Windows 2000), add-ons, add-ins (Outlook 2000), ActiveX Controls (Internet Explorer) and filters (Adobe Photoshop, as well as any number of other descriptive names.
The concept is simple, and benefits are tremendous. Create an "engine" with basic functionality and allow for expansion by third-parties in a standard and organized way. Thus, for example, even though Adobe Photoshop performs an incredibly number of functions all on it's own, authors felt it was necessary to allow others to contribute their skills. They did this by providing plug-ins and filters.
This also, not entirely coincidentally, got around concept of "open source" which has been debated all over internet for years. Pure open source is code which can be downloaded and modified by anyone - Unix is a good example of this. At other extreme is virtually all of Microsoft's products - sources are not made available to anyone except under specific and [legally] controlled circumstances. Plug-ins get around this argument by allowing product to be expanded and it's behavior changed without releasing source code to general public.
The concept of plug-ins actually came into reality back in 1995. The Netscape browser developers had a problem - there were few, if any, accepted graphics and multimedia (videos, sound and such) standards available on web, yet browser had to be capable of displaying graphics and multimedia. The developers did not want to restrict their browser to just a few standards (which may or may not have become accepted) and they certainly did not want to release a new browser every time a new multimedia format was created.
Thus plug-ins were born. This solved problem very well. There was now no need to restrict formats or modify and distribute a new browser. All that needed to be done was create a plug in which handled format. And best of all (for Netscape) this plug-in was generally created by some other company.
There were problems with plug-in concept, however.
- Back in days of slow modems, it could take a very long time to download a plug-in
- Plug-ins could crash operating system or cause it to become unstable.
- If a visitor chose not to install a plug-in, then multimedia object would not display.
- Malicious designers could conceivably introduce security risks through use of plug-ins.
Soon afterwards Microsoft got on bandwagon with it's own version of plug-ins for Internet Explorer. They called their version ActiveX and made them a little more automatic (by adding some custom code to operating system). Ask anyone at Microsoft (especially at training classes) and you be told that future is ActiveX. However, these controls have exactly same problem as plug-ins with a terrible security model to boot (any security model which requires an end-user to make a decision as to whether or not unknown code is trustworthy is certain to fail).
Okay, how does this all relate to graphics? Well, plug-ins and ActiveX controls are way you can expand functions of your browser to include new and occasionally wonderful things.