GIF*DOT
GIF*DOT(tm) is a Grafman production
and has been brought to you as a service of GraphComp.
GIF*DOT(tm) is a trademark of Robert M. Free.


The GIF*DOT Home Page
Have you ever needed to indent a paragraph in an HTML document, wondered how to control the vertical spacing between paragraph sections or wished that you could generate live bar charts -- without the overhead of large bitmap images?
This document provides information on how to accomplish this, examples of how these techniques are being used, and a form for creating your own custom GIF*DOTs.



What are GIF*DOTs used for?
All of the paragraph indenting, vertical spacing, bullets and graphical section breaks on this document make use of GIF*DOTs.
While HTML tables may be used for horizontal and vertical spacing, they can be cumbersome to create. Nor can they support the intra-paragraph formatting used in this document.
GIF*DOTs support HTML-based barcharts, or one of the examples below:

SUN MON TUE WED THU FRI SAT
In the barchart example above, your viewer acquired one copy of a red GIF*DOT (about 35 bytes) and reused it to draw all the bars. This is a lot faster than retrieving seven /images representing the variously sized bars, or a single image containing the entire barchart. This also reduces the load on the document server, allowing it to process documents more efficiently.
Likewise, all GIF*DOT bullets of a given color are only retrieved once and reused, regardless of their size or proportion.



How do GIF*DOTs work?
Some web browsers (Netmanage's WebSurfer and Netscape) stretch /images to fit the WIDTH and HEIGHT attributes in a IMG tag. This behavior allows you to use a single pixel image to render a rectangle of any size or proportion.
Furthermore, most web browsers cache (keep a local copy of) /images and reuse them when possible. So instead of having to download several rectangular /images for a barchart, only one single-pixel gif is sent, which is resized to the appropriate rectangles.

Note: Some browsers have dificulties with cached GIF*DOTs. This can usually be cleard up by reloading the page. Note also that Netscape 1.1 has a bug involving cached GIF*DOTs which causes it to stop displaying them after a while.



Credits
I first encountered the use of single pixel GIFs for page formatting on David Siegel's HIGHFIVE page.
I first encountered the use of single pixel GIFs for generating barcharts in a perl script by Matt Kruse.
I first coined GIF*DOT on October 3, 1995, when creating a CGI perl script that generated single pixel GIFs.

- Bob Free



For more information on GIF*DOT, email gifdot@graphcomp.com.