Icon

Adobe CS5 Web Premium Part Two: The Flash Platform

The three-part review continues with a veritable smörgåsbord of Flash choices

Honesty time, dear readers: I don't think this is going to be an actual review. As Velveeta is to real cheese, there may be some review-like qualities to what follows, but considering the current all-out assault on Flash and everything it stands for, it may be beneficial to take a larger view of what Adobe has done in Web Premium CS5, namely the inclusion of not one, not two, but three separate tools for creating Flash content.

It got political, and reason was the first casualty

I'm going to go out on a limb and assume you're already aware of the massive nerd fight that has been the Apple / Adobe / HTML5 / iPad / iPhone / Flash / H.264 / their mothers and grandmothers / the kichen sink brouhaha over the last several months. I don't know about you, but I'm sick to death of the demagoguery flying around. There are many reasons this debate irks me so, but the two biggest ones are 1) anti-Flash advocates, while correctly pointing out many of Flash's shortcomings, massively overstate HTML5's imminent readiness on the desktop and 2) both sides can be quick to assume that we're in some zero-sum game where THERE CAN BE ONLY ONE! THE PRECIOUSSSSSS! Rarely do you hear that both technologies make sense and have a role to play, and while (the loose set of technologies commonly known as) HTML5 continues to coalesce and can gradually replace some things Flash can do (including video, which is where the focus of the debate has been), Adobe clearly thinks Flash will not only survive, but thrive.

Not that you asked, but I happen to like Flash both as a user and developer (and have made a pretty decent living off of it these last several years), despite its problems. So yeah, I have a horse in the race, but like many Flash folk, Flash itself was a replacement for what I used to do in Director. I'm very much looking forward to HTML5 becoming a ubiquitous standard (hopefully complete with a full set of designer-friendly development environments to pick from), because I've never been content to stand still and live or die with a single solution. I have doubts as to the speed with which it's going to happen on the desktop, because we're all at the mercy of both browser makers supporting the standard as well as corporations and end users adopting those browsers. In the mobile space, however, it's a much different story. Considering how quickly WebKit is becoming the mobile browser engine of choice, HTML5 will see serious inroads on mobile devices sooner rather than later. Couple that with Apple's big stake in the mobile business right now, it's not hard to see why they're getting behind their own proprietary App store as well as open standards tailor-made for a browser engine they are active sponsors of.

Adobe, for its part, has owned the rich media space on desktop browsers, but has historically struggled to adapt Flash to mobile devices. Those struggles may (not necessarily will) be coming to an end with the imminent release of Flash Player 10.1 for desktops and mobile, so it will be interesting to see how gripes like battery life, gesture support, and whichever other "but... but..." complaint du jour happens to be are either justified or debunked over time. I could go on about this all day, but with that as the current backdrop to the release of the CS5 lineup, let's take a look at the three(!) Flash-centric programs Adobe includes with the latest Web Premium bundle.

Flash CS5 Professional as a response, and on its own

The way things were supposed to go, the BIG DEAL in Flash CS5 was the Packager for iPhone feature, which was clearly designed to usher in a glorious new era of Flash development. Imagine starting a Flash project and publishing for Web, desktop, and all major mobile app platforms from a single codebase. Well, that ain't going to happen. Apple up and banned using any third-party iApp compilers on the eve of the CS5 announcement, so while the iPhone Packager did, in fact, ship with CS5, Adobe has already abandoned any further development. Since it's a dead feature and technology, I'll say nothing further on it save for the fact that giving Flash the ability to target non-SWF (or non-AIR, if that's the way you roll) as a final interactive output format is an intriguing development.

