Icon

Adobe Flash CS4 Professional

Latest version keeps the good mojo flowin'

I have bad news for those out there who were expecting Flash CS4 to, well, suck: It doesn't. Far from it. Adobe certainly seems to have responded to the pressure of having viable Flash competition by delivering a polished upgrade that is chock full of thoughtful improvements and useful new features. So despite the fact that I've spoiled the ending, I hope you'll come along as we explore the latest and greatest in the most recent release of the Flash authoring tool.

Let's start with some perspective by quickly summarizing the last few versions of Flash:

  • Flash 5 (2000): ActionScript (1.0) is born
  • Flash MX (version 6, 2002): Revamped timeline and the introduction of Flash Video
  • Flash MX 2004 (version 7, 2003): ActionScript 2 debuts
  • Flash 8 (2005): Designer tools galore in the form of effects, blends, drawing improvements, better easing, text enhancements, etc.
  • Flash CS3 (version 9, 2007): ActionScript 3 unveiled

In the way the even-numbered Star Trek movies were generally regarded as better than their odd-numbered counterparts, Flash has seemingly settled into an even/odd pattern of its own: even-numbered Flash releases are for designers, while odd-numbered releases are for developers. Perhaps that's an overly simplistic view, but it generally fits, so we're going to go with it. It then stands to reason that Flash CS4 Professional, with its version number at 10, would be a designer-oriented release -- an educated guess that just so happens to have been borne out in this case. Enough ado; let's get to what's going on in Flash CS4.

Interface

Much hay has been made about the new CS4 design interface, which is shared amongst such players as Photoshop, Illustrator, InDesign, and, yes, Flash. Flash's implementation is slightly different than, say, Photoshop's, as the Application Frame and Application Bar are permanent fixtures (on either platform) which cannot be switched on and off. However, like those other programs, you can not only have multiple Flash movies open at the same time (which is not a new feature), you now have much more flexibility with how they are displayed. A single window with tabs, a split window with movies in their own space (fig. 1), or multiple floating windows are all possibilities.


Figure 1: Just drag open tabs around to produce a multi-view document area.

Another hallmark of the CS4 design interface is the dockable panel model, which Flash CS4 naturally adopts. It's trivial to drag and dock (or float, if that's your preference) any panel to fit your workspace needs, which is why one of the big "features" that I've seen mentioned in many a first look piece when Flash CS4 was announced -- the timeline's new default position on the bottom of the screen -- isn't really a big deal when you consider that you can just drag the thing back up to the top anyway. (Conversely, you could have arranged your screen this way in Flash CS3, so I'm not sure what the fuss was all about). However, one big interface change that you can't do anything about (not that you'd want to) is the re-orientation of the Properties panel to a vertical layout. This setup may seem weird at first for those of us who go way back with Flash, but it doesn't take long to realize how natural it feels. Properties are displayed based on context, so, for example, the panel shows publishing and general properties in the Document context, while selecting a drawing object shows position and size properties as well as fill/stroke information (fig. 2). The old panel kinda sorta worked like this, but shoehorning everything into a small horizontal layout caused problems at times -- the vertical orientation makes much more sense.


Figure 2: The properties panel is now vertical, making the contextual information it displays much easier to read.

Couple of things to mention real quick before moving on: One, I'm pleased to report that the Library is now on its best behavior -- your sorting options remain intact (even after using Save and Compact), placing symbols into folders no longer results in strange sorting, and I love the addition of the Spotlight-like search feature, which easily tames out-of-control Libraries (fig. 3). And lastly, another nice feature is the borrowing of scrubbable input fields from the Adobe Production programs -- just hover over a number and click and drag to change the entry (fig. 4).


Figure 3: Just type a couple of characters and the Library will display only the symbols that match your search string.


Figure 4: Just hover and scrub -- a great feature from After Effects makes its way into Flash.

Motion

Interface improvements are nice and all that, but we're talking small potatoes compared to the enhancement Flash users have been waiting years and years for: object-based animation. Up until now, working with the timeline in Flash was a veritable nightmare of explicit symbol creation, jumbled keyframes, and muddled tweens, and it's not hyperbole to say that animation was the weakest link in the Flash chain. Those days are gone. Here's the process:

  1. Place or draw an object or symbol on the stage.
  2. Right-click on it in the Timeline and add a motion tween.
  3. Move the object.

