Features

Flash: It May Be a Lot More Than What You’ve Heard

By Marc Lee | Senior Member

“I hate distracting animations on Web pages I read as well as sites like Amazon where I order things.”

—Al Kemp (Member, STC Rocky Mountain Chapter)

I quote Al Kemp from a survey I conducted of STC members in my area, asking their opinions of Flash. I quote this not to single out Al, but to show a widespread opinion and, I believe, a misperception about Flash.

In this article, I hope to broaden your understanding of Flash and help you decide if Flash is a tool worth considering for your own technical communication practice.

A word about my own experience: I have worked with Flash as a developer since 2004. In that time, I have created several marketing sites as well as many e-learning projects. When I started with Flash, it was essentially the only way to develop RIA—Rich Internet Applications, or desktop-like user experience over the Web. But today there are a number of tools that enable somewhat similar experiences and, for this reason, Flash’s near-monopoly has eroded somewhat. Regardless, I recommend Flash for its power to help you reenvision your technical content and deliver it to the user in a far more powerful way, if you are willing to learn it.

What is Flash?

For most people, Flash is strictly an animation tool, which is a very limited picture. Here are some basic facts about Flash:

  • In the legal sense, Flash is a brand name—currently owned and developed by Adobe Systems. The brand covers a range of tools and systems and often is referred to by Adobe and the true believers as the “Flash platform.”

  • Flash is a propriety file type: SWF (generally pronounced swiff). For you geeks and historians of file extensions, SWF is short for “Shockwave Flash,” Shockwave being one of the old compiler/packager trade names used by Macromedia, a past owner of the Flash brand. When you create something in Flash (another meaning of Flash), you distribute it as a SWF. Because it’s a proprietary file type, a SWF cannot be played either through a browser or on the desktop; it needs the Flash Player.

  • Flash is the Flash Player, a.k.a. plug-in, add-on, run-time, or engine. According to Adobe, the Flash Player is the most widely distributed application on the Internet and has a market penetration approaching 100% (check the link at the end of this article to see Adobe’s documentation on this claim). Generally, the Flash Player will be listed as a browser plug-in. You can find out by checking plug-ins or add-ons in your browser options/set-up tab. Different browsers use different players.

  • Flash is a development tool. People refer to this tool as the Flash desktop or as the Integrated Development Environment (IDE). That’s essentially all Adobe gets paid for: when you or I plunk down the $700 or so for a license to Flash. There have been many, many releases of the Flash IDE, with sequential numbering up to 8, which then switched over to Adobe Creative Suite (CS), numbering currently at CS5. As a development category, Flash is considered a “multimedia development tool,” which means that Flash is built to allow the developer to combine media such as graphics, video, sound, and motion to create an overall effect.

  • Flash is a video format. This is where the terms get confusing. Because of the animated style many early Flash projects had, people tend to speak of Flash movies. That can often refer to projects distributed as SWFs, but there are also Flash videos. These are distributed in a different proprietary file format: FLV (Flash video). For example, YouTube videos are in FLV format. FLV is completely separate from Flash SWF and is just another video format (codec) like MOV, AVI, WMV, and others. Just to confuse matters further, you generally need a Flash SWF file to host an FLV video.

  • Flash as a platform. Many tools you don’t necessarily associate with Flash use the Flash proprietary file format (SWF). Well known e-learning tools, such as Captivate (a sister Adobe product) and Articulate, distribute their output files as SWFs, as do many other similar products in the market, such as TechSmith’s Camtasia.

  • Flash as a programming language. Flash has a built-in scripting or programming language, ActionScript. Some find the difficulty of this language to be a barrier to Flash. This article covers what you can do in Flash without ActionScript. In the next article in this series, I’ll discuss the basics of ActionScripting. I do not recommend using Flash, however, without at least a basic application of ActionScript. ActionScript is now in its fifth release; the biggest change, came in the transition between ActionScript 2.0 and 3.0, about 3 or 4 years ago. (One of the confusing things about Flash is the different release-level number sequences running simultaneously. Adobe has recently synced up the IDE and ActionScript release sequence [currently both at 5.0] while allowing the Flash Player releases to run a separate sequence [now at 10].)

  • How Do You Play a Flash Movie?

    The simple answer is: with the Flash Player. If you’re going to distribute a Flash SWF, it’s important to specify that your end user needs the Flash Player to play a Flash movie. It’s a free download from Adobe and, as mentioned, most desktops have it installed as part of Internet Explorer. It’s important to inquire though, because in the case of corporate intranets, often the Flash Player is not allowed and will require special dispensation from the IT folks.

    Even with the Flash Player, the SWF generally does not play directly on the desktop or browser because, in 99 percent of the cases, the browser calls an HTML file, and this HTML page will call the Flash Player and the SWF. The HTML code (see Figure 1) shows the mechanism for embedding a SWF in a Web page. Even if your whole website is Flash, it will probably be embedded in a “wrapper” HTML, just so the browser knows what to do.

    Figure 1. HTML Code to Play SWF
    Figure 1. HTML Code to Play SWF

    If you study this code, you’ll see that it calls the Flash Player, names the Flash file (SWF), sets the window size for the SWF to play in, and identifies the mime type to the server plus the download location for the Flash Player from Macromedia, if it’s not available as a plug-in.

    Flash on the Desktop

    Occasionally, we will want to play our Flash project in standalone mode (no Web page, no browser). In this case the Flash IDE offers a convenient tool to let you create what Flash calls a projector (again, the movie metaphor). This neatly packages the Flash Player along with your piece and puts an EXE extension on the file. This projector will play directly on the Windows desktop. A similar tool is available to create a Mac OS executable. (See also Adobe Integrated Runtime (or AIR) as a desktop Flash technology.)

    The Flash IDE

    The Flash desktop or development interface consists of two basic parts:

  • The timeline

  • The stage (see Figure 2)