Intriguing, you might ask? Indeed. Because I'm going to start my look at Flash Professional CS5 not with what it does, but what it doesn't do. As I said in an earlier introductory piece, Adobe really hasn't focused on HTML5 in any appreciable way in any of the CS5 applications, which I think is a mistake. Instead, they focused on an iPhone publisher that was made irrelevant before it even shipped, instead of pouring their visible energies into an open standard (albeit an emerging one) that, theoretically, no one company could torpedo on a whim. Unless Adobe is planning on turning over a new leaf by making an effort between major rollouts to update products like Dreamweaver and Flash with feature-adding point releases, it's going to be at least eighteen months before we see anything substantive on the HTML5 front. That's an eternity, and Adobe's goose may well be cooked by then. Adobe CTO Kevin Lynch, even as I was writing this piece, came out and said the company was going to build world-class HTML5 products, but I'm very curious to know when that might be, or in what form that will take. There does seem to be the benefit of some time, because the HTML5 spec itself is kind of a mess, and until a critical mass of browsers support a common feature set, the bad old days of the browser wars are very much back on. Getting back to my main point, Adobe could very well choose to build upon Flash Professional to make it a more generalized multimedia production tool, capable of publishing to more than just the SWF format (Canvas projects, anyone?). The first step towards that end is the admission that SWF may not be the end-all-be-all of interactive publishing, which is what the nascent-yet-already-dead Packager for iPhone represented. So while Flash remains pretty much SWF-only for CS5, don't expect it to stay that way. I think Flash, if it is destined to die, won't do so for a while yet, and Adobe needs to hedge their bets. Time will tell.

The here and now

Enough pontificating -- there's an actual release on the table here, so let's talk about that. Historically, new Flash Pro versions have fallen into a pattern of alternating between stuff for designers and stuff for coders, so with that soft fact as a guiding principle, it would stand to reason that Flash Professional CS5 would be a coder-focused release. To an extent, that's true, a point which we'll get into in a minute. But there's also stuff for designers, a fact which I'll augment by saying that while the new features in Flash CS5 generally tend to fall into the nice and useful categories, there just aren't a whole lot of them. So if you're looking for a feature-packed release, this probably isn't it.

However, what is here is, by and large, welcome. Let's start with the aforementioned coding improvements, namely the terrific code hinting and helpers borrowed from Flash Builder (fig. 1).


Figure 1

Just in case the image doesn't tell the whole story, the code hinting is much more intelligent, even providing help for custom classes you may have placed in your classpath. What's more, Flash takes care of importing any new classes for you, inserting the import statements at the top of your code. In my opinion, it doesn't go far enough, though. I'd love to see Flash be smart enough to insert a companion function after adding an event listener, for example -- why not go all the way with it?

Gripe aside, there's more on the code front. If you want, Flash CS5 can use Flash Builder as a dedicated ActionScript editor. When defining a new Document Class, you can specify Flash Builder as the owner of the class (fig. 2), meaning you write your code "over there" and use Flash CS5 to compile.


Figure 2

Flash CS5 also introduces Code Snippets, which is pretty much just what it sounds like. Open the panel, select a snippet, and insert it into your code (fig. 3). There are a bunch of pre-defined snippets, covering categories like navigation, animation, loading, and more, and of course, you can define your own. All in all, a pretty solid initial version of what is sure to be a handy feature for novices and pros alike.


Figure 3

Code stuff aside, another big change for Flash CS5 is the transformation of the stalwart FLA format from a closed binary to an open XML-based one known as XFL. Personally, I love this move, though I realize that for many users this is a complete non-story, and since the FLA format still looks and launches like it always has, it's transparent to those who don't give a hoot. Being someone who does give that aforementioned hoot, I love being able to rename a FLA to a ZIP file, expand it (or just save it as uncompressed XFL in the first place), and tinker under the hood (fig. 4). Library images appear in their native state (meaning that they can simply be replaced outside of Flash and recompiled), publishing settings can be manipulated at the source, etc. You get the idea -- moving to an open format enables all kinds of interesting possibilities for maintaining and updating Flash files.


Figure 4

Let's get to a real big one: text. Users of previous Flash Pro versions are painfully aware that working with text and fonts in Flash to this point was, to put it mildly, a horrific experience. Embeds didn't work. Characters got cut off. Entire text blocks went missing if even the slightest thing was off. And all bets were off if you had any sort of font conflict or duplicate on your system. Fresh memories of that pain makes the addition of the Text Layout Format (TLF) class to Flash CS5 Professional a welcome one indeed for us long-suffering Flash text warriors. While it was possible to use TLF text in earlier Flash versions through a component, having it built in is so much better. Using TLF text enables many new and fantastic options, not the least of which is the ability to link text containers (fig. 5).


Figure 5

That's my favorite, but it's just the tip of the iceberg. TLF contains a ton of options for styling characters and paragraphs, including ligature settings, true subscript and superscript, text rotation, support for Arabic, Hebrew, and Asian languages, and multiple columns in a single container. As an added bonus, the Embed panel has finally been given a much-needed overhaul (fig. 6). The bottom line is that I've been very happy so far with how TLF text has worked, so my fingers are crossed that, given time and a lot more banging on it, our long national nightmare of bad text in Flash may finally be over.


