Concrete Programming Paradigm for Kinetic Typography
Chloe M. Chao and John Maeda

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.


Copyright 1997 IEEE. Published in the Proceedings of VL'97, September 23-26, 1997 in Capri, Italy. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works, must be obtained from the IEEE. Contact: Manager, Copyrights and Permissions / IEEE Service Center / 445 Hoes Lane / P.O. Box 1331 / Piscataway, NJ 08855-1331, USA. Telephone: + Intl. 908-562-3966.