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.