By Judy Qiu
1. Introduction
Flash 5 and Generator 2 are two authoring tools of Macromedia web site development products. The former provides a platform to create animated, vector-based web content. It also has a custom language “ActionScript”, which is based on JavaScript specification, supporting simple interactivity. The later is aimed at providing a template mechanism to automate content updates. With Generator integrated with Flash, user can not only design rich media content of text, graphics, animation and audio objects but also convert them into Generator objects when prototypes are needed for dynamic content delivering. The methodology of Macromedia Flash and Generator can be a useful reference for designing high quality, complex distance learning authoring system. In this report, I will first summarize the features and key technologies of Flash and Generator, and then comment on some insufficient factors based on my experience of using both tools. At last, a comparison of Flash format (SWF) and Scalable Vector Graphics (SVG) will be briefly discussed.
2. Flash
Flash and Flash player
Flash 5.0 is a vector-based technology that supports animation, sound and interactivity. It evolved from a product “Splash” in the mid 90s and aims at delivering scalable and high quality web content over the Internet.
Flash player is a viewer to show Flash content (SWF), which is either generated by the Macromedia Flash authoring tools or exported from other leading designing tools. Flash player is small (about 200K) and quick to automatic download for Windows, Linux, Solaris, Macintosh, IRIX, and Java through most web browsers.
User can create Flash content (SWF) with Macromedia authoring software, such as Flash 5, then save and publish the result artwork (including text, graphics, animation, sound objects and attached actions) as flash movie ¾ an editable format (.fla) or a final format (.swf). The former format can be read by Flash and the objects (items on the stage) can be altered. The later is a compact binary format optimized for web delivering, therefore, not editable.
Open Standard
Flash file format (.swf) is currently the most widely used vector graphics and animation format on the web. In April 1998, Macromedia announced to make SWF an open source for becoming an Internet standard of vector graphics and animation. In early 2000, the following SDK’s ¾ Macromedia Flash Player source code SDK and Macromedia Flash File Format (SWF) SDK are released for open access (with Source Code License Agreement). The above tools and documentation make Flash Player platform independent and also extend ways for developers to write SWF files.
Features of Flash 5
Flash 5 features a user-friendly interface that provides a powerful development tool for creating artwork, streamlining workflow and creating interactivity.
Flash 5 provides an easy to access environment for creating and editing Flash movies (animation with sound and interactivity). A user typically works with the key features as follows (Figure1):
4The Stage ¾ the rectangular area where the movie plays
4The Timeline ¾ where graphics are animated over time
4Symbols ¾ the reusable media assets of a movie
4The Library window ¾ where symbols are organized
4The Movie Explorer ¾ providing an overview of a movie and its structure
4Floating, dockable panels ¾ elements properties and authoring environment settings
Figure 1 Flash 5 Interface
Macromedia
has three products for web graphics design ¾ .FreeHand 9, Fireworks 3
and Flash 5. Like Adobe Illustrator 9, FreeHand is used as a powerful tool to
create original artwork ¾ vector
illustration, layout, bitmap creation, text and image editing, painting and
animation.
Fireworks is primarily a design application for screen graphics. It has enhanced feature that allows a designer to edit with vector object and apply delicate bitmap effects (shadows, glows and bevels etc.) in a single application. Fireworks generates JavaScript and HTML code so that the creation of image maps, rollover buttons and animated banner ads and publishing of completed web page are integrated into one workspace.
Compared with Fireworks, Flash
produces more dynamic and media rich content ¾ Flash movie. Flash 5 can
import different file formats (such as .ai, .dxf, .bmp, .emf, .fh9, .spl, .gif,
.jpg, .png, .swf, and .wmf for windows system). The following are basic
concepts to deal with in Flash (Figure 2):
4Drawing ¾ provides various tools for drawing freeform or precise lines, shapes, and paths, and painting filled objects.
4Symbol ¾ a symbol is a reusable image, animation, or button
4Instance ¾ an instance is an occurrence of a symbol on the Stage. Symbols help to create sophisticated interactivity, reduce a file’s size and simplify editing a movie
4Layers ¾ structure as transparent stacked sheets on top of each other and it helps to organize the artwork in a movie by separating objects on different level
4Type ¾ the text block object where properties such as size, typeface, style, spacing, color and alignment can be set. Sophisticated transform can be applied like shape object.
4Buttons ¾ the objects (with four statuses: Up, Over, Down and Hit) trap mouse clicks and trigger the interaction with Flash movie.
4Sound ¾ the object can be integrated into a Flash layer. There are two types: event sounds (a complete pre-download before playing and independent to the Timeline) and stream sounds (synchronized to the Timeline)
4Animation ¾ tweening is an essential technique for creating animation. It defines starting and ending states of an instance, group, or text block and use transformation matrix to do the calculation and interpolates the values or shapes for the frames (cells on the Timeline) in between. There are two types of tweened animation in Flash: tweening motion (position and shape) and tweening color. Here is an example of a tweening motion along a straight path (Figure 3).
Bee object is put on the top layer Frame 1 and 5 are the starting and ending points.
Frame 2 to 4 are interpolated.
Figure 3 Tweening
motion
Interactivity
is an important feature of a Macromedia Flash movie. Actions are the essential
parts of an interactive Flash movie. ActionScript, a simple object oriented
scripting language that similar to the core JavaScript, provides predefined
classes, which used to react to events (e.g. button clicks and key presses) of
an object (e.g. instance of button or movie clip) or frame, so as to control
navigation and interactivity in a Flash movie.
The Actions Panel is the tool for creating and editing actions for an object or frame. There are two editing modes ¾ Normal Mode and Expert Mode which have the same functionalities. In Normal Mode, a user can simply select actions from the Toolbox list by dragging and dropping or fill in parameters in the argument fields. In Expert Mode, one can enter ActionScript code directly into the text editor on the right side area of the panel
Vector graphics
Vector graphics is perhaps the most important technique used by Flash 5. Although there is other leading designing tools that build up on vector graphics, such as CorelDRAOW 10 graphics suite, Macromedia Flash is the very first one who uses vector based graphic design in generating web contents and delivering them over the Internet.
Compared with bitmapped images
(GIF and JPEG), which are optimized for a single resolution, the scalability of
vector images is more ideal for displaying web contents uniformly on PDA,
set-top boxes, or PCs. Vector images can be more compacted, thus make the file
size small for delivering. Therefore, the product benefits from this designing
feature both in terms of bandwidth efficiency and device
independence.
Flash file format (SWF)
The Macromedia Flash (SWF) file format was designed to deliver vector graphics and animation over the Internet. It features with extensibility (a tagged format), efficiency (a binary format), simplicity (a simple format) and scalability (vector based graphics). SWF structure is consists of a Header and a series of tagged data blocks (Figure 4). There are two types of tag ¾ definition tag (defining the content of a Flash movie) and control tag (manipulating characters and controlling the flow of the movie).
Flash interactive movie needs frequent data exchange over a network connection. For high quality rendering, Flash is structured in separating the contents from its displaying system (Flash player). The Flash (SWF) file, a tagged format, is compressed to be small and rendered through binary code. Several compression techniques are used to reduce the file size:
4Compression ¾ Shapes are using delta encoding scheme, which assumes the first coordinate of a line to be the last coordinate of the previous one and distances are expressed by relative position to the previous one
4Shape Data Structure ¾ uses a unique structure to minimize the size of shapes and to efficiently render anti-aliased shapes on the screen
4Change Encoding ¾ SWF files only store the changes between states.
4Default values ¾ some structures, like matrices and color transforms, share common field with default values
4Reuse ¾ by the character dictionary, a font, bitmap, shape, or button element can be stored once and referenced multiple times.
The dictionary
The dictionary is a repository of characters that have been defined, and are available for use by Control Tags. The structure and interaction between definition tags, control tags and the dictionary is showed in Figure 5.
Flash file format (SWF) SDK
The Macromedia Flash file format (SWF) SDK is a C++ Library that provides a set of tools for developers to write Macromedia Flash (SWF) files. There are two types of interfaces for writing SWF files, a high-level and a low-level manager. Both interfaces are in the same code base, but are used somewhat differently. The high-level manager presents a simple interface for writing SWF files, while the low-level manager presents an API for writing an arbitrary SWF file.
3. Generator
Generator and Generator templates
Generator 2.0 is a Web server production application written primarily in C++. When integrated with Flash, it can dynamically combine variable objects (text, graphics and sound) to build rich media content and deliver the final product over the Internet in animated or static formats.
Template is a container that has variable elements (graphics, text and sound) to be replaced with content provided by a data source (text files and databases etc.). Using template technology, Generator provides the mechanism for designers to create prototypes (.swt) in Flash with Generator authoring extensions (Generator Objects). Generator objects are placeholders for Generator-processed content. The Generator Objects Panel provides some standard objects, such as charts, tables, tickers and lists (Figure 6).
Workflow of Generator
The process of using Generator can be illustrated in the following authoring mode of operation (Figure 7).
Figure 7
Workflow of Generator in authoring mode
There are two editions of Generator 2 ¾ the Enterprise Edition and the Developer Edition. They are different in performance, scalability and online production.
The Enterprise Edition has more extensive caching technology, which stores frequently requested information. With its own web server on line, it is used for delivering real-time, visual content (Figure 8). It allows developers to extend the functionality by creating their own Generator objects by using the extensive API and Developer’s Kit (SDK).
Figure 7
Workflow of Generator
The Developer Edition is a data-driven, automatic updates solution. It processes requests one at a time, therefore, it is only used in offline mode (Figure 9). Generator 2 Developer Edition also includes some new objects and an extensible API.
Figure 8
Workflow of Generator Developer Edition
Generator architecture
4. Summary
Macromedia Flash 5.0 and Generator 2.0 are powerful tools for designing and delivering web contents. Especially the Vector Graphics and Template technologies that they use bring highlights to the system. However, there are still some insufficient factors in the perspective of view of designing general web authoring tools. For example, dynamic positioning of web contents is a very important feature for automatic batch processing and rendering of the general web authoring system. It is not obvious that Flash and generator provide such interface. Although Macromedia made Flash File Format (SWF) an open standard, being a commercial product, there are still constrains in developing and delivering the customized application that build on top of Flash.
5. Future
In November 2000, W3C proposed a new version of Scalable Vector Graphics (SVG) Specification. Compared with Flash SWF files (a compact binary file format that requires an additional browser plug-in to be available in order for displaying a movie), SVG is an XML-compliant open standard. The non-proprietary formats of SVG would provide developers a choice of vector graphics and movie formats.
For Flash authoring
Microsoft Windows 95, NT 4.0 or later; A PowerPC with System 8.1 or later;
32 MB of RAM, 40 MB of available disk space;
A color monitor with resolution 800x600; and a CD-ROM drive.
For Flash Player
Microsoft Windows 95, NT 4.0 or later; A PowerPC with System 8.1 or later;
Netscape 3, Internet Explorer 3.02 or later.
32 MB of RAM, 40 MB of available disk space;
A color monitor with resolution 800x600; and a CD-ROM drive.
For Generator templates authoring and previewing
Microsoft Windows 95, 98, 2000, or NT 4.0 with Service Pack 5 or later;
or A PowerPC with System 8.1 or later and Mac OS Runtime for Java 2.1 or later;
32 MB of RAM, 40 MB of available disk space;
A color monitor with resolution 800x600; and a CD-ROM drive.
For Generator content serving
Microsoft Windows:
NT 4.0 Server (Service Pack 5) with Internet Information Server 4.0 or iPlanet4.0;
Or Windows 2000 with Internet Information Server 5.0;
Or Windows 95, 98 or NT 4.0 Workstation with Personal Web Server 4.0;
64 MB of RAM, 48 MB available disk space and 64 MB of swap space.
Solaris systems:
Solaris 2.6 or 7 with Apache HTTP server 1.2.6 or 1.3.x or later;
Or Netscape Enterprise 3.5 or later;
64 MB of RAM, 80MB available disk space and 128 MB of swap space.
Linux systems:
Red Hat Linux 6.1 with Apache HTTP server 1.3.9 or later;
64 MB of RAM, 80MB of available disk space and 128 MB of swap space.
Flash Player for Developers and Publishers, Macromedia FLASH white paper
Architecture and Technical Discussion, Macromedia GENERATOR white paper
Macromedia FLASH5 Using Flash
Macromedia FLASH5 ActionScript Reference Guide
Macromedia GENERATOR2 (Developer Edition) Using Generator
Adobe Photoshop 6.0 User Guide
Steve Probets, Semantics of Macromedia’s Flash (SWF) Format and its Relationship to SVG, sgp@cs.nott.ac.uk
Steve Probets, Flash and SVG, sgp@cs.nott.ac.uk
Steve, Probets, How Flash Animation is managed by an SWF to SVG Translation Package, sgp@cs.nott.ac.uk
Judy Qiu, Flash movie demo ¾ http://aspen.ucs.indiana.edu/project/research/index.html, xqiu@indiana.edu