That's it. Symbols and keyframes are created automatically. Need to stretch it out? Drag the end of the tween to make it longer. Need another keyframe? Just move the playhead and then move the object again. Want to use the motion on another object? You have many choices, from a simple asset swap to saving the motion as a preset to copying the motion as ActionScript. Slick, simple, intuitive, with motion properties finally existing independently of each other. What's more, motion paths are Bezier curves, so you can adjust curves just by dragging (fig. 5). Hopefully you're beginning to realize the power of moving to an object-based animation model.


Figure 5: Just select an object and drag its motion path to create Bezier curves.

But the motion goodness doesn't stop there. Apparently the Flash development team wasn't satisfied with simply overhauling the tweening model. Enter the Motion Editor (fig. 6), which us After Effects/Flash crossover proponents have been hoping for ever since news of the Adobe/Macromedia marriage was first announced. So, for the first time, you can now inspect an object's motion and visually fiddle with motion properties independently. It's worth noting that Flash's Motion Editor is somewhat simplified from the After Effects version, though many similar conventions are used. I'm looking forward to this feature evolving in subsequent versions, but it's a very good -- and very useful -- first cut.


Figure 6: Flash's Motion Editor in action.

I've briefly alluded to this, but the last thing to mention about the motion improvements is the Motion Presets panel (fig. 7). Flash CS4 ships with a pretty nice library of motions that you can apply to any object, and while that's all fine and good, the real fun begins when you save your own. Any tween you make in the timeline can be saved as a Motion Preset, and presets can be saved as XML files and shared with anyone you like. Definitely a useful feature, and a natural extension of the motion sharing introduced in CS3 in the form of copying motion to ActionScript 3.0.


Figure 7: Pick a default preset or make your own.