Figure 6

The last of the big features I'll call out is the enhancements made to video, if for no other reason than you can finally now preview a video in place without publishing your movie first. Secondary to that is the easier method for adding cue points to video clips (fig. 7), but really, who has time to pay attention to that when you can finally -- and I repeat -- preview a video in place without publishing your movie first?


Figure 7

Other stuff

OK, so we've gotten to what I consider to be the big changes in Flash CS5, so here's a quick hit list of a few additional things worth mentioning:

  • I love the inclusion of a SWF history list to the Properties panel (fig. 8), which gives you times and sizes of the SWF files you've output. As an aside, I also find it curious that SWF files published from Flash CS5 tend to be smaller than their CS4 counterparts.
  • The Save and Compact command has been removed, as the new file format made it obsolete. While I like having a nice, compact FLA by default, the whole XFL-compressed-and-saved-as-FLA process takes longer than a simple save in earlier Flash versions.
  • Oh, look -- the Deco tool introduced in CS4 has been updated with things like particle systems and trees. Personally, I equate this feature with the Timeline Effects from Flash MX 2004, meaning that it gets attention for no reason that I'm aware of. Your mileage may vary.
  • In a development just missing the cut for the big feature area, Flash CS5 adds Spring controls to the IK introduced in CS4, enabling more lifelike movements for objects animated with bones.


Figure 8

The major no-no

I'm generally upbeat about Flash CS5, with one major exception: the seemingly arbitrary trend towards non-standard UI elements (fig. 9), which, sadly, is a suite-wide issue. Recall Steve Jobs' recent choice adjective hurled in Adobe's direction -- that particular "L" word comes to mind here. Adobe charges serious money for these products, and I don't think it's too much to ask to make an effort to have programs adopt the standard conventions -- or at least native UI controls -- of the host operating system. I hope users on both platforms complain about this trend, as it smacks of Adobe doing what is best for their own ease of development rather than what their customers want or expect, and that's a disturbing shift in philosophy if true.


Figure 9: Don't show again, indeed.

So that's the deal with Flash CS5. As I mentioned, I'm generally upbeat about it, and consider it to be a solid -- if unspectacular -- upgrade. I'm not sure if that's the kind of upgrade which was needed at this particular point in Flash's life, but that's the upgrade we got. Anyway, as a dyed-in-the-wool Flash Pro user, I'm not going to go into as much detail on the other two entries, but I will say something, so ready or not, let's press on.

Introducing Flash Catalyst

Flash Catalyst is an entirely new addition to the Flash ecosystem, and after putting it through its paces, I'm sort of left wondering why it exists at all. Apparently, Flash Pro became nigh unapproachable for designers, hence the need for a completely new product catering specifically to their needs. Now, I'm not entirely sure how long it's been since Adobe created a new product interface from scratch, but it's clear to me that they're out of practice. Either that, or Flash Catalyst was conceived as some sort of AIR app on steroids, a proof-of-concept which exists as the embodiment of those whispers from several years back about using Flash and AIR to build entire future versions of Creative Suite products. Flash Catalyst is the not-quite-Mac, not-quite-Windows, not-quite-anything interface Adobe seems to be moving to run amok (fig. 10).


Figure 10

Now, were this a Web app, I'd be suitably impressed. But it's not a Web app, and I'm therefore disappointed how generic it feels on both platforms. In any event, Flash Catalyst seems to have been made to address a few key areas:

  1. Simple layout and prep of Photoshop and Illustrator documents for conversion to Flash-based projects
  2. Basic interactivity and data presentation without having to write code
  3. Creating interface component libraries for use in Flash Builder
  4. Giving designers (through Flash Catalyst) and coders (through Flash Builder) the ability to collaborate effectively

After working with Flash Catalyst and getting a feel for how it does on those various points, I think that it shows much more promise as a designer's front end to Flash Builder, rather than a tool unto itself to create Flash content. It's quite easy to get Photoshop and Illustrator content into Flash Catalyst and "prep it for surgery," so to speak, but once you try and work with FC's pages and states, timeline, and what passes for interactions (fig. 11), the target demographic is likely to be hamstrung by the confusing and sluggish interface. Plus, this is a time when Flash needs to be at its most impressive, and designers foisting what may amount to Flash "shovelware" onto the public does not put a great face on Flash right now.


