Quick Introduction to HTML
Plugins and Embedded Objects


Many web pages have dynamic content that behaves in very complex ways that are beyond the capabilities of Dynamic HTML. Typically, such content is in the form of an embedded object that is handled by a browser plugin. A browser plugin is a package of computer files that can be added to the browser to give it different capabilities.

While these objects are not properly part of HTML, references to them are embedded in web page using HTML, which has special tags just for this purpose.

Before you invest in plugin technologies for your web page, consider that doing so will make the page unusable on many systems. By definition, these technologies require software that are not part of the browser, and which may not be installed on your user’s machine. Furthermore, the user may have an older version of the plugin which might not have the capabilities you want.

Common uses of browser plugins are:

  1. on-line games
  2. very flashy, interactive, dynamic page content
  3. interactive visualization of graphical data

This page will not teach you how to create such plugin objects (which involves bona fide computer programming). It is intended to familiarize you with some of the concepts and technologies involved, and with the strengths and weaknesses of some of the technologies.

Object and MIME type

The HTML tags responsible for embedding objects in web pages have changed a lot since the beginning of the web. In a sense, images are embedded objects, and they were always a part of HTML. Several new types arose, with some confusion about the corresponding tags. Since HTML 4 there has been a standard way to embed objects in web pages, and this is now widely supported, and preferred.

The next kind of embedded object was the applet, which is usually a Java program that runs on the user’s computer when they view the page that embeds the applet. Java applets have now been phased out however.

By this point, it had become obvious that a general mechanism was needed to embed such objects. Netscape supported an <embed> tag for this purpose. One still sees pages on the web that use this tag, and several browsers support it.

Since HTML 4, the standard tag used to embed an object in a web page is the <object> tag. It is very flexible, and unfortunately, has a complicated set of attributes.

Some of the attributes specify the MIME type of the data included by the object, so that the browser can determing how to deal with it. For instance, the MIME type of Scalable Vector Graphics (SVG) is image/svg+xml. To include SVG in a web page, one indicates the SVG file name and this type:

<object data="diode.svg" type="image/svg+xml"
  width="256" height="280" alt="illustration of diode" />

How the browser handles this, depends on the browser. Recent versions of Mozilla-based browsers, such as Firefox, handle SVG natively. Other browsers may require a browser plugin to handle the image.

Browser plugins

Adobe (prev. Macromedia) Flash

Probably the most common browser plugin technology today is Adobe’s Flash. It is a audio-visual environment that allows a designer to precisely coordinate the movement of graphics with the playing of sound, as well as handle input from the user.

The browser plugin for Flash is called Adobe Flash Player; it can be downloaded for free from Adobe’s web site. It is available for Microsoft Windows, Apple MacOS, and Linux, as well as other flavors of Unix.

The development environment needed to make a new Flash object is commercial and costs some money. To use it, you don’t have to be exactly a computer programmer, but it does take some study and experience.

Scalable Vector Graphics

SVG is the long-awaited web standard means of including “vector graphics” into web pages. In vector graphics, the parts of the image are described as objects, e.g. lines, circles, curves, with colors, textures, etc, as opposed to being described pixel-by-pixel as in pixmap images such as GIF, JPEG.

For certain applications, primarily line drawings, vector graphics have huge advantages over pixmaps. For one thing, they can be scaled to any size without losing their sharpness. Also, they can encode some kinds of data much more compactly than a pixmap can.

As of this writing, some modern browsers support SVG natively, while others require a browser plug-in.

Sun Microsystems Java

Java is a full-blown computer applications programming language, together with a platform-independent environment (called a virtual machine or VM) within which Java programs run. This makes it a very flexible tool for making interactive web content.

In the early 2000s, Java applets were one of the main means of providing complex behavior in a web page. The purpose of special HTML tag, <applet>, was to load the code of a java program and run its user interface directly in a web page. Competing technologies have replaced it however, and in 2017, new browsers no longer support Java appplets.