Adobe Flash
Flash 8 | |
Developer(s) | Macromedia |
---|---|
Stable release | 8
/ September 30th, 2005 |
Operating system | Linux, Mac OS X, Windows |
Type | multimedia content creator |
License | commercial |
Website | Macromedia.com |
Macromedia Flash, or simply Flash, refers to both a multimedia authoring program and the Macromedia Flash Player, written and distributed by Macromedia (acquired by Adobe Systems), that uses vector and raster graphics, a native scripting language called ActionScript and bidirectional streaming of video and audio. Strictly speaking, Macromedia Flash is the authoring environment and Flash Player is the virtual machine 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 (or "Movies"), which usually have a SWF file extension, may appear in a web page for viewing in a web browser, or for "playing" in the standalone Flash Player. Flash files exist most often as animations, advertisements, or design elements on web pages and, more recently, Rich Internet Applications. A Flash file can contain more diverse information than a GIF or JPEG file of the same size.
Programming Language
Flash 8 and Flash MX 2004 (v.7) use ActionScript 2.0, a derivative of ECMAScript 4, which has syntax similar to JavaScript, but a much different programming framework and set of class libraries. ActionScript 2.0 is a scripting programming language that lacks run-time strong types.
Actionscript is extremely versatile, and is used to create almost all of the interactivity (buttons, text entry fields, pick lists) seen in many Flash applications, such as games or web-based training
Earlier versions of ActionScript may be used alone or together with ActionScript 2.0 to access to the same objects and resources within Flash MX 2004. While ActionScript 2.0 offers a few object-oriented features, such as events, interfaces, and inheritance, most of Flash MX 2004's object-oriented capability lies solely within its compiler.
ActionScript 2.0 may be compiled with the built-in compiler in the Flash IDE or with Motion Twin ActionScript2 Compiler (MTASC). See external links.
Security
Sandbox
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). By default, they can only communicate with the domain they originated from, unless explicitly allowed by another domain. However, this restriction can be lifted using a so called 'crossdomain policy file'. This file, always named crossdomain.xml, must be placed in the domain where Flash wants to read data from. See also the extensive documentation on crossdomain policy files in this Flash Technote
User privacy
Flash can retain information locally (in a manner similar to, but more extensive than, browser cookies), giving the client the ability to, for example, remember the level or score a user has achieved on a Flash-based game, or the settings used on a previously visited website. This can potentially compromise the security of users' data and privacy, and there have been reports of exploitation by advertisers (for example, Persistent Information Element). Most users, including those familiar with Flash who protect themselves from cookies, are unaware of this kind of tracking, which is not curtailed by customary in-browser cookie settings and most cookie-cleaning utilities. The persistent data can be avoided by applying settings described at Macromedia's web site [1]. The default storage location of these files (for Windows XP) is in the Macromedia\Flash Player\#SharedObjects of the Application Data directory for each user. These data can only be accessed by Flash Movies from the same domain.
Player vulnerabilities
Flash Player is, as any application that handles files received from the Internet, susceptible to attacks. Specially crafted files could potentially cause the application to malfunction, by allowing execution of malevolent code. On November 2005, a security flaw in a certain Windows versions of the Flash Player (all version 6 players and version 7 players up to 7.0.19.0 are affected) was published. This vulnerability could allow remote code execution. Users are recommended to check their Flash Player version and update if necessary.
Flash content protection
Not all browsers have a direct way for saving .swf files, and many times the context menu of most browsers won't work on Flash objects. However, some browsers like Mozilla Firefox can save .swf files to disk just by performing a "Complete Web page" saving, and searching the associated "..._files" directory for .swf files. Another way, using Adblock, is to click on the Adblock tab, copy and paste the URL of the .swf file into another window, and then "Save Page As", allowing the user to download only the .swf anywhere he chooses. Alternatively, a user can click Tools > Page Info > 'Media' tab and look for a file with a .swf extension that is likely to be the Flash Object in question, then click the 'Save as..' button. This doesn't work with Internet Explorer and perhaps other browsers. With Internet Explorer one can try however to search for .swf files in the "Temporary Internet Files" directories. Often one can view the source of a webpage and search for the html code that is embedding the flash movie.
The files can also be downloaded by using web grabber software such as Wget. Once the .swf file is saved locally, 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.
Competition
Format and plug-in
Compared to other plugins such as Java, Acrobat Reader, QuickTime or Windows Media Player, the Flash Player has very small install size and fast initialization time.
The use of vector graphics (like PostScript, SVG and PDF)—especially when combined with program code—allows Flash files to translate to small file sizes which take less bandwidth to transmit than bitmaps or video clips do. In many cases, Flash is a very attractive solution for delivering mixed content. If the content is purely one format (such as text, video or audio), other alternatives may provide better outcome. Also, depending on the type of application or animation created (in particular, transparency or large screen updates as in photographic or text fades) a Flash movie may need more CPU power than alternatives.
In addition to a vector rendering engine, the Flash Player includes a virtual machine called the ActionScript Virtual Machine (AVM) for scripting interactivity at run-time, support for video, MP3-based audio, and bitmap graphics. As of Flash Player 8, if offers two video codecs: On2 VP6 and Sorenson Spark, and run-time support for JPEG, Progressive JPEG, PNG, and GIF.
Flash as a format has become very widespread on the desktop market. Through an NPD study, Macromedia claims that 98% of Web users have Flash Player installed [2]—90% having the latest version. Numbers vary depending on the detection scheme and research demographics.
Flash players exist for a wide variety of different systems and devices. Flash content can run consistently on Microsoft Windows, Mac OS, Linux and various other Unix 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. See also Macromedia Flash Lite for Flash compatibility on other devices.
Macromedia has released the specifications of the Flash file format (excluding specifications of related formats such as AMF), and compatible third-party tools exist. However, Macromedia retains control of the format. 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 several third party tools which utilize and generate the SWF file format and a large and vibrant open source community. Apparently, the Flash Player cannot ship as part of a pure open source, or completely free operating system, as its distribution is bound to the Macromedia Licensing Program and subject to approval.
Authoring
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. As for open source tools, F4L has started to develop a SWF authoring tool including an interface similar to that of Macromedia's. KTOON can edit vectors and generate SWF, but its interface is very different from Macromedia's.
Adobe wrote a software 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 February 2003, Macromedia purchased Presidia, which had developed a Flash authoring tool that automatically converted PowerPoint Files into Flash. Macromedia subsequently released the new product as Breeze, which included many new enhancements. Since that time, Macromedia has seen competing PowerPoint to Flash authoring tools from Articulate, PointeCast (not to be confused with PointCast), and PresentationPro. In addition, (as of version 2) Apple's Keynote presentation software also allows users to create interactive presentations and export to SWF.
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, Windows Vista. 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.
Abuse
Probably due to wide usage of Flash in web advertisements, tools have emerged for blocking Flash content in some or all web sites, or temporarily or permanently turning Flash Player off. For example, FlashBlock, JohnHaller.com's Disable Flash/Uninstall Flash page and Adblock for the Mozilla Firefox browser.
Many web sites rely on Flash being available by default on your browser and will not check if you have disabled it. You may be unable to access a particular website if you disable Flash, or experience a degraded user interface.
Macintosh performance
Macromedia has been criticized for neglecting to optimize its products on the Mac OS X platform. This has led to poor web surfing performance on Macintosh computers, since many websites use Flash animations for menus and advertisements. [3] [4]
Macromedia does however claim that Flash Player 8, will "bring performance very close to its Windows counterpart". [5]
Related file types
- .swf files are completed, compiled and published files that cannot be edited with Macromedia Flash. However, many '.swf decompilers' do exist.
- .fla 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.
- .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, Sorenson Squeeze, or On2 Flix.
- .swc file format for distributing components; it contains a compiled clip, the component's ActionScript class file, and other files that describe the component.
- .jsfl file format for added functionality in Flash; it contains Javascript code for extendability of the Javascript API.
- .swt 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.
- .avi AVI file is a video file, standing for Audio Video Interleave. Flash includes some compression codecs, including some from Radius.
- .gif Animated GIF picture.
- .png Portable Network Graphics that remain editable (with all its layers) after being saved
- .spa FutureSplash document.
- .ssk SmartSketch drawing.
- .piv Pivot StickFigure Animation.
Product history
- FuturePecoraro Animator (1995) - precursor to Flash named for the software's first true user
- 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 (June 1997) - the object library was added to Flash
- Flash 3 (31 May 1998) - the movieclip element, JavaScript plug-in integration, transparency and an external stand alone player was added to Flash
- Flash 4 (15 June 1999) - internal variables, an input field, advanced Actionscript, and streaming MP3
- Flash 5 (24 August 2000) - Javascript like Actionscript, Smartclips, HTML text formatting added
- Flash MX (15 March 2002) - Unicode, UI Components, XML, compression, streaming video codec
- Flash MX 2004 (10 September 2003) - text alias, Actionscript 2.0, improved streaming video codec, behaviors
- Flash MX 2004 Pro (10 September 2003) - all Flash MX 2004 features plus a form and slide editor, web services integration, Object Oriented 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.
- Flash 8 (released on September 13 2005) - Added an external interface allowing the host machine to programmatically control Flash content.
- Flash 8 Pro (released on September 13 2005) - From creating the interactive Web sites, presentations to mobile contents with improved higher-quality of video codec and encoder. Added Filters and Blending Modes for movie-clips and buttons.
Future developments
Macromedia Labs is a source for early looks at emerging products and technologies from Macromedia, including downloads of the latest software and plugins. Flash 8.5, Flex 2, and ActionScript 3.0 are discussed.
See also
- Actionscript
- Macromedia Flash Lite
- Limited animation
- List of Flash cartoon sites
- Shockwave
- Rich Internet Application
- Prank flash
- Laszlo
- Animutation
- Flash satay
External links
This page or section may contain link spam masquerading as content. |
Macromedia
- Macromedia Flash
- Macromedia Flash File Format (SWF) Specification
- Macromedia Flash accessibility information
- Macromedia Security Zone
- The History of Flash
Developer Resources
- Macromedia Developer Center
- actionscript.org is a professional flash developer resource website
- Flash Kit, free downloadable sample files and components
- FFiles.com - Open Source Flash Files
- a collection of free flash components
Tutorials
- Flash Tutorial Index - Tutorio.com
- Macromedia Flash Tutorials - FlashTutorials.us
- Macromedia Flash Tutorials - NewTutorials.com
- Actionscript Tutorials - Categorized by beginning, intermediate, and advanced.
- Flash Kit
- [6] - Excellent tutorial videos, covering all aspects of Flash
- Macromedia Flash Tutorials
- CBT Cafe Flash Video Tutorials
- Flash Game Design - A step by step PDF guide to Flash game design.
- Programming with ActionScript - A step by step PDF guide to programming with ActionScript.
- Flash Text Effect Tutorials - Website dedicated to the creation of Flash Text Effects.
- kirupa tutorials - Step by step tutorials
Examples
- SheerBoredom.net Random flash animations gathered from throughout the web.
- Newgrounds.com The original online community for flash artists
- OpenOffice.org 2.0 lessons in Flash format OpenOffice.org 2.0 lessons in Flash format
- Flash TV Showcases of Flash Films in TV Format
- Sangent Online Games Tons of flash games. New games are added Fridays.
- 6Webs.com Hybrid Flash and HTML Site. Portfolio Section contains more flash examples
- Fun with Flash! Site dedicated to original Flash animations
- Flash Arcade Index of thousands of flash games and movies.
- Multilingual Flash Games Directory Directory of flash games available in 29 languages
- Flash Animation Site Showcase of high quality flash sites
- Flashplayer.com
- Vectormania-Contests and voting of flash films
- OddCast Human characters made with Flash
- Matt World Retro, traditional web-toons
- meanwhile... multiuser flash environment
- 2Advanced Studios, LLC A leading web developer, specializing in the use of Macromedia Flash for website design
- Growling Monster An animated cartoon series about a little dog named Monster.
Open source
- OpenLaszlo - Tool which compiles XML plus Javascript to Flash
- GPLFlash Opensource Flash decoder and plugin
- MTASC Open source ActionScript compiler
- OSFlash.org Site dedicated to open source flash development
- Screenweaver OS Projector creation tool supporting Flash 6, 7 and 8 on Windows 32 operating systems
- red5.org red5 Server
Projector Tools
Miscellaneous
- Writing Mediawiki extensions to Support embedded Flash
- A third-party stand-alone Flash Player
- A third-party freeware stand-alone Flash Player with enhanced features
Communities
- Flash Meetup Groups
- Flash In The Can (Canadian Flash Developer's Society)
- Flash In TO (Toronto Flash User Group)
- a Flash Community
- Atlantic Canada (Maritime Macromedia User Group)
- London UK MMUG (London UK Macromedia User Group)