10 March 2008

The Adobe Flash Platform

As a veteran in the field of interactive design, I have watched Adobe® Flash® grow over the years from a single application into a development platform with a range of tools. On February 25, 2008, I taught an online workshop in using Flash and Flex for developing Internet content for the University of Southern California's Media Arts and Practices graduate program.  I showed attendees how to apply progressively more complex skills and techniques across the range of tools that comprise the Flash platform, and how to match the appropriate Flash toolsets to the demands of various kinds of interactive development projects.

Tools for Primarily Linear Projects

The Flash Integrated Development Environment (IDE), otherwise known in its current version as Flash CS3, is an ideal tool for developing character animation or linear animation projects. These are projects that require little coding and can be effectively implemented with the Flash IDE timeline. The playful musical animation "One Dozen Monkeys" is a good example of this kind of project.

When you want to create projects with light interactivity, you can add ActionScript  directly to the timeline and effectively create simple presentations with only basic coding skills. In these kinds of projects, you typically use ActionScript to jump from frame to frame, create loops, or modify graphics already placed in the timeline. This promotional site for an animated short called "The Intruder" is a well-executed example of a lightly interactive presentation.

Tools for Immersive Interaction Projects

Learning the basics of object-oriented programming gives you the ability to use Flash IDE and ActionScript to create projects that don't simply rely on existing assets in the timline, but can add, create and combine new media elements on the fly. Techniques like these enable you to create more interactive experiences. The WDCS's life-size blue whale site shows off the possibilities of such an approach.

As the scope and complexity of your projects increase, a developer-centric tool like FlexBuilder can increase your productivity with features like the Outline panel, error highlighting, and project management. FlexBuilder can be used to build pure ActionScript projects, so if you're not ready to learn MXML and the Flex framework yet, you can still get all the benefits of a mature development environment. A site like The Virtual Window Interactive represents a level of complexity that would benefit from FlexBuilder's features.

Building applications

FlexBuilder is the perfect tool for quickly building simple applications with standard user interface elements. If your project can make use of the extensive library of widgets included in the Flex framework, you can use MXML to put an application together with even moderate coding skills. The online Haworth office equipment site shows off a simple application built using FlexBuilder and the Flex framework.

The Flex framework's seamless integration with ActionScript means that experienced developers can easily extend the functionality of the default components, or create completely new components that leverage all the benefits the framework provides. Discovery Channel's Earth Live site is a great example of a sophisticated application which mixes standard UI components with custom ones, each one skinned to provide a consistent, branded look.

The right combination

Choosing the right tools and techniques to achieve the most effective development process using the Flash platform is a matter of finding the best match with your project requirements and skills. If you get the match wrong, you might find yourself frustrated and doing too much work to produce the project efficiently. Take some time to think through your project to ensure you've got the right combination of elements. Then, build your skills incrementally and take advantage of the strengths of the various tools, languages, and frameworks that the Flash platform offers.