is a vector graphics
based graphics animation program
. The resulting files, sometimes called "flash files", may be included in a web page to view in a web browser
, or they may be played on a standalone player.
Pros and Cons
The Macromedia Flash file format has several advantages over "regular" HTML pages that make it an extremely popular option for professional web site creation:
- Like PostScript, SVG and PDF, Flash allows exact specification of where the various page elements are, and so it gives the designer a great degree of control over how the user interface looks. In some people's opinions, it is much more difficult to do the same with HTML and CSS.
- Again, like PostScript, SVG and PDF Flash uses vector graphics; they may translate into small file sizes which take less bandwidth to transmit than bitmaps do.
- The Flash file format has been opened by Macromedia, and compatible third-party tools exist.
- Flash's file format is not platform-dependent; players exist on Microsoft Windows, Mac OS, Linux and various other Unix systems.
- Flash allows the embedding of images, sounds, movies and simple HTML files. These abilities make it a good multimedia platform. Flash Player 6 supports also two-way streaming of sound and video, thus being an excellent platform for high-level multi-user applications.
- Flash's embedded ActionScript language (an application of the ECMAScript programming language) allows the creation of simple fill-in-the-blank forms.
- Flash is a highly ubiquitous format. According to Macromedia, the Flash Player penetration is well over 95%. Flash Players exist for PDAs, cellular phones and even for the Java platform.
In Flash MX, the ActionScript language has been extended and can be used to create extensive event driven GUI
's. Flash MX 2004 introduced ActionScript 2.0, which features strong types, interfaces, inheritance and other features of advanced object-oriented programming languages.
Macromedia has stated their intention of moving Flash away from the simple animations of web ad banners and move toward true application development.
There are also some disadvantages to Flash:
- Viewer plugins don't exist for all systems, and they're not installed on all computers that can run them.
- Because the flash movie is played from a user agent plug-in, limited memory resources are availlable to the flash-movie. This is the amount of memory the user agent allocates for the plugin. This amount depends on the user agent used.
- Though the flash file format is ostensibly "open", it is still controlled by Macromedia and not based upon a truly open standard such as SVG, which reduces the incentive for non-commercial software to support it. The Macromedia player can not be shipped as part of a pure open source operating system.
- Due to Flash's graphical nature, it does not degrade gracefully to disabled users. It is possible to overcome this only by providing alternative content (for example in HTML). See also accessibility.
- Flash does not support internationalization thoroughly.
- Flash demands significant CPU power to display, as it uses a very high degree of graphic abstraction that many video cards are not able to accelerate. Particularily, the anti-aliasing utilized by the Flash Player is heavy on the computer.
- The browser plug-in may store and retrieve information on the user's computer, acting much like HTTP cookies and with similar advantages and disadvantages.
- Although this has never been an actual problem, the plug-in has had security flaws which theoretically may open up a computer to remote attack (e.g., see 
- Critics charge that many Flash animations are nothing more than eye candy, and many users say that they are ugly.
- The .swf files it makes aren't secure. There are several commercial programs out there that can allow someone to extract graphics, sounds, etc. from a .swf file and also view its ActionScript. There's even an open source program called flasm that allows someone to extract ActionScript from a .swf file as "bytecode", edit it, and then reinsert it into the file. However, the swf obfuscation makes the extraction not feasible in most cases.
In Flash MX 2004, the latest releases, several of the disadvantages have been addressed. See http://www.useit.com/alertbox/20001029.html for a discussion of Flash and usability.
Later versions of Flash can also create files in a variety of static or animated formats.
- .fla files are the source files, which contain source material for the flash application. They can be edited with Flash authoring software. "fla" is pronounced "flaw".
- .as (or sometimes .actionscript) files contain ActionScript, the source code for Flash applications.
- .swf files are completed, published files that cannot be edited. "swf" is pronounced "swiff".
- .flv files are Flash video files, that can be created by Macromedia Flash or Sorenson Squeeze.
Notable uses of Flash
See also: limited animation, Shockwave