Figure 2. Flash Desktop Elements
Figure 2. Flash Desktop Elements

The timeline metaphor is that of a movie editor. The Flash piece starts and the playhead (the red vertical line in the timeline) moves along the timeline doing what the timeline tells it to do until it ends. The timeline is divided into “frames,” and at any frame the developer can add some effect, whether audio, video, graphic, or text to appear somewhere on the stage. These are the black-and-white dots on the timeline, also known as “keyframes”—points where the developer wants something new to happen on the timeline. The Flash Player reads the timeline like a musical score, or like a player piano reads a piano roll. The developer acts as the composer, telling the Flash Player what to play at each frame. Like almost all aspects of the desktop, the frame speed is configurable with a metric called “frames per second” (fps). Naturally, if you want very intricate, precise timing (e.g., lips moving to a music track), you would increase the fps. However, this adds to the file size. You can also slow down the frame rate; generally, frame rates vary from about 12 to 30 fps. Anything over 30 fps would be beyond the processor’s or the Flash Player’s capacity.

Figure 3 shows some of Flash’s power in the keyframe menu, which you can pop up by right-clicking (in Windows) on a keyframe. You can add additional keyframes, clear (or delete) the keyframe, and create a “tween.” This is a very cool tool that Flash pioneered to morph two shapes. Tweens can also be used to create smooth movements—the core of the powerful animation capability of Flash.

Figure 3. Keyframe Menu (partial)
Figure 3. Keyframe Menu (partial)

Multiple layers are also displayed in the timeline, which is a large part of the development interface. The developer can layer things “above” and “beneath” each other by placing them higher or lower in the layer hierarchy. The highest layer in the stack will contain the things the viewer will see above other things below.

One more important aspect of the desktop interface is the toolbar. Similar to other graphic tools, Flash has a design toolbar for the developer to use directly on the stage. Tools include shape drawing, line, fill and line color options, erase, spline curve, and so forth (see figure 4).

This article is not a tutorial on using Flash—its purpose is to familiarize you with the basic development metaphor of Flash. Incidentally, the Flash engineers and designers did not invent the timeline metaphor. It’s common in the video editing universe and was used, notably, in Macromedia’s (now Adobe’s) Director multimedia development tool—now almost completely superseded by Flash.

Figure 4. Flash Toolbar
Figure 4. Flash Toolbar

Should You Consider Using Flash?

In my opinion, you should not consider Flash just to play with the timeline to create super-simple tween animations. Although the metaphor is easy to understand, only using the tool to sequence images on a timeline along with an audio track is not a good use of Flash. Can there be exceptions? Sure; for example, if you are a Flash developer and want to show off your designs, then naturally your Flash animations are completely appropriate on your website. But too often, simple animations are just an indulgence on the part of the site developer to put something flashy on the screen to distract the user.

Martha Sippel (STC Fellow and Rocky Mountain Chapter colleague), one of my survey correspondents, had this to say about Flash:

“In an amateur’s hands, [Flash] can be both a painful and a trying experience, not to mention time-consuming. For example, the saying ‘Who is Skip Intro?’ comes to mind as a cruel joke played on millions to cover lack of knowledge about how quickly users want to access critical information on websites. In user experience circles, content is king.”

Interactivity and Data Connectivity

This brings us back to Rich Internet Applications. Two of the characteristics of RIAs—and two factors you should consider if you’re planning to tackle a Flash project—are interactivity and data connectivity. “Interactive” is a broad adjective covering everything from having Forward and Back buttons to move between gallery images to fully interactive simulators and games. Some form of user interaction should be included in Flash projects, if nothing else, to move the user experience from totally passive toward more active engagement.