I've said it before, but it bears repeating: it's not a stretch to say that the motion improvements in Flash CS4 are as profound an upgrade as Flash has ever seen, and if you fall on the design side of the "Flash Divide" (a concept I'll discuss in a bit), these changes are more than worth the price of admission. I'll also repeat my earlier missive published when CS4 was first announced by re-stating that if you take all these motion additions, throw in the filters and blending modes introduced in Flash 8, add a dash of IK and 3D (discussed next), sprinkle in the power of ActionScript under the hood, and Flash is a very, very capable motion graphics program in its own right -- who needs After Effects?

Inverse Kinematics (IK)

I don't recall a huge popular groundswell for this particular feature in Flash, but the introduction of Inverse Kinematics is nonetheless intriguing. For the uninitiated, IK is a method of animation where you define a series of bones and bind them to an object, a process which has the potential to greatly simplify the deformation of objects in natural ways. The obvious application for IK is in character animation, but IK generally can make deforming many types of objects easy. Flash CS4 has a pretty straightforward and largely intuitive implementation, which can work in a couple of ways. One, you can link together a series of Movie Clips with bones and use the resulting IK armature to move the collection in a realistic way. One of the Adobe-provided examples (a crane) is illustrative of this method; simply drag out a series of bones throughout the crane, then all you have to do is drag the hook and the rest of the crane moves as well (fig. 8).


Figure 8

The second way you can create an armature is to drag out a series of bones within a single shape, such as a star (fig. 9). Used this way, IK in Flash can be a replacement for Shape Tweening, with more predictable results. The key here is that you can't use pre-defined symbols like Movie Clips (a series of which have to be used with the Bones tool) -- you have to start with an unconverted drawing object. This is the unintuitive portion of the largely intuitive implementation.


Figure 9

The last thing to mention about IK is that is has a really slick runtime mode. Simply click a checkbox, and user interaction scripts are automatically added, allowing the user to grab and drag without you having to write a single line of code. All in all, IK is an interesting and well-implemented feature which should make for some really fascinating interactive applications, so I'm eager to see what creative stuff folks start producing here.

3D

Let's not get too excited over what passes for 3D in Flash CS4, even though it's a very nice addition. We're not talking about real, honest-to-goodness, three-dimensional 3D; no, Flash CS4's implementation is the 2.5D, "postcards in space" effect, which is simply the ability to take a flat asset and move or rotate that asset along an additional axis (fig. 10). However, it's a good start. If you've been following the burgeoning "true" 3D in Flash movement through the likes of such players like PaperVision 3D and Away3D, I urge you to do a bit of Googling and see how adding just this little bit of 3D natively into Flash promises to take 3D realms in Flash to the next level. However, even without that angle, the introduction of 3D into Flash, even in this limited implementation, is a wonderful addition and will definitely enable new and interesting animations and interactions. This is another area where I'm looking forward to seeing what the community comes up with.


Figure 10

The Deco Tool

Flash CS4 sports a new drawing model called the Deco Tool, which allows you to quickly fill an area with symbols. There are three drawing effects which make up the Deco Tool:

  • The Symmetry Brush, which adds symbols in a grid, symmetrically around a line or point, or rotated around a point (fig. 11)
  • Grid Fill, which fills a predefined area with a grid of a chosen symbol
  • The Vine Fill, which draws symbols in an organic pattern


Figure 11: Here, the Deco tool is taking a symbol from the Library and rotating multiple copies around a point.

Honestly, while I can see this feature being useful in certain situations (filling a sky with a twinkling starfield is an example I saw which makes sense), the Deco Tool is bordering on gimmicky for me. Undoubtedly cool, to be sure, but it's just not something I see myself coming back to every day. Who knows, though? Sometimes the features that you don't get excited about at first are ones that end up being the most valuable over time. Your mileage may vary, as usual.

Various and Sundry

While I've hit on the major stuff, there are a few additional things of note that are best handled through one of my patented, world-famous bullet lists:

  • The Adobe Media Encoder has been updated, sporting a new interface as well as the ability to encode to H.264 and F4V (the custom Adobe media container for H.264).
  • Current plans call for Flash eventually moving to an XML-based file format (replacing FLA) by default in the future, but the XFL format is already being given a trial run in Flash CS4, as programs like InDesign and After Effects are able to save projects in XFL format for import directly and natively into Flash. It has a way to go, but is a good start.
  • Adobe has moved Flash's formerly built-in help online, providing a community help site which houses all of Flash's help files. Personally, I despise this move -- it may be easier for Adobe to maintain, but it's hard to defend when not everyone is online 100% of the time. You can download PDF files for offline use, but that's an awkward substitution. Bad move.
  • While you could download a patch for Flash CS3 to enable publishing to Adobe AIR, Flash CS4 now builds AIR support right into the program -- no patching necessary.

The Developer View

So we've gotten the lay of the land by going through the numerous additions on the design side of Flash CS4, but what's in it for developers? Sadly, not much. Bear with me for a moment here.

(As a preface/aside, we're only talking about the development environment in Flash CS4 itself -- ActionScript development in general offers programmers a great deal, from a decent selection of development environments to a very active community. It's those who want to use the Flash authoring tool, and not Flex or some other environment, who I'm addressing here.)

There's a growing problem in the Flash community, a problem which I'll call "The Flash Divide." This divide represents the gap between designers and developers, and the difficulty for the former to move into the realm of the latter. The reason for this is ActionScript 3, a language which, to developers, is generally regarded a huge step forward, but is positively nightmarish for designers to even begin to approach. Put simply, ActionScript 3 is really hard to learn if you don't know anything about programming, but it's a necessary hurdle if you want to take advantage of any new APIs (like 3D, to name one) Adobe adds to each new version of the Flash Player. Having bit the bullet myself earlier this year and made the jump to AS3, I can personally attest to how difficult it is to do, especially for those of us who are not programmatically inclined. Having done it, I can also proclaim that the rewards are indeed great, but at what cost? Some may not have the time and inclination to make the leap, and being effectively "stuck" with whatever ActionScript 2 acumen they have, they're at risk of being left in the Flash dust. The problem, as it relates to the state of ActionScript development in the Flash authoring tool itself, is that hard-core ActionScripters these days would probably be more inclined to move to Flex to write ActionScript, leaving behind the troubled Flash Actions Panel for a more programmer-friendly development environment. While that's all fine and good for those with enough AS-fu to do so, there isn't much in Flash itself to make even introductory ActionScript 3 approachable for the designer. Add in the even/odd designer/developer pattern falling on the designer side this go-round, and the news for the development side of Flash isn't good.

Let's start with the aforementioned Actions Panel. Bottom line: it's pretty much exactly the same as the one in CS3, with the exception that CS3's heinously unreliable auto-formatting has been pretty much fixed. In Flash CS3, I had to use Keyboard Maestro to override the auto-format keystroke with a dialog box admonishing myself for even attempting to auto-format. On the plus side, I broke myself of the habit, and now tend to write better-formatted code as I go, which comes in handy during the times I want to write external .AS files in a text editor such as TextMate. I've still found the auto-formatter tends to get tripped up when you have unwieldy lines of code, such as long XML paths, but in any event, it's nice to have fairly reliable auto-formatting back.

Overall, though, the environment for developers in Flash itself is more or less the way it was in CS3. So here's what has to happen: just as Adobe made Flash more approachable through the long-awaited overhaul to the animation model, Adobe now needs to do a much better job of making ActionScript easier to write in Flash. Developers are sitting pretty with Flex Builder (or even using a text editor and compiling using the free Flex SDK), and designers are starting to get external tools (such as the forthcoming Thermo) to handle ActionScript under the hood, but Flash itself is in serious need of some TLC. I'd love to see the neglected Script Assist mode assume a more task-oriented role, packed with "snippets" (for lack of a better word) that can, for example, add all the code for a click listener and its related function into the Actions panel, ready for customization. Code hinting is nice, but with the sometimes verbose changes present in ActionScript 3, more extreme measures need to be taken.

It's not all bad news, though. Provided you know enough about AS3 and stay away from auto-formatting, keep in mind that all the new design features are fully accessible through ActionScript, so you can definitely get your 3D and IK on in the Actions panel if you so choose. However, it bears noting that you'll have to target Flash Player 10 and ActionScript 3 to take advantage of the new stuff, and with FP10 not having been in final form for very long, it's going to take a while for it to reach "slam dunk" status the way prior versions of the Flash Player inevitably have.

Lastly, let's briefly talk Pixel Bender. You're going to be seeing some really cool image filters running directly in the Flash Player in the coming months and years, and it's thanks to a new pixel shading language Adobe is calling Pixel Bender. And while you can't use the Flash authoring tool to write Pixel Bender shaders (yet, anyway; you'll need to use the Pixel Bender Toolkit, which is available on the Adobe Labs site or included with the shipping version of Flash CS4), you'll definitely be able to import them for use with ActionScript. Coupled with the GPU acceleration present in Flash Player 10, and it wouldn't surprise me to see Photoshop-like applications written entirely for the Flash Platform in the not-so-distant future, beyond even what we're seeing now with Adobe initiatives such as Photoshop Express and Acrobat.com.

The Verdict

OK, time for the ratings. In a nutshell, I'm very comfortable proclaiming that the fine folks in charge of Flash have managed to do it again. Flash CS4 Professional is a major step forward in many areas, though the potential is there for developers (and ActionScript-minded designers, to be sure) to be irked at the way the Actions panel has remained largely unchanged. Now, in past Flash reviews, I've attempted to break Flash down by the various user types as the product has evolved, but I think we're beyond the need to do that here, so let's radically simplify things by just applying the criteria I'm using with all of the CS4 apps I'm reviewing this go-round: how it rates as a new purchase, as an upgrade, and as a positive or negative addition to any CS4 bundle it may be a part of. On that first point (new purchase), Flash CS4 earns a Strong Buy. As an upgrade, all the new stuff puts it firmly into Must Buy territory (yes, even for developers, because you have AS-level access to things like 3D and IK). Lastly, as part of a bundle, of course it's a positive addition, and adds value to all of the CS4 bundles it is included with. Long story longer, Flash CS4 is a huge -- and hugely useful -- upgrade, chock full of thoughtful refinements and additions, and making sure it's in your multimedia toolbox is definitely a no-brainer.

Flash CS4 Professional is shipping now, and will set you back $699 for a new copy, while users of Flash MX 2004 and later can plunk down $199 for an upgrade. Flash CS4 is also available as part of the CS4 Design Premium, Web Standard, Web Premium, Production Premium, and Master Collection bundles. Check Adobe.com for bundle pricing information.

^ Top of Page

Got Feedback? to send an email. I'll do my best to answer. Really.