Figure 11

Much more intriguing is the way Flash Catalyst makes it fairly straightforward to create interface components from source Photoshop or Illustrator files, and it's an area I see as the greatest strength of this nascent product. I really like how simple it is to import a piece of artwork, convert it to a component using the Heads-Up Display, and then assign the various parts to make a working UI element (fig. 12). And since Flash Catalyst and Flash Builder can exchange project data, Flash Catalyst represents an excellent way to make Flex-based component libraries.


Figure 12

In short, Flash Catalyst is very much a 1.0 product, and it's one I would very much like to see grow into a more true front-end for Flash Builder, rather than having any focus on its abilities to make end-to-end Flash content. It falls flat as a self-contained tool marketed towards designers, but shows a lot of potential when targeted at the same market segment as a way to complement coders who will be building the guts in Flex Builder. As I mentioned before, I do wonder why it exists at all, but since it's here I'd like to see Adobe focus on improving subsequent versions as a complement to Flash Builder and not a standalone Flash development tool.

Flex Flash Builder 4 is in the house

Look, the simple truth here is that I'm wholly unqualified to offer any more than cursory thoughts on this product, but unlike the iffy Flash Catalyst, I'm really glad this one is in the Web Premium bundle. Why? Because Flash Builder, like Flex Builder before it, represents a distinct separation from Flash Pro. You use Flash Builder to build entire applications (Rich Internet Applications, dontchaknow), rather than the animation and vector-graphics stuff that has traditionally been Flash Pro's domain. Therefore, I like that it's here. I want it here. And here it is.

For those of you who, like me, come from a strictly Flash Pro background, the Flash Builder interface is kind of jarring. That's because Flash Builder is built on top of the Eclipse IDE, which explains why it doesn't quite look like any of the other CS products. Looks aside, Flash Builder is largely centered around the concept of component libraries paired with data services, enabling pretty rapid application building. I especially like how you can use the design mode to constrain interface elements through a simple GUI (fig. 13), a major advance from the pain of doing similar tricks in Flash Pro. In my admittedly furtive steps into the larger world of Flash Builder, the rapid application building mantra has borne itself out -- maybe it's because I have a decent amount of ActionScript under my belt, but I found it fairly approachable, but also readily acknowledge that there is much left to learn and do, hence the "wholly unqualified" portion of our program and my opening to cut the proceedings short.


Figure 13

The bottom line

Here's the thing: I would be much more bullish on the inclusion of three distinct Flash-based programs had they all adopted a common project format. As it stands now, Flash Pro can use Flash Builder as an ActionScript editor, while Flash Catalyst and Flash Builder can share files. However, Flash Catalyst and Flash Builder can't share files directly with Flash Pro, and that's a head scratcher. With Flash Pro's new XML-based format, it seems that all this attention being paid to openness, sadly, didn't result in some sort of common project format so the three programs could work together more seamlessly, each playing to their various strengths. I think that's a real missed opportunity, and it makes the decision of which Flash product to use when embarking on a project more critical than it needed to be.

So what's next for the Flash Platform? Only time will tell, but you can't say things aren't interesting. As for the individual products, let's start with Flash Pro. As a new purchase, Flash is Flash, and if you need to make Flash, it's still a solid choice. As an upgrade, the code enhancements make it for me, but if you're using CS4 and are happy with it, there isn't much to jump to (as usual, CS3 users will likely be very pleased with the two version leap). As part of the Web Premium Suite, it certainly remains a positive addition.

As for Flash Catalyst, since it's a new product, the upgrade question doesn't apply. However, as either a standalone product or as part of the Web Premium bundle it really doesn't do much for me. Maybe that will change in subsequent versions, but not now. In the case of Flash Builder, I think it's very solid as a standalone product, and definitely adds to the bundle. I don't have experience with previous versions, so any upgrade recommendation would be, shall we say, less than authoritative.

That does it for part two of our three-part Web Premium review, such as it was. Be sure to check back in the coming weeks for part three, where we'll wrap things up by looking at Dreamweaver, Fireworks, and some general observations. Until next time, folks.

^ Top of Page

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