On data connectivity, Flash also has the same ability to connect with a back-end database that any website has either using XML as a lightweight database or connecting to a database through some middle-tier software such as ColdFusion or PHP. When you combine these tools with Flash’s inherent animation and video capabilities, you are getting closer to having useful, rather than just distracting, Flash.

ActionScript

Unfortunately, these features cannot be implemented strictly with the timeline, stage, layers, and keyframes. ActionScript has evolved from a simple scripting language to what, today, is a full-fledged programming language similar to Java. It comes with a full-class library and supports a full object-oriented programming paradigm. To get a true RIA-type project going, you’ll need to know a good deal of ActionScript. We’ll spend time in the next column in this series looking into ActionScript and how scripting can be used to enhance your Flash pieces.

Flash for the Technical Communicator

As a technical communicator, how can you assure your manager or clients that Flash will make a legitimate contribution toward the technical communication goals of the company, at a cost in time and resources that can be justified by the results?

Let’s say that part of your communication goes through online media, whether on the company website, via CD-ROMs put out by your department, podcasts or mobile apps, or help systems that accompany the company’s products. Depending on the platform you’re using, Flash can probably play a part in many of the products you’re producing. The platform issue revolves around whether the tool you’re using supports the Flash Player. For example, Motorola just announced Flash Player support on its Droid smart phones. Of course, there’s the famous rejection of Flash by Steve Jobs for the iPhone, so it’s certainly worth asking the question. The issue is the same if you’re looking at deployment on the company intranet. Usually, it’s up to the IT department to decide whether they will allow Flash Player plug-in downloads to users’ desktops.

Act of Reimagining

When deciding whether Flash is right for you, you have to consider if it can be useful in communicating your content. Let’s review what we’ve learned so far. Flash can be defined as a tool that:

  • Is deployed on websites or other online settings

  • Combines images, sounds, and motion

  • Should contain elements of user interaction to heighten interest and fun

  • Can connect to data to make the “movie” interactive (i.e., change its content based on the latest data)

Data Visualization

Instead of a static table, can you re-imagine your data as a dynamic bar chart where the bars can change shape, size, or color based on selections the user makes? If this is something that has possibilities, check out some of the Flash dashboard sites. There are many highly creative ways people have re-imagined static data presentation (e.g., Edward Tufte) to completely new levels with Flash or similar multimedia tools.

E-learning

If e-learning is your interest, you’re in luck, as it is another huge area for Flash, and probably the largest at the moment. As I mentioned earlier, a number of e-learning tools (e.g., Captivate, Articulate, and Camtasia) have adopted the Flash standard. These tools allow you to do most of your work in the tool, where the main features of Flash (motion, imagery) are added automatically. Only if you need special effects should you write your own custom Flash elements. Even then, it’s fairly easy to add those bits into the main tool and present the whole as a seamless product.

E-learning is a good example of an RIA. One of the really good, lesser-known aspects of Flash is the ability to move between interface elements (using tabs for additional content in an e-learning interface, for example) smoothly and attractively. As you get further into Flash, you’ll find that making the user experience fun, smooth, and effortless is part of the attractiveness of Flash pieces.

Games and Simulators

While not typically useful for software training, simulators are an important solution to the difficulties of explaining complex physical processes and topics such as machinery, science, and math in static, text-based media. One of my survey subjects, Cathy Carlson, an STC member in Sacramento, CA, learned Flash in order to create simulations for her field of air pollution. Here is what Cathy told me about her motivation to work in Flash:

“If a picture is worth 1,000 words, an animation is worth 100,000 words. My favorite visual explanation is a photograph of an air pollution device called a cyclone that has a distinctive conical shape, next to an animation with the same conical outline that demonstrates how air moves through it.”



Figure 5. Air Pollution Simulation (Screenshot of SWF)
Figure 5. Air Pollution Simulation (Screenshot of SWF)

ActionScript

This article explained the basic metaphor of Flash development and some of the pros and cons of adopting Flash for your own technical communications. In my next article, I’ll introduce ActionScripting as a way of vastly enhancing the power and appeal of your Flash projects.

Further Research

General: www.adobe.com/products/flash/

Data Visualization: www.forestandthetrees.com/

Dashboards: www.dashboardzone.com/

E-learning: www.elearningguild.com/content.cfm?selection=doc.953

Pushing the envelope (careful, some edgier language here): www.sofake.com

You can check Adobe’s website (www.adobe.com/products/player_census/flashplayer/version_penetration.html) to get the player adoption details.

There are also many books available on Flash. Look for books on the Flash interface versus books on ActionScript alone.

Marc Lee (marc@mlmultimedia.com) is owner of MLMultimedia, a multimedia and e-learning consultancy. Marc has been a member of the STC Rocky Mountain Chapter for about 20 years and was chapter president from 2004–2005. He has a PhD in English from the University of Wisconsin–Milwaukee.