Hack 29 alt-Flash: Motion Graphics Alternatives

figs/beginner.gif figs/hack29.gif

As much as we love Flash, it isn't the only game in town. Create motion graphics with some of the alternatives to Flash.

Flash is the number one motion graphics and multimedia delivery platform for the Web, but it is not the only one available. Putting aside the mainstream applications, such as Toonboom (http://www.toonboom.com) and Macromedia Director (http:///www.macromedia.com/software/director), and specialized applications, such as text effect generators and Swift 3D (http://www.swift3d.com), there are a few notable stand-outs. Processing (http://www.processing.org) is interesting because it is geared toward scripted animation without the historical baggage of Flash's timeline-based approach. KoolMoves (http://www.koolmoves.com) is a more specialized tool with character animation features not found in Flash. Both are possible alternatives to Flash for developers and animators interested in those more specialized areas.

Processing

Flash is moving in the same direction as the rest of the Web, with Macromedia pushing Rich Internet Application (RIA) development, Flash ubiquity, ease of deployment, and increasing usability. It wasn't always like that, of course?Flash used to be the underground web tool of choice, and I remember attending the first few Flash Forward conferences (http://www.flashforward2004.com) and coming away with all the cool, creative, and totally noncommercial stuff that was being shown.

It hurts to say it, but Flash is no longer the unchallenged underground digital media king. That crown may soon move over to Processing (http://www.processing.org), a graphic programming API that is a cinch to learn for ActionScript programmers. Some example images created by Alessandro Capozzo (http://www.ghostagency.net) are shown in Figure 4-5.

Figure 4-5. Images created in Processing
figs/flhk_0405.gif


Based around Java, Processing is a programming language and environment designed with two purposes in mind:

  • To teach programming fundamentals in a visual way to the electronic arts and visual design communities

  • To serve as an electronic sketchbook that allows visual artists to create animation programmatically

The best thing about Processing is that it is fast, free, and runs in any Java-enabled browser. For noncommercial web art and math exploration pieces, it's looking to be a Flash-beater.

If you aren't convinced that this is going to be big, check out the notable names in the Flash world that are already into Processing:

Cinema Redux: Brendan Dawes (http://www.brendandawes.com)
Gallery of Computation: Jared Tarbell (http://www.complexification.net)
Point Man: Ant Eden (http://www.arseiam.com/proce55ing/man)
Sonic wire sculpture: Amit Pitaru (http://www.pitaru.com)
Keith Peters (http://www.bit-101.com)

As you can see, Processing is appearing on more than a few Flash radars in 2004.

KoolMoves

On the surface, KoolMoves (http://www.koolmoves.com) is a cut-down and low-cost Flash authoring tool with a feature set somewhere between Flash 3 and 4, except that it has a number of animation tools not available anywhere else.

Of particular interest is the bones feature, shown in Figure 4-6. This allows you to create advanced hierarchical soft-bodied animation, something that is very difficult in Flash. At only $49 and with a free trial version (which doesn't allow saves but is otherwise fully functional), it's worth a look, especially if you do a lot of scriptless tweens. It is not as highly recommended for script junkies (who have probably put down the book and are downloading Processing even as we speak).

Figure 4-6. KoolMoves supports bones for soft-bodied animation
figs/flhk_0406.gif


Final Thoughts

There are many alternatives to the Flash authoring tool, some of which use the SWF format (and require the Flash Player for playback) and others that don't. Adobe LiveMotion is no longer available and no longer supported. Other alternatives include:


Ming (http://ming.sourceforge.net)

Ming is a C library of routines that can be controlled via common server-side scripting languages?such as Perl, Python, PHP, and Ruby?to generate SWF files dynamically. These can then be loaded into the client SWF as a nested movie clip or used to replace the currently loaded SWF in the Flash Player. Note that Ming can only generate SWFs; it cannot alter existing SWFs.


SVG

Although Flash is the most common way to create web-based content, SWF isn't the only available distribution format. Like Flash, SVG (Scaleable Vector Graphics) is vector-based. SVG graphics are created via an XML text markup, which means that the contents of the file can be accessed by search engines more easily than the binary SWF format. SVG can be written in any text editor. Although various SVG authoring tools are available, none are as mature as the Flash MX 2004 authoring tool. However, most browsers aren't equipped to recognize SVG content (see http://www.macromedia.com/software/player_census/flashplayer), and the SVG plugin is larger and typically harder to install than Flash Player. Therefore, the greater ubiquity of the Flash Player makes SVG an interesting alternative for limited situations rather than a likely replacement for Flash and the SWF format. The SVG FAQ (http://www.svgfaq.com) and SVG Cafe (http://www.svg-cafe.com) are good starting points to learn more about SVG from the people who know it best. But be prepared to field questions or accusations about what Flash/SWF are all about (and ignore the rampant misinformation about Flash from people who don't know any better). For what it's worth, at the October 2003 MAX conference in Salt Lake City, Utah, Macromedia sneak-peeked a version of the Flash Player that had limited SVG-rendering capabilities. So the Flash Player will likely render SVG content in the future, although not support the full SVG specification.


Flex (http://www.macromedia.com/software/flex)

Flex is Macromedia's so-called presentation server product that dynamically generates SWF files via an XML-like language (called MXML). Flex also uses ActionScript 2.0 to add scripting control beyond standard timeline effects. Flex is aimed at enterprise Java developers. It seeks to address complaints server-side developers had regarding the Flash authoring tool?namely, you can author in text rather than visually, and you can use the editor and source code control system of your choice. Thus, it combines many of the strengths of both SVG and Flash.