There's no doubt that Macromedia Flash has helped create some of the most memorable sites on the Web. No other program delivers such attractive animation, engaging interactivity, and synchronized sound. So it's a shame that using Flash to build Web sites can be such a frustrating experience. Flash's unintuitive interface, click-intensive dialogs, and limited scripting support have been known to inspire a love-hate relationship between the program and developers. Sure, you can do amazing things in Flash - but it isn't easy.
Macromedia is hoping to provoke a little more love and a little less hate with the release of Flash 5, a total overhaul of the program. Almost every corner of the program sports changes - many of them significant - including a streamlined interface, new drawing tools, expanded site-management features, and newly unleashed programming power. Here's a look at how these new tools and refined features will have you working faster and smarter.
Although you can use Flash to create beautiful and engaging Web interfaces, the program can be a nightmare to navigate. If you've ever looked for your library under the Libraries menu (it's not there) or tried tinting several movie clips at once (you can't), you know why Flash designers complain bitterly about the program's interface. Flash's face-lift adds dozens of subtle enhancements to simplify and speed up even the most mundane tasks.
A Familiar Face One of the most striking changes in Flash 5 is its look. Macromedia has retooled the program's interface to make it more consistent with almost all Macromedia products. This will make it easy for new users to apply knowledge across programs.
In addition to being easier to learn, the new interface is also more efficient - thanks in large part to the near elimination of Flash 4's clunky modal dialog boxes. The most-common controls and settings are now housed in panels , tabbed palettes that remain on screen. While modal dialog boxes had to be opened each time you needed to change an object's setting (a very click-intensive process) and closed before anything else could be done, panels let you inspect and modify several objects at once. This will save you valuable time on almost every task - from changing the font in several blocks of text to modify-ing the alpha level of everything on the stage.
Macromedia has also tweaked Flash 5's timeline, which users are likely to find more intuitive than the old one. For example, you can now extend a layer simply by clicking and dragging its end. In the past you had to click once, wait for the cursor to change to a box, and then click and drag. Realizing that the new timeline may frustrate Flash users accustomed to the old way of working, Macromedia has provided a preference setting that lets you view the timeline as in past versions.
Controlling Fine Lines Designers who cringed at Flash's unusual drawing method will appreciate Flash 5's new pen tool - a standard feature in most vector illustration programs. In previous versions of Flash, designers employed a drawing method called vector clay - bending and extending shapes to mold illustrations. This organic drawing process made many professional designers who were familiar with Adobe Illustrator and Macromedia FreeHand feel out of control - if not downright queasy. The new pen tool lets designers draw and shape objects in a very controlled manner using Bézier handles. Macromedia not only added a pen tool but also integrated it, making it completely compatible with the vector-clay drawing style of Flash. Shapes drawn with the pen tool can be modified with precise Bézier handles, or by simply bending shapes and extending points. Likewise, you can modify anything you draw with the paintbrush or pencil tool using the pen tool's Subselect option.
While many designers will welcome the addition of the pen tool, Flash 5 still has a long way to go before it matches the powerful drawing features of professional illustration programs. Earlier versions of Flash attempted to bridge this gap by allowing users to import native Adobe Illustrator 6 files - a limiting option, considering that Illustrator is currently at version 9. In Flash 5, Macromedia has focused its efforts on improving integration with its own illustration program, FreeHand. You can now import native FreeHand (version 7 or later) documents into Flash 5. This means that an artist on your team can create complex graphics in FreeHand and simply send you the finished files for direct import into Flash. (If you use Illustrator, you'll need to export your document as a .swf file - a feature built into Illustrator 9 and available to earlier versions with the help of the free Flash Writer plug-in from Macromedia.)
The FreeHand Import controls make it easier to repurpose print content for the Web - leaving you with fewer files to maintain. For example, you can lay out a multipage brochure using FreeHand and then open the file in Flash. Flash doesn't have "pages," so after importing a FreeHand file, you can selectively map pages into separate keyframes (for images to appear sequentially) or into separate scenes (to use the graphics in distinct sections of your movie). You can also choose to distribute FreeHand's layers to individual Flash layers or to keyframes (see "A Helping Hand"). These options allow you to retain more attributes of the original FreeHand file. This is a giant step toward seamless integration of Flash and FreeHand.
Despite its significant interface changes, Flash 5 isn't all about looks. Aiming to please one of its most demanding groups of customers - programmers - Macromedia also took a hammer and monkey wrench to the inner workings of Flash, adding a level of flexibility and power previously missing from the program. Sure, you could create amazing Web sites in Flash 4 - but that's like saying you could build a house out of toothpicks. It's possible but not easy. Pushing Flash 4's limited scripting capabilities beyond the simplest of tasks required a resourceful nature and a host of complicated workarounds. Flash 5 now addresses this problem - its new scripting tools and improved text controls provide enough power and flexibility to make even the most control-hungry users smile with glee.
Getting Up to Code The most profound technical change in Flash 5 comes in the form of an entirely overhauled programming language. Introduced in Flash 4, the original ActionScript was something experienced programmers called a "language" only while snickering. Key components of any programming language are functions - and Flash 4 had only a handful. Worse, there was no way to create your own. Instead of writing lines of code, you simply selected preset Actions such as Go to and filled in parameters (such as Go to frame 1 ) from a pop-up menu. Though Flash 4's ActionScript was very approachable for novices, experienced programmers felt hampered. Even programming simple tasks, such as exchange-rate calculation, required complex and funky workarounds.
Flash 5 puts power back in the hands of programmers, letting them turn off structured guidance by selecting Expert mode in the Actions panel and then typing code directly into a window. (The guided method of writing scripts is still available in Normal mode.)
Now that they have a true programming language at their disposal, Flash users can control their code. Functions, such as the currency-exchange calculator, that used to require three or four lines of needlessly complex code can now be accomplished in one. And because no one writes perfect code, Flash 5 even includes the Debugger feature, which displays code while your movie is playing to help you identify and weed out programming errors.
Broadening Horizons The improvements to ActionScript in Flash 5 give experienced programmers the power to create sophisticated programming tasks that were previously impossible. In the past, you could apply scripts only to frames and buttons (making your movie loop or jump to a new URL, say). But in Flash 5, you can place scripts on Movie Clip instances - so you can write scripts that respond to events (called Clip Events) that formerly went unnoticed. For example, you can make a running movie clip appear to float across the screen by using the enterFrame event to push a movie clip one pixel to the right each time a new frame loads.
Looking Smart If you aren't quite ready to become a programmer, Flash 5 also offers ways to insulate yourself from code while still taking advantage of powerful interactivity features. The best example of this is Flash 5's Smart Clips - prefabricated, sophisticated code snippets that can be shared and recycled. One sample Smart Clip that ships with Flash lets you automatically create pop-up menus. All you have to do is select the Menu Smart Clip and enter the menu items in the Clip Parameters window. You never need to get your hands dirty in the code.
Only a few Smart Clips ship with Flash 5. What makes the Smart Clips feature truly powerful is that you can create your own, greatly simplifying the construction of Flash files. Programmers can create custom Smart Clips for reuse by others. Say you have a Movie Clip of a bouncing-ball animation. You can turn it into a Smart Clip that lets the author specify how many times it plays - or bounces. A Flash designer can then drag this custom Smart Clip onto the stage and set it to bounce five times. Later he could drag out another instance and make it bounce only twice. The same code is used in each instance, but with different parameters. And since the code is centralized, Smart Clips are easy to maintain. If you find a problem, you have to fix it in only one place. This flexibility makes customized Smart Clips great for creating repetitive and graphically consistent elements for your Web site - such as type styles (see "Perfect Your Style").
Dynamic Text Not all of Flash 5's geek-pleasing enhancements involve programming. Macromedia has also added a surge of power to the program's text-handling features. Flash 5 now offers basic HTML (1.0) text formatting, in addition to traditional antialiased display type. This makes it easy to reuse text from an existing Web page without reformatting it. But the true power of HTML text comes into play with dynamically updated Flash sites. Regular Flash display type becomes locked once the movie is exported. But with HTML-formatted files, it's easy to make Flash content automatically update or change formatting while a user visits your site. And now you can put a link right inside your dynamic text instead of carefully positioning an invisible button over the word.
Missing the Flash It's worth noting that Flash 5 is not entirely backward-compatible. While you can use Flash 5 to create a movie that works in the Flash 4 player (which has a huge install base), you won't be able to use many of the newest and best scripting features, such as Smart Clips and HTML text. To help you remember which scripts are off limits, Flash 5 highlights the scripts in the Actions panel when they're unavailable in the format to which you're publishing. This is an improvement over Flash 4, in which you could deliver to Flash 3 but you had to know from experience which features were off limits.
More and more, designers and programmers are collaborating to build large Flash projects. This team effort can produce a unique set of problems. Working in teams requires that everyone be able to work simultaneously and, if need be, take over other parts of the project at a moment's notice. However, working simultaneously is impossible if there's just one master file. And making sense out of team members' Flash files can be more difficult than finding where they keep the silverware in their kitchens. Luckily, Flash 5 now addresses many of these productivity issues.
Getting Noticed Large and complex Flash files tend to get unwieldy. If you've ever had to update a large file you programmed a long time ago, you probably found it easier to just start over. And forget about trying to edit someone else's work! You'd have an easier time hacking into the CIA's computer system.
Flash 5's new Movie Explorer can help navigate complex projects by creating a visual map of the whole file - including fonts, graphics, and scripts (see "Flash in a Haystack"). Its hierarchical view lets you sort, print, and even jump to any part of your movie; it's a great tool for making small tweaks to large movies. You can use the Movie Explorer to quickly find and change every instance of a particular font - a huge time-saver.
Learning to Share Working with multiple designers often means working with multiple design styles. But without strong graphic consistency, a Web site can wind up looking sloppy and unprofessional. Imposing a standard style requires keen attention to detail; making sure every member of a group has the correct and updated versions of fonts, images, and other movie assets is a challenge.
To keep all team members on the same page, Flash 5 allows groups to access a shared repository of elements. This shared library can include images, movie clips, fonts, and even Smart Clips. And just as regular Flash libraries store the media once, no matter how many times you recycle an item, team members need to download the contents of a shared library only once, which keeps files compact. If a shared library item is edited, the change is automatically reflected in every file linked to that library. For example, if you add rounded corners to a button in the shared library, you'll see that change everywhere the button is used. This ensures consistency even as the design changes. (To learn how to create a shared library, see "Sharing the Wealth.")
The Last Word
Flash 5 is built for productivity and power. Its new features and enhancements make it more efficient, more flexible, and easier to maintain. Flash 5 won't start making Web sites for you, but it will definitely make the job much easier. Although Flash veterans may at first be put off by some of the changes, once they get over the initial shock and adapt to these ways of working, they're sure to find plenty to keep them satisfied. And every minute invested in learning a new approach will be paid back in hours of saved time.
PHILLIP KERMAN, author of SAMS Teach Yourself Macromedia Flash 5 in 24 Hours (SAMS, 2000), conducts Flash training workshops around the world. Archives of his free newsletter are available at www.teleport.com/~phillip/newsletter.