ABSTRACT
We present a visual environment for the construction and observation
of scripted computational structures. The visual instruction set
consists of typographic operators such as color, alignment, and size,
enabling the user to create free-form designs of kinetic
typography. The environment represents a unique class of computational
environments where kinetic typographic design is recursively produced
by kinetic typog raphy. The visual nature of the system is inspired by
a spatially structured type of poetry known as ``concrete
poetry,''[1] where the arrangement of words take on form. Hence we
refer to the systems as a form of "concrete programming."
INTRODUCTION
In the field of graphic design there has been a steadily increasing interest in the creation of dynamic typographic visuals,
or animated text. There are two distinct ways by which such
pieces are designed: 1) manual positioning of typographic
elements, and 2) scripting of textual transformations that are
rendered by the computer. For small scale work, the manual
method usually produces superior results because the design
space is easier to control. However in the case of producing
work of greater temporal length and of increased spatial detail, some form of automation must be employed in order to
meet realistic deadlines. For this practical reason, scripting
systems have become the most popular method for creating
kinetic typography.
There are various commercial systems that have been used to create kinetic typography[3] [4] in the design community. Recognizing the shortcomings of such systems, several researchers have approached the problem by introducing superior computational infrastructures, ranging from addition of hierarchies[6], to explicit grammars for automation[7], to agent processing[5]. The common thread of thought in all of these endeavors is that a superior means of designing kinetic typography can be achieved through more sophisticated uses of technology. In general, it is common in the engineering field to believe that a solution can always be improved with better technology. However, in the domain of kinetic typographic design, we believe that the intense expressive nature of the final product warrants an equally rich approach to the process of creating these designs.
The elements that we use to create kinetic typography are kinetic elements themselves. In this manner there is duality in the positioning of artistic skills at both the output level, as well as the at the underlying computational level. Our environment is by nature a visual parser of typographic poems which serve as the basis for scripted typographic behaviors. We introduce several innovations to visual programming systems that gain from a primarily aesthetics-centered approach, such as the use of a freely expandable space and the introduction of clustering structures inspired by concrete poetry.
INFORMATION CANVAS
We begin with a 3D field in which the developer may sketch,
type, and lay out any typographic data they choose into what
we call the "information canvas." Designers can choose to
load ASCII text files to enter large amounts of data right
away or type out smaller amounts of data by hand. In addition,
designers can take advantage of the large field to have multiple
projects spread out or placed on multiple planes to be worked
on simultaneously. The bounds of the field are determined by
the placement of typographic data. Hence the field can grow
accordingly, and allow the user to employ zooming, panning,
and rotation to navigate the field.
By ignoring contemporary GUI mechanics such as windowing, we can allow a superior creative use of screen real-estate in this manner. A central notion in the design of our system has been to remain open-minded to information constructs that are not readily available on the system, such as commercial user-interface toolkits, and instead focus on the design of new constructs and paradigms with greater flexibility. The infinite canvas approach described above is an example of one of our idealistic approachs to visual interface design.
CLUSTERING STRUCTURES
After dispersing the data throughout the workspace, we then
proceed to the issue of creating order. There are no serial
streams of textual information, as scripts are usually represented. Instead, clusters of words are used to represent
"scripts" that can affect the kinetic behavior of surrounding
data. Defining the use of several keywords related to color
names or alignment, the designer can begin to group together
such operators using one of two types of structures.
1. ``Descriptive Glue'' is the most basic grouping and it acts as a sticky, springy mass onto which any data may be placed. The form then assumes the characteristics of all its data members. (Figure 1).
2. ``Structure Scaffolds'' offer a more orderly grouping mass onto which the user may create more structured and systematic scripts. (Figure 2).
These structures can now serve as small scripts following semantically pre-defined rules or user-defined rules to start

Figure 1: Descriptive-glue glom operation on data.
automatically affecting surrounding typographic primitives. The user may also drive interactions by placing new or existing words or numbers near or inside the structures. The glued-forms, called "glue gloms"[2], allow the user to generate forms with less predictable results, while scaffolded- structures, called "scaffold gloms," can allow for more strictly defined user functions.
In Figure 1, we have an example of a glue glom. The glom is a cluster of animated words, one color, one a rotating word, and one a scaling word. As the glom crosses some data, the data acquires the combined kinetic characteristics of all the individual words. It should be noted that any element altered by a glue glom can participate in either the capacity of input to another glom, or used as an operator of a glom, depending upon how it is defined by the user.
In Figure 2, we have an example of a scaffold glom. This structure is more deterministic and the conditional statement held within the scaffold resembles a conventional statement from a C program. The data is then checked to see if it there are any words matching "Beware," and all the appropriate data is changed to red with the scaling animation. The scaffold is useful in addressing large bodies of text where parsing for specific words and applying a desired kinetic effect helps automate the authoring process.
In addressing control of the space, both the gloms and the data can either be statically dragged or dynamically thrown within the canvas. The throwing motion is initially propelled by the velocity and direction of mouse movement and is physically-based to decelerate. Any data that follows in the path of the glom is not necessarily altered immediately, but instead changes over time, creating a visual trail of change that follows in the wake of the glom.

Figure 2: Structure-scaffold glom containing a simple routine.
CONCLUSIONS
Our system is a vast sea of active typographic information
that is constantly in motion and changing according to a
series of small visual programs operating on the immediately
surrounding typographic data. The program display itself
is an exercise in kinetic typographic expression, while at the
same time serving a specific functional purpose of processing
input text and producing kinetically altered output text. These
concrete programs represent the beginning of our exploration
of alternative information structuring for creative use.
REFERENCES
1. Eugen Gomringer. Concrete poetry, 1953.
2. Matthew Grenby. Glom: Thinking about a new thing to
think with, 1996.
3. Macromedia Inc. Macromedia director, 1996.
4. Adobe Systems Incorporated. Adobe after effects, 1995.
5. Suguru Ishizaki. Typographic performance: Continuous
design solutions as emergent behaviors of active agents,
1996.
6. Douglas Soo. Implementation of a temporal typography
system, 1997.
7. Louis Weitzman. The architecture of information: In-
terpretation and presentation of information in dynamic
environments, 1995.