Macromedia Flash or Flash refers to both a multimedia authoring program and the Macromedia Flash Player, written and distributed by Macromedia, that utilizes vector and bitmap graphics, sound and program code and bidirectional streaming video and audio. Strictly speaking, Macromedia Flash is the authoring environment and Flash Player is the virtual machine application used to run the Flash files, but in colloquial language these have become mixed: "Flash" can mean either the authoring environment, the player or the application files.
The Flash files, which usually have an SWF file extension, may appear in a web page for viewing in a web browser, or standalone Flash players may "play" them. Flash files occur most often in animations on web pages and rich-media web sites, and more recently Rich Internet Applications. They are also widely used in web advertisements.
In recent versions, Macromedia has expanded Flash beyond the simple animations, into a complete application development tool, mainly to create Rich Internet Applications.
Flash MX 2004 uses ActionScript 2.0, which is ECMAScript 4 compliant, which means that it looks more like Java. It can now be considered a full-fledged object-oriented programming language, including its free-form coding style, events, interfaces and inheritance. Many object-oriented features are those of the compiler; it is still a script language with no run-time strong types or many other object-oriented programming features.
One can compile ActionScript 2.0 with the built-in compiler in the Flash IDE or with Motion Twin ActionScript2 Compiler (MTASC). See #External links.
Pros and cons
- Like CSS with HTML, PostScript, SVG and PDF, Flash can be used to specify exact positioning of the various page elements. This gives the designer a great degree of control over how the user interface looks. The layout can also be adjusted on-the-fly with ActionScript.
- Flash supports progressive streaming by default (frames of animation load individually and can be shown before the entire file is loaded). It also has support for loading in true streaming video using Flash Communication Server .
- Flash uses Unicode, which makes it suitable for internationalization.
- 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.
- Macromedia has released the specifications of the Flash file format, and compatible third-party tools exist. However, Macromedia has not released the specifications of Flash-related formats such as AMF.
- Flash Players can run consistently on Microsoft Windows, Mac OS, Linux and various other Unix systems.
- Flash allows the embedding of images, sounds, movies and simple HTML-like files. Flash Player, from version 6, also support two-way streaming of sound and video, thus making it a suitable platform for high-level multi-user applications.
- Flash's embedded ActionScript language allows the creation of sophisticated applications.
- Flash as a format has become widespread. According to Macromedia, 98% of Web users have Flash Player installed , although the installed player version varies. Also, PDAs and cellular phones can feature integrated Flash Players, and an implementation exists for the Java platform.
- The Flash Player install size is relatively small compared to comparable plugins such as QuickTime, WMP and SVG.
- Compared to other browser plug-ins, such as Java, QuickTime, or WMP, Flash Player is extremely fast in initializing. In practice, Flash applications can show up as quickly as images.
Flash also has some disadvantages:
- Browser controls which block the display of animated GIF images on web pages do not apply to Flash, allowing ads to display animation even when the end-user has turned off the capability in the browser. However, there are a number of plugins for browsers which allows users to easily toggle the viewing of Flash content.
- Flash does not use browser settings for font size, et cetera, so text may appear tiny for vision-impaired people or those with high resolution screens. Users can zoom the Flash applications, though.
- Flash content is binary and thus more challenging for search engines to index than HTML. Sites using solely Flash experience decreased visibility in search engines unless they were redesigned to alleviate this problem. Google indexes the content of Flash files (example: ). Macromedia has released a search engine SDK to make it easy for search engines to index Flash content.
- Viewer plugins do not exist for "all" systems: Macromedia has created or licensed players for the following operating systems: GNU/Linux x86, Windows, Mac OS 9/X, Solaris, HP-UX, Pocket PC, OS/2, Symbian, Palm OS, BeOS and IRIX. Olivier Debon has written an open source version of the Flash 3 player; ports of this exist to numerous operating systems, including the Amiga.
- Though Flash files have an ostensibly "open" format (i.e. it is published), Macromedia retains control of it. Since Flash files do not depend on a truly open standard such as SVG, this reduces the incentive for non-commercial software to support the format (although there are hundreds of third party tools which utilize and generate the SWF file format). The Macromedia player cannot ship as part of a pure open source, or completely free operating system.
- Due to Flash's graphical nature, it does not degrade gracefully for disabled users. Websites can overcome this by providing alternative content (for example in HTML) or by using the accessibility features built into Flash since 2002. See also computer accessibility.
- Depending on the type of application or animation created, a Flash movie may need lots of CPU power to be played at its original framerate. Particularly, large screen updates (as in photographic or text fades) makes heavy use of computer resources.
Flash MX 2004, the latest release, addresses several of the disadvantages. See this discussion of Flash and usability.
Flash Player uses a sandbox security model, which means that Flash applications running in a browser have very strict and limited resources available to them. The applications cannot, for example, read files from the hard disk (except the cookie-like data they themselves have written). They can only communicate with the domain they originated from, unless explicitly allowed by another domain.
Flash Player is, as any application that handles files received from the Internet, susceptible to attacks. Specially crafted files could cause the application to malfunction, potentially allowing execution of malevolent code. There have never been any actual problems, but the Player plug-in has had security flaws which theoretically may expose a computer to remote attacks (see  and  for a December 2002 problem, addressed by a public warning and patch from Macromedia). There have been no (published) security incidents since. Flash Player is considered safe to use, especially when compared to modern browsers in general.
The Flash application files can quite easily be decompiled into its source code and assets. Several available programs extract graphics, sounds and program code from swf files. For example, an open source program called Flasm allows users to extract ActionScript from a swf file as virtual machine intermediate language ("byte-code"), edit it, and then reinsert it into the file. Obfuscation of the swf files makes the extraction infeasible in most cases.
In October 1998 Macromedia disclosed the Flash Version 3 Specification to the world on its website. It did this in response to many new and often semi-open formats competing with SWF, such as XARA's Flare and Sharp's Extended Vector Animation formats. Several developers quickly created a C library for producing SWF. February 1999 saw the launch of MorphInk 99, the first non-Macromedia or third party program to create SWF files. Macromedia also hired Middlesoft to create a freely-available developers' kit for the SWF file format versions 3 to 5. Many open and free libraries based on the information released to the public in 1998, and from later study of the SWF file format, such as the Ming library, exist to produce SWF files on many platforms. Macromedia has made the Flash Files specifications for versions 6 and later available only as a PDF under a non-disclosure agreement.
Many shareware developers produced Flash creation tools and sold them for under $50 USD between 2000 and 2002. In 2003 competition and the emergence of free Flash creation tools, most notably OpenOffice.org, had driven many third-party Flash-creation tool-makers out of the market, allowing the remaining developers to raise their prices, although many of the products still cost less than $100 USD and support Actionscript. F4L has started to develop such a tool including an interface similar to that of Macromedia's.
Adobe wrote a package called Adobe LiveMotion, designed to create interactive animation content and export it to a variety of formats, including SWF. LiveMotion went through two major releases, but failed to gain any notable user base. Adobe cancelled it in 2003.
In November 2003 Microsoft announced that it had started working on a competing product, Sparkle, whose release would coincide with that of their next-generation Windows operating system codenamed Windows Longhorn. The purchase of Creature House Inc.'s assets in September 2003 has led to speculation that their Expression graphics engine would form the basis for the Sparkle product.
The nature and popularity of Flash has had a large influence in graphic design. Its rotoscoping feature led to the widespread popularity of rotoscoped vector graphics in the default pastel colors of the Flash authoring tools. Many flyers, advertisements, magazines, and even websites which did not use Flash adopted this graphic style. For example, the Apple iPod campaign with character outlines on colorful backgrounds can be seen heavily influenced by the paradigmatic Flash design style.
- .swf (pronounced "swiff") files are completed, published files that cannot be edited.
.fla (pronounced "flaw") files contain source material for the flash application. Flash authoring software can edit FLA files and compile them into .swf files. Proprietary to Macromedia, the FLA format in no sense counts as "open".
.as (or sometimes .actionscript) files contain ActionScript source code in simple source files. FLA files can also contain Actionscript code directly, but separate external .as files often emerge for structural reasons, or to expose the code to versioning applications, and so on.
- .swd files are temporary debugging files used during Flash development. Once finished developing a Flash project these files are not needed and can be removed.
- .asc files contain Server-Side ActionScript, which is used to develop efficient and flexible client-server Macromedia Flash Communication Server MX applications.
- .flv files are Flash video files, as created by Macromedia Flash or by Sorenson Squeeze .
- .swc file format for distributing components; it contains a compiled clip, the component’s ActionScript class file, and other files that describe the component.
- .swt (pronounced "swot") files templatized SWF files used by Macromedia Generator.
- .flp XML file with the file extension .flp–for example, myProject.flp. The XML file references all the document files contained in the Flash Project. Flash Projects allow you to group multiple, related files together to create complex applications.
- FutureSplash Animator (1995) - initial version of Flash with basic editing tools and a timeline
- Flash 1 (December 1996) - a Macromedia re-branded version of the FutureSplash Animator
- Flash 2 (1997) - the object library was added to Flash
Flash 4 (1999) - internal variables, an input field, advanced Actionscript, and streaming MP3
- Flash MX (2002) - UI Components, xml, compression, streaming video codec
- Flash MX 2004 (2004) - text alias, unicode, Actionscript 2, improved streaming video codec, behaviours
- Flash MX 2004 Pro (2004) - all Flash MX 2004 features plus a form and slide editor, web service integration, OOP (Oriented Object Programming) in ActionScript 2.0, and Media Playback components, which encapsulate a complete MP3 and/or FLV player in a component that may be placed in a SWF.
Last updated: 10-09-2005 21:34:13