Jump to content

Adobe Flash: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m -, Ubuntu Netbook Edition (Optional)
Mr2001 (talk | contribs)
proprietary?
Line 13: Line 13:
}}
}}


'''Adobe Flash''' (formerly '''Macromedia Flash''') is a proprietary [[multimedia]] [[Platform (computing)|platform]] used to add [[animation]], video, and [[interactivity]] to Web pages. Flash is frequently used for advertisements and games. More recently, it has been positioned as a tool for "[[Rich Internet Application]]s" ("RIAs").
'''Adobe Flash''' (formerly '''Macromedia Flash''') is a [[multimedia]] [[Platform (computing)|platform]] used to add [[animation]], video, and [[interactivity]] to Web pages. Flash is frequently used for advertisements and games. More recently, it has been positioned as a tool for "[[Rich Internet Application]]s" ("RIAs").


Flash manipulates [[vector graphics|vector]] and [[raster graphics]] to provide animation of text, drawings, and still images. It supports bidirectional [[Streaming media|streaming]] of audio and video, and it can capture user input via mouse, keyboard, microphone, and camera. Flash contains an [[Object-oriented language]] called [[ActionScript]].
Flash manipulates [[vector graphics|vector]] and [[raster graphics]] to provide animation of text, drawings, and still images. It supports bidirectional [[Streaming media|streaming]] of audio and video, and it can capture user input via mouse, keyboard, microphone, and camera. Flash contains an [[Object-oriented language]] called [[ActionScript]].
Line 341: Line 341:


===Open web versus proprietary plugins===
===Open web versus proprietary plugins===
The [[proprietary]] nature of Flash is a concern to advocates of [[open standard]]s and [[free software]]. Its widespread use has, according to some such observers, harmed the otherwise open nature of the [[World Wide Web]].<ref>{{cite web
The historically [[proprietary]] nature of Flash has been a concern to advocates of [[open standard]]s and [[free software]]. Its widespread use has, according to some such observers, harmed the otherwise open nature of the [[World Wide Web]].<ref>{{cite web
|url=http://news.zdnet.com/2424-3515_22-199508.html
|url=http://news.zdnet.com/2424-3515_22-199508.html
|title=Mozilla warns of Flash and Silverlight 'agenda'
|title=Mozilla warns of Flash and Silverlight 'agenda'
Line 348: Line 348:
|date=2008-04-30
|date=2008-04-30
|accessdate=2009-01-11
|accessdate=2009-01-11
|quote= ''Companies building websites should beware of proprietary rich-media technologies like Adobe's Flash and Microsoft's Silverlight, the founder of Mozilla Europe has warned.''}}</ref> A response may be seen in [[#Open Screen Project|Adobe's Open Screen Project]].
|quote= ''Companies building websites should beware of proprietary rich-media technologies like Adobe's Flash and Microsoft's Silverlight, the founder of Mozilla Europe has warned.''}}</ref> A response may be seen in [[#Open Screen Project|Adobe's Open Screen Project]]: Adobe's restrictions on the use of the SWF/FLV specifications have been lifted.


Representing open standards, inventor of [[Cascading Style Sheets|CSS]] and co-author of [[HTML5]], [[Håkon Wium Lie]] explained in a [[AtGoogleTalks|Google tech talk]] entitled "the &lt;video&gt; element" the proposal of [[Theora]] as the format for [[HTML5 video]]:<ref>{{cite web
Representing open standards, inventor of [[Cascading Style Sheets|CSS]] and co-author of [[HTML5]], [[Håkon Wium Lie]] explained in a [[AtGoogleTalks|Google tech talk]] entitled "the &lt;video&gt; element" the proposal of [[Theora]] as the format for [[HTML5 video]]:<ref>{{cite web

Revision as of 08:39, 4 July 2010

Adobe Flash
Developer(s)Adobe Systems (formerly by Macromedia)
Written inC++
Operating systemMicrosoft Windows, Mac OS X, Linux, Solaris, Symbian, Windows Mobile, Maemo
TypeMultimedia
LicenseProprietary EULA
WebsiteAdobe Flash Platform Homepage

Adobe Flash (formerly Macromedia Flash) is a multimedia platform used to add animation, video, and interactivity to Web pages. Flash is frequently used for advertisements and games. More recently, it has been positioned as a tool for "Rich Internet Applications" ("RIAs").

Flash manipulates vector and raster graphics to provide animation of text, drawings, and still images. It supports bidirectional streaming of audio and video, and it can capture user input via mouse, keyboard, microphone, and camera. Flash contains an Object-oriented language called ActionScript.

Flash content may be displayed on various computer systems and devices, using Adobe Flash Player, which is available free for common Web browsers, some mobile phones and a few other electronic devices (using Flash Lite).

History

Originally acquired by Macromedia, Flash was introduced in 1996, and is currently developed and distributed by Adobe Systems. The precursor to the Flash application was SmartSketch, a drawing application for pen computers running the PenPoint OS developed by Jonathan Gay, who began working on it in college and extended the idea for Silicon Beach Software and its successors.[1][2] When PenPoint failed in the marketplace, SmartSketch was ported to Microsoft Windows and Mac OS. With the Internet becoming more popular, SmartSketch was re-released as FutureSplash, a vector-based Web animation in competition with Macromedia Shockwave. In 1995, SmartSketch was further modified with frame-by-frame animation features and re-released as FutureSplash Animator on multiple platforms.[3] The product was offered to Adobe and used by Microsoft in its early work with the Internet (MSN). In 1996, FutureSplash was acquired by Macromedia and released as Flash, contracting "Future" and "Splash".

Recent developments

Adobe Labs (previously called Macromedia Labs) is a source for news and pre-release versions of emerging products and technologies from Adobe. Most innovations, such as Flash 9, Flex 3, and ActionScript 3.0 have all been discussed and/or trialled on the site.

One area Adobe is focusing on (as of February 2009) is the deployment of Rich Internet Applications (RIAs). To this end, they released Adobe Integrated Runtime (AIR), a cross-platform runtime environment which can be used to build, using Adobe Flash, rich Internet applications that can be deployed as a desktop application. It surpassed 100 million installations worldwide in february 2009.[4]. This is mainly due to the fact that it is installed silently when Acrobat Reader is installed. Many users are unaware of its residence on their system.[citation needed]

Two additional components designed for large-scale implementation have been proposed by Adobe for future releases of Flash: first, the option to require an ad to be played in full before the main video piece is played; and second, the integration of digital rights management (DRM) capabilities. This way Adobe can give companies the option to link an advertisement with content and make sure that both are played and remain unchanged.[5] The current status of these two projects is unclear.[needs update]

Flash Player for smart phones is expected to be available to handset manufacturers at the end of 2009.[6]

Open Screen Project

On May 1, 2008 Adobe announced Open Screen Project, which hopes to provide a consistent application interface across devices such as personal computers, mobile devices and consumer electronics.[7] When the project was announced, several goals were outlined: the abolition of licensing fees for Adobe Flash Player and Adobe Integrated Runtime, the removal of restrictions on the use of the Shockwave Flash (SWF) and Flash Video (FLV) file format, the publishing of application programming interfaces for porting Flash to new devices and the publishing of The Flash Cast protocol and Action Message Format (AMF), which let Flash applications receive information from remote databases.[7]

As of February 2009, the specifications removing the restrictions on the use of SWF and FLV/F4V specs have been published.[8] The Flash Cast protocol—now known as the Mobile Content Delivery Protocol—and AMF protocols have also been made available,[8] with AMF available as an open source implementation, BlazeDS. Work on the device porting layers is in the early stages. Adobe intends to remove the licensing fees for Flash Player and Adobe AIR for devices at their release for the Open Screen Project.

The list of mobile device providers who have joined the project includes Palm, Motorola and Nokia,[9] who, together with Adobe, have announced a $10 million Open Screen Project fund.[10]

Format

Flash files are in the SWF format, traditionally called "ShockWave Flash" movies, "Flash movies," or "Flash games", usually have a .swf file extension, and may be used in the form of a Web-page plug-in, strictly "played" in a standalone Flash Player, or incorporated into a self-executing Projector movie (with the .exe extension in Microsoft Windows). Flash Video files[spec 1] have a .flv file extension and are either used from within .swf files or played through a flv-aware player, such as VLC, or QuickTime and Windows Media Player with external codecs added.

The use of vector graphics combined with program code allows Flash files to be smaller — and thus for streams to use less bandwidth — than the corresponding bitmaps or video clips. For content in a single format (such as just text, video, or audio), other alternatives may provide better performance and consume less CPU power than the corresponding Flash movie, for example when using transparency or making large screen updates such as photographic or text fades.

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, it offers two video codecs: On2 Technologies VP6 and Sorenson Spark, and run-time support for JPEG, Progressive JPEG, PNG, and GIF. In the next version, Flash is slated to use a just-in-time compiler for the ActionScript engine.

Flash Player is a browser plugin, and cannot run within a usual e-mail client, such as Outlook. Instead, a link must open a browser window. A Gmail labs feature allows playback of YouTube videos linked in emails.

Flash Video

Until the advent of HTML5, displaying video on a web page required browser plugins, which are uniquely implemented by third party vendors. Virtually all browser plugins for video are free and cross-platform, including Adobe's offering of Flash Video, which was first introduced with Flash version 6. Flash Video has been a popular choice for websites due to the large installed user base and programmability of Flash. In 2010, Apple has publicly criticized Adobe's implementation of Flash Video playback for not taking advantage of hardware acceleration, as well as criticizing Flash technology in general which has been cited as reason for not implementing Apple's mobile devices. Soon after Apple's criticism, Adobe demoed and released a beta version of Flash 10.1, which takes advantage of hardware acceleration even on a Mac.

Flash Audio

Flash Audio is most commonly encoded in MP3 or AAC (Advanced Audio Coding) however it does also support ADPCM, Nellymoser (Nellymoser Asao Codec) and Speex audio codecs. Flash allows sample rates of 11,22,44.1 kHz. It does not support 48 kHz audio sample rate which is the standard Tv, DVD sample rate.

On August 20, 2007, Adobe announced on its blog that with Update 3 of Flash Player 9, Flash Video will also support some parts of the MPEG-4 international standards.[11] Specifically, Flash Player will have support for video compressed in H.264 (MPEG-4 Part 10), audio compressed using AAC (MPEG-4 Part 3), the F4V, MP4 (MPEG-4 Part 14), M4V, M4A, 3GP and MOV multimedia container formats, 3GPP Timed Text specification (MPEG-4 Part 17) which is a standardized subtitle format and partial parsing support for the 'ilst' atom which is the ID3 equivalent iTunes uses to store metadata. MPEG-4 Part 2 and H.263 will not be supported in F4V file format. Adobe also announced that they will be gradually moving away from the FLV format to the standard ISO base media file format (MPEG-4 Part 12) owing to functional limits with the FLV structure when streaming H.264. The final release of the Flash Player supporting some parts of MPEG-4 standards had become available in Fall 2007.[12]

Authoring tools

Adobe Flash Professional
Developer(s)Adobe Systems (formerly by Macromedia)
Written inC++
Operating systemMicrosoft Windows and Mac OS X
TypeMultimedia
LicenseProprietary EULA
WebsiteAdobe Flash Professional Homepage

The Adobe Flash Professional multimedia authoring program is used to create content for the Adobe Engagement Platform, such as web applications, games and movies, and content for mobile phones and other embedded devices.

History

Release Year Description
FutureSplash Animator 1996 initial version of Flash with basic editing tools and a timeline
Macromedia Flash 1 1996 a Macromedia re-branded version of the FutureSplash Animator
Macromedia Flash 2 1997 Released with Flash Player 2, new features included: the object library
Macromedia Flash 3 1998 Released with Flash Player 3, new features included: the movieclip element, JavaScript plug-in integration, transparency and an external stand alone player
Macromedia Flash 4 1999 Released with Flash Player 4, new features included: internal variables, an input field, advanced ActionScript, and streaming MP3
Macromedia Flash 5 2000 Released with Flash Player 5, new features included: ActionScript 1.0 (based on ECMAScript, making it very similar to JavaScript in syntax), XML support, Smartclips (the precursor to components in Flash), HTML text formatting added for dynamic text
Macromedia Flash MX 2002 Released with Flash Player 6, new features included: a video codec (Sorenson Spark), Unicode, v1 UI Components, compression, ActionScript vector drawing API
Macromedia Flash MX 2004 2003 Released with Flash Player 7, new features included: Actionscript 2.0 (which enabled an object-oriented programming model for Flash, although it lacked the Script assist function of other versions, meaning Actionscript could only be typed out manually), behaviors, extensibility layer (JSAPI), alias text support, timeline effects. Macromedia Flash MX Professional 2004 included all Flash MX 2004 features, plus: Screens (forms for non-linear state-based development and slides for organizing content in a linear slide format like PowerPoint), web services integration, video import wizard, Media Playback components (which encapsulate a complete MP3 and/or FLV player in a component that may be placed in an SWF), Data components (DataSet, XMLConnector, WebServicesConnector, XUpdateResolver, etc.) and data binding APIs, the Project Panel, v2 UI components, and Transition class libraries.
Macromedia Flash 8 2005 Macromedia Flash Basic 8, a less feature-rich version of the Flash authoring tool targeted at new users who only want to do basic drawing, animation and interactivity. Released with Flash Player 8, this version of the product has limited support for video and advanced graphical and animation effects. Macromedia Flash Professional 8 added features focused on expressiveness, quality, video, and mobile authoring. New features included Filters and blend modes, easing control for animation, enhanced stroke properties (caps and joins), object-based drawing mode, run-time bitmap caching, FlashType advanced anti-aliasing for text, On2 VP6 advanced video codec, support for alpha transparency in video, a stand-alone encoder and advanced video importer, cue point support in FLV files, an advanced video playback component, and an interactive mobile device emulator.
Adobe Flash CS3 Professional 2007 Flash CS3 is the first version of Flash released under the Adobe name. CS3 features full support for ActionScript 3.0, allows entire applications to be converted into ActionScript, adds better integration with other Adobe products such as Adobe Photoshop, and also provides better Vector drawing behavior, becoming more like Adobe Illustrator and Adobe Fireworks.
Adobe Flash CS4 Professional 2008 Contains inverse kinematics (bones), basic 3D object manipulation, object-based animation, a text engine, and further expansions to ActionScript 3.0. CS4 allows the developer to create animations with many features absent in previous versions.
Adobe Flash CS5 Professional 2010 Flash CS5 was released on April 12, 2010 and launched for trialling and normal buying on April 30, 2010. Flash CS5 Professional includes support for publishing iPhone applications.[13] However, on April 8, 2010 Apple changed the terms of its Developer License to effectively ban the use of the Flash-to-iPhone compiler[14] and on April 20, 2010 Adobe announced that they will be making no additional investments in targeting the iPhone and iPad in Flash CS5.[15]

Other features of Flash CS5 are a new text engine (TLF), further improvement to inverse kinematics, and the Code Snippets panel.

Third-party tools

Open Source projects like Ajax Animator and the (now defunct) UIRA aim to create a flash development environment, complete with a graphical user environment. Alternatively, programs such as swfmill, SWFTools, and MTASC provide tools to create SWF files, but do so by compiling text, actionscript or XML files into Flash animations. It is also possible to create SWF files programmatically using the Ming library, which has interfaces for C, PHP, C++, Perl, Python, and Ruby. haXe is an open source, high-level object-oriented programming language geared towards web-content creation that can compile Flash files.

Many shareware developers produced Flash creation tools and sold them for under US$50 between 2000 and 2002. In 2003 competition and the emergence of free Flash creation tools 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 US$100 and support ActionScript. As for open source tools, KToon can edit vectors and generate SWF, but its interface is very different from Macromedia's. Another, more recent example of a Flash creation tool is SWiSH Max made by an ex-employee of Macromedia. Toon Boom Technologies also sells a traditional animation tool, based on Flash.

In addition, several programs create .swf-compliant files as output from their programs. Among the most famous of these are Screencast tools, which leverage the ability to do lossless compression and playback of captured screen content in order to produce demos, tutorials, or software simulations of programs. These programs are typically designed for use by non-programmers, and create Flash content quickly and easily, but cannot actually edit the underlying Flash code (i.e. the tweening and transforms, etc.) Screencam is perhaps the oldest screencasting authoring tool to adopt Flash as the preferred output format, having been developed since the mid-90s. The fact that screencasting programs have adopted Flash as the preferred output is testament to Flash's presence as a ubiquitous cross-platform animation file format.

Other tools are focused on creating specific types of Flash content. Anime Studio is a 2D animation software package specialized for character animation which creates SWF files. Express Animator is similarly aimed specifically at animators. Question Writer publishes its quizzes to Flash file format.

Users who are not programmers or web designers will also find on-line tools that allow them to build full Flash-based web sites. One of the oldest services available (1998) is FlashToGo. Such companies provide a wide variety of pre-built models (templates) associated to a Content Management System that empowers users to easily build, edit and publish their web sites. Other sites, that allows for greater customization and design flexibility are Wix.com and CirclePad.

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.

In February 2003, Macromedia purchased Presedia, 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. In addition, (as of version 2) Apple's Keynote presentation software also allows users to create interactive presentations and export to SWF.

Installed user base

Flash as a format has become widespread on the desktop market; one estimate is that 95% of PCs have it,[16] while Adobe claims that 98 percent of U.S. Web users and 99.3 percent of all Internet desktop users have installed the Flash Player,[17][18] with 92 to 95% (depending on region) having the latest version.[19] Numbers vary depending on the detection scheme and research demographics.

The Adobe Flash Player exists for a variety of systems and devices: Windows, Mac OS 9/X, Linux, Solaris, HP-UX, Pocket PC/Windows CE, OS/2, QNX, Symbian, Palm OS, BeOS, and IRIX, although the performance is typically best on Windows (see Performance). For compatibility with devices (embedded systems), see Macromedia Flash Lite.

Among mobile devices, Flash has less penetration because Apple does not bundle or allow third-party runtimes on its iPhone, which accounts for more than 60% of global smartphone web traffic, or the iPod touch, which makes up more than 95% of "mobile Internet device" traffic. This hurts Adobe's ability to market Flash as a ubiquitous mobile platform. However, Flash support has been announced for competing mobile platforms, including the next version of Android.[20]

64-bit support

Adobe expects to provide 64-bit versions of its Flash Player for Windows, Macintosh and Linux with an upcoming major release of Adobe Flash Player.[21][22] Users of 64-bit operating systems are currently advised to use 32-bit browsers in order to use the 32-bit plugin.[22][23] The prevalent solution taken by Linux distributions is to use nspluginwrapper as an intermediate layer between browser and plugin.[24] Open source implementations (at least Gnash, see Playback) support 64-bit architectures just as well as 32-bit.

Adobe provided experimental 64-bit builds of Flash Player 10.0 for Linux x86-64.[25] The first such release, also the first release of a 64-bit Adobe Flash Player, happened on November 11 2008.[26] The project was closed temporarily on June 15 2010.[27]

The official 32-bit player is still distributed in 64-bit Linux distributions e.g. Ubuntu, openSUSE, of which some users have reported problems with the 32-bit player on some websites.[28][29][30] Affected users can install the 64-bit player manually[31] or through a special repository.[32]

Flash blocking in web browsers

Some web browsers default to not play Flash content before the user clicks on it, e.g. Konqueror, K-Meleon. Equivalent "Flash blocker" extensions also exist for many popular browsers: Firefox has NoScript and Flashblock, and Opera has an extension also called Flashblock. Using Opera Turbo requires user clicks to play Flash content. Internet Explorer has Foxie, which contains a number of features, one of them also named Flashblock. WebKit-based browsers under Mac OS X, such as Apple's Safari, have ClickToFlash.[33]

Programming language

Extension Explanation
.swf .swf files are completed, compiled and published files that cannot be edited with Adobe Flash. However, many '.swf decompilers' do exist. Attempting to import .swf files using Flash allows it to retrieve some assets from the .swf, but not all.
.FXG FXG is an unified xml file format being developed by Adobe for Flex, Flash, Photoshop and other applications.
.fla .fla files contain source material for the Flash application. Flash authoring software can edit FLA files and compile them into .swf files. The Flash source file format is currently a binary file format based on the Microsoft Compound File Format. In Flash Pro CS5, the fla file format is a zip container of an XML-based project structure.
.xfl .xfl files are XML-based project files that are equivalent to the binary .fla format. Flash authoring software uses XFL as an exchange format in Flash CS4. It imports XFL files that are exported from InDesign and AfterEffects. In Flash Pro CS5, the xfl file is a key file which opens the "uncompressed FLA" file, which is a hierarchy of folders containing XML and binary files.
.as .as 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. They sometimes use the extension .actionscript
.mxml .mxml files are used in conjunction with ActionScript files (and .css files), and offer a markup-language-style syntax (like HTML) for designing the GUI in Flex. Each MXML file creates a new class that extends the class of the root tag, and adds the nested tags as children (if they are descendants of UIComponent) or members of the class.
.swd .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 .asc files contain Server-Side ActionScript, which is used to develop efficient and flexible client-server Macromedia Flash Communication Server MX applications.
.abc .abc files contain actionscript bytecode used by the Actionscript Virtual Machine AVM (Flash 8 and prior), and AVM2 (Flash 9 or later).
.flv .flv files are Flash video files, as created by Adobe Flash, ffmpeg, Sorenson Squeeze, or On2 Flix. The audio and video data within FLV files are encoded in the same way as they are within SWF files.
.f4v .f4v files are similar to MP4 files and can be played back by Flash Player 9 Update 3 and above. F4V file format is second container format for Flash video and it differs from FLV file format. It is based on the ISO base media file format.[34][35]
.f4p .f4p files are F4V files with digital rights management.[35]
.f4a .f4a files are F4V files that contain only audio streams.[35]
.f4b .f4b files are F4V audio book files.[35]
.swc .swc files are used for distributing components; they contain a compiled clip, the component's ActionScript class file, and other files that describe the component.
.jsfl .jsfl files are used to add functionality in the Flash Authoring environment; they contain JavaScript code and access the Flash JavaScript API.
.swt .swt files are 'templatized' forms of .swf files, used by Macromedia Generator
.flp .flp files are XML files used to reference all the document files contained in a Flash Project. Flash Projects allow the user to group multiple, related files together to assist in Flash project organization, compilation and build.
.spl .spl files are FutureSplash documents.
.aso .aso files are cache files used during Flash development, containing compiled ActionScript byte code. An ASO file is recreated when a change in its corresponding class files is detected. Occasionally the Flash IDE does not recognize that a recompile is necessary, and these cache files must be deleted manually. They are located in %USERPROFILE%\Local Settings\Application Data\Macromedia\Flash8\en\Configuration\Classes\aso on Win32 / Flash8.
.sol .sol files are created by Adobe Flash Player to hold Local Shared Objects (data stored on the system running the Flash player).

Competition

Microsoft Silverlight

In recent years, Microsoft Silverlight has emerged as a strong competitor to Flash. While not yet as prevalent on web sites as Flash, Silverlight has been used to provide video streaming for many high profile events, including the 2008 Summer Olympics in Beijing,[36] the 2010 Winter Olympics in Vancouver,[37] and the 2008 conventions for both major political parties in the United States.[38] Silverlight is also used by Netflix for its instant video streaming service.[39]

Java FX

Sun Java FX is considered as another competitor for Rich Internet Applications. It is based on the Java programming language.

Open standard alternatives

The W3C's SVG and SMIL standards are seen as the closest competitors of Flash.[40] [41] Adobe formerly developed and distributed the 'Adobe SVG Viewer' client plug-in for MS Internet Explorer, but discontinued support and distribution on January 1, 2009.[42] It has been noted by industry commentators that this was probably no coincidence at a time when Adobe moved from competing with Macromedia's Flash to owning the technology itself.[43] Meanwhile, Opera has supported SVG since version 8 and Safari has since version 3,[44] and Mozilla Firefox's built-in support for SVG continues to grow.[45][46]

UIRA was a free software project that intended to become a complete replacement for Adobe Flash. The project collapsed in mid 2007, though people are now discussing reviving or continuing it,[47] and a few other projects like Ajax Animator still exist.

HTML 5 is gaining ground as a competitor to Flash: the canvas element enables animation, and scripting can be synchronized with audio and video element timeupdate events.

Third-party implementation

Specifications

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. In February 1999, the company introduced MorphInk 99, the first 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.

Macromedia made the Flash Files specifications for versions 6 and later available only under a non-disclosure agreement, but they are widely available from various sites.

In April 2006, the Flash SWF file format specification was released with details on the then newest version format (Flash 8). Although still lacking specific information on the incorporated video compression formats (On2, Sorenson Spark, etc.), this new documentation covered all the new features offered in Flash v8 including new ActionScript commands, expressive filter controls, and so on. The file format specification document is offered only to developers who agree to a license agreement that permits them to use the specifications only to develop programs that can export to the Flash file format. The license forbids the use of the specifications to create programs that can be used for playback of Flash files. The Flash 9 specification was made available under similar restrictions.[48]

In June 2009, Adobe launched the Open Screen Project (Adobe link), which made the SWF specification available without restrictions. Previously, developers couldn't use the specification for making SWF-compatible players, but only for making SWF-exporting authoring software. The specification still omits information on codecs such as Sorenson Spark, however.[49]

Playback

Since Flash files do not depend on an 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 use and generate the SWF file format. 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.

There is, as of late 2008, no complete free software replacement which offers all the functionality of the latest version of Adobe Flash Player.

Gnash is an active project that aims to create a free player and browser plugin for the Adobe Flash file format and so provide a free alternative to the Adobe Flash Player under the GNU General Public License. Despite potential patent worries because of the proprietary nature of the files involved,[50] Gnash supports most SWF v7 features and some SWF v8 and v9.[51][52] Gnash runs on Windows, Linux and other operating systems on 32-bit, 64-bit and other architectures.

Swfdec is another open-source flash player available for Linux, FreeBSD and OpenBSD. See also SWFOpener.

Lightspark is a modern, free, open-source flash player implementation.

Scaleform GFx is a commercial alternative Flash player that features full hardware acceleration using the GPU and has high conformance up to Flash 8 and AS2. Scaleform GFx is licensed as a game middleware solution and used by many PC and console 3D games for user interfaces, HUDs, mini games, and video playback.

rtmpdump is an open source software implementation of an RTMP client, Flash's own streaming protocol. rtmpdump was removed from Sourceforge on request by Adobe.[53]

flvstreamer is an open source software implementation of an RTMP client, Flash's own streaming protocol. It is a fork of rtmpdump which has all the cryptographic support (i.e. RTMPE and SWF verification) removed from the code.

Criticism

Security

Flash's security record[54] has caused several security experts to recommend to not install Flash or to block it[55]. The US-CERT recommends to block Flash using NoScript[56]. Charlie Miller recommended "not to install Flash"[57] at the computer security conference CanSecWest. As of May 17, 2010, The Flash Player has 77 CVE entries[58], 34 of which have been ranked with a high severity (leading to arbitrary code execution), and 40 ranked medium. In February 2010, Adobe officially apologized[59] for not fixing a known vulnerability for over 1 year. In June 2010 Adobe announced a "critical vulnerability" in recent versions, saying there are reports that this vulnerability is being actively exploited in the wild against both Adobe Flash Player, and Adobe Reader and Acrobat.[60][61]

Symantec's Internet Security Threat Report[62] states that a remote code execution in Adobe Reader and Flash Player[63] was the second most attacked vulnerability in 2009. The same report also recommends to employ browser add-ons wherever possible to disable Adobe Flash Player when visiting untrusted sites. McAfee predicts that Adobe software, especially Reader and Flash, will be the primary target for attacks in 2010[64]. Adobe applications had already become the most popular client-software targets for attackers during the last quarter of 2009[65].

Local Shared Objects ("Flash cookies")

Like the HTTP cookie, a flash cookie (also known as Local Shared Object) can be used to save application data. Flash cookies are not shared across domains. An August 2009 study by the Social Science Research Network found that 50% of websites using Flash were also employing flash cookies, yet privacy policies rarely disclosed them, and user controls for privacy preferences were lacking.[66] Most browsers' cache and history suppress or delete functions do not affect Flash Player's writing Local Shared Objects to its own cache, and the user community is much less aware of the existence and function of Flash cookies than HTTP cookies[67]. Thus, users having deleted HTTP cookies and purged browser history files and caches may believe that they have purged all tracking data from their computers when in fact Flash browsing history remains. Adobe's own Flash Website Storage Settings panel, a submenu of Adobe's Flash Settings Manager web application, and other editors and toolkits can manage settings for and delete Flash Local Shared Objects[68].

Performance

  • Any Flash player has to be able to animate on top of video renderings, which makes hardware accelerated video rendering at least not as straightforward as with a purpose built multimedia player.[69] Therefore, even when only displaying video, Flash players are more resource intensive than dedicated video player software.

Accessibility

Using Flash tends to break conventions associated with normal HTML pages. Selecting text, scrolling,[72] form control and right-clicking act differently than with a regular HTML webpage. Many such interface unexpectancies are fixable by the designer. Usability expert Jakob Nielsen published an Alertbox in 2000 entitled, Flash: 99% Bad which listed issues like this.[73] Some problems have been improved upon since Nielsen's complaints:

  • Text size can be controlled using full page zoom, found in many modern browsers.
  • It has been possible for authors to include alternative text in Flash since Flash Player 6. This accessibility feature is compatible only with certain screen readers and only under Windows.[74]

The US Justice Department has stated in regard to the Americans with Disabilities Act of 1990:[75]

Covered entities under the ADA are required to provide effective communication, regardless of whether they generally communicate through print media, audio media, or computerized media such as the Internet. Covered entities that use the Internet for communications regarding their programs, goods, or services must be prepared to offer those communications through accessible means as well.

Open web versus proprietary plugins

The historically proprietary nature of Flash has been a concern to advocates of open standards and free software. Its widespread use has, according to some such observers, harmed the otherwise open nature of the World Wide Web.[76] A response may be seen in Adobe's Open Screen Project: Adobe's restrictions on the use of the SWF/FLV specifications have been lifted.

Representing open standards, inventor of CSS and co-author of HTML5, Håkon Wium Lie explained in a Google tech talk entitled "the <video> element" the proposal of Theora as the format for HTML5 video:[77]

I believe very strongly, that we need to agree on some kind of baseline video format if [the video element] is going to succeed. Flash is today the baseline format on the web. The problem with Flash is that it's not an open standard.

Presenting the free software movement, Richard Stallman stated in a speech in October 2004 that:[78]

The use of Flash in websites is a major problem for our community.

Stallman's argument then was that no free players were comparatively good enough. As of February 2010, Gnash and Swfdec have seen very limited success in competing with Adobe's player. Many important and popular websites require users to have a Flash player, sometimes with no fallback for non-Flash web users. Therefore, the lack of a good free Flash player is arguably an obstacle to enjoying the web with free software, and the aforementioned ubiquity of Flash makes the problem very evident for anyone who tries. The continual high ranking of Gnash on the Free Software Foundation's list of high priority projects[79] might indicate the severity of the problem, as judged by the free software community.

Problems with 64-bit Linux

Adobe's 64-bit Flash player is experimental[80] and often not shipped with Linux distributions. Some distributions ship or package the supported 32-bit version, which may be problematic. See 64-bit support.

See also

Adobe Flash
Other

Footnotes

  1. ^ FLV and F4V Video File Format Specification Version 9
    F4V is based on ISO base media file format standard:freely available ISO standards, and also available via subscription [1]

References

  1. ^ Waldron, Rick (2006-08-27). "The Flash History". Flashmagazine. Retrieved 2001-06-18. {{cite web}}: Cite has empty unknown parameter: |coauthors= (help)
  2. ^ Gay, Jonathan (2001). "The History of Flash". Adobe Systems Inc. Retrieved 2009-10-18.
  3. ^ "Grandmasters of Flash: An Interview with the Creators of Flash". ColdHardFlash.com. Retrieved 2008-02-12.
  4. ^ "AIR passes 100 million installations". Retrieved 3 February 2009.
  5. ^ "Adobe unveils Flash video control". BBC News. BBC. 2007-04-16. Retrieved 2007-06-18. {{cite web}}: Cite has empty unknown parameter: |coauthors= (help)
  6. ^ "Palm Latest Mobile Industry Leader to Join Open Screen Project". 2009-02-16. Retrieved 2009-02-20.
  7. ^ a b "Adobe and Industry Leaders Establish Open Screen Project". 2008-05-01. Retrieved 2009-02-20.
  8. ^ a b Murarka, Anup. "Inside the Open Screen Project". Retrieved 2009-02-21.
  9. ^ "Open Screen Project partners". Retrieved 2009-02-20.
  10. ^ "Adobe and Nokia Announce $10 Million Open Screen Project Fund". 2009-02-16. Retrieved 2009-02-20.
  11. ^ "What just happened to video on the web". Adobe.
  12. ^ Adobe Press release on MPEG-4 support in Flash Player 9
  13. ^ "Adobe Labs - Adobe Flash Professional CS5: Applications for iPhone". Adobe. Retrieved 2010-03-02.
  14. ^ "New iPhone Developer Agreement Bans the Use of Adobe's Flash-to-iPhone Compiler". Daring Fireball. Retrieved 2010-04-22.
  15. ^ "On Adobe, Flash CS5 and iPhone Applications". Mike Chambers. Retrieved 2010-04-22.
  16. ^ "Web Browser Plugin Market Share". StatOwl. Retrieved 2009-08-18.
  17. ^ 98%: NPD study
  18. ^ 99.3%: Millward Brown survey, conducted June 2009. "Flash Player Statistics". Adobe Systems. Retrieved 2009-06-04. {{cite web}}: Cite has empty unknown parameter: |month= (help)
  19. ^ "Adobe Flash Player Version Penetration". Adobe Systems. Retrieved 2009-06-04. {{cite web}}: Cite has empty unknown parameter: |month= (help)
  20. ^ "Andy Rubin says Flash is coming in Froyo version of Android operating system"
  21. ^ http://labs.adobe.com/technologies/flashplayer10/faq.html
  22. ^ a b Flash Player support on 64-bit operating systems
  23. ^ http://forums.adobe.com/thread/661468?tstart=0
  24. ^ "Linus struggles with Flash Player". Fedora bugtracker. Retrieved 2009-02-21.
  25. ^ Huang, Emmy (2008-11-17). [http://weblogs.macromedia.com/emmy/archives/2008/11 /swf_10_spec_available_and_flash_player_alpha_for_64-bit_linux_on_labs.html "SWF 10 spec available AND Flash Player alpha for 64-bit Linux on Labs"]. Adobe Systems. {{cite web}}: Check |url= value (help); line feed character in |url= at position 52 (help)
  26. ^ http://blogs.adobe.com/penguin.swf/2008/11/
  27. ^ http://arstechnica.com/open-source/news/2010/06/64-bit-flash-for-linux-dropped-as-adobe-preps-next-version.ars
  28. ^ Installing Adobe Flash 64 bit in Ubuntu 9.10 Karmic Koala
  29. ^ http://nocturn.vsbnet.be/content/flash-problems-64-bit-linux
  30. ^ http://www.mat-wright.com/2010/02/flash-player-10-for-64-bit-linux.html
  31. ^ http://nxadm.wordpress.com/2009/04/26/install-64-bit-adobe-flash-player-on-ubuntu-904/
  32. ^ Ubuntu Flash PPA
  33. ^ "ClickToFlash". Retrieved 2009-10-18.
  34. ^ Adobe Systems Incorporated (November 2008). "Video File Format Specification, Version 10" (PDF). Adobe Systems Incorporated. Retrieved 2009-08-03. {{cite journal}}: Cite journal requires |journal= (help)
  35. ^ a b c d New File Extensions and MIME Types
  36. ^ "Microsoft Silverlight Gets a High Profile Win: 2008 Beijing Olympics". Retrieved 2010-02-23.
  37. ^ "Microsoft Wins The 2010 Olympics For Silverlight". Retrieved 2010-02-23.
  38. ^ "Microsoft Working to Make Political Conventions Unconventional". Retrieved 2010-02-23.
  39. ^ "Netflix Begins Roll-Out of 2nd Generation Media Player for Instant Streaming on Windows PCs and Intel Macs". Retrieved 2010-02-23.
  40. ^ XML.com: Picture Perfect
  41. ^ xSWF: Flash W3C valid
  42. ^ "Adobe to Discontinue Adobe SVG Viewer". Adobe Systems. Retrieved 2007-06-18.
  43. ^ "Adobe, 'Rich Internet Applications' and Standards". Web Standards Project. April 19, 2005. Retrieved 2010-02-25.
  44. ^ "Opera". Svg wiki. Svg.org. 2006-12-27. Retrieved 2007-06-18.
  45. ^ Quint, Antoine (2006-07-13). "First Firefox 2.0 Beta Released". Svg.org. Retrieved 2007-06-18.
  46. ^ "SVG improvements in Firefox 3". Mozilla Developer Center. Mozilla. 2008-06-17. Retrieved 2008-07-20.
  47. ^ "UIRA, Unfreeze". unfreeze.net. 2008-04-20. Retrieved 2008-04-21.
  48. ^ "Adobe File Format Specification FAQ". Adobe Systems. Retrieved 2007-11-15.
  49. ^ "Free Flash community reacts to Adobe Open Screen Project". Retrieved 2008-11-29.
  50. ^ Hudson, Paul (2008). "Quick as a Gnash". Linux Format (107): 48–49. What happened is this little thing called "software patents". When you use MP3 or FLV, they're proprietary. And although we use FFMPEG and Gstreamer - we actually support all these codecs - we can't distribute Gnash that way. ...of course the OLPC project cannot legally redistribute the codecs. ...Gnash fully supports patent-free codecs such as Ogg Vorbis and Theora and Direc and stuff — Rob Savoye. {{cite journal}}: |access-date= requires |url= (help); Unknown parameter |month= ignored (help)
  51. ^ "Gnash Introduction". Free Software Foundation, Inc. 2008-06-26. Retrieved 2008-07-20.
  52. ^ Rob Savoye, Ann Barcomb (2007). "Gnash Manual version 0.4.0". Free Software Foundation. Retrieved 2007-08-15. {{cite web}}: Unknown parameter |month= ignored (help)
  53. ^ "Adobe requests rtmpdump removed from Sourceforge". 2009-05-08. Retrieved 2009-11-20.
  54. ^ "Security bulletins and advisories". Retrieved 2010-03-27.
  55. ^ "Expert says Adobe Flash policy is risky". 2009-11-12. Retrieved 2010-03-27.
  56. ^ "Securing Your Web Browser". Retrieved 2010-03-27.
  57. ^ "Pwn2Own 2010: interview with Charlie Miller". 2010-03-01. Retrieved 2010-03-27.
  58. ^ "SecurityFocus search results for Adobe Flash Player Vulnerabilities". Retrieved 2010-03-27.
  59. ^ "Flash Bug Report". 2010-02-06. Retrieved 2010-03-27.
  60. ^ "Security Advisory for Flash Player, Adobe Reader and Acrobat". Adobe. Retrieved 2010-06-08.
  61. ^ "Adobe acknowledges critical security flaw in software". BBC News Online. June 7th, 2010. {{cite news}}: Check date values in: |date= (help)
  62. ^ "Internet Security Threat Report: Volume XV: April 2010". Symantec. April 2010. pp. 37, 40, 42. Retrieved 2010-05-09.
  63. ^ "Adobe Acrobat, Reader, and Flash Player Remote Code Execution Vulnerability". 2009-10-15. Retrieved 2010-05-09.
  64. ^ "2010 Threat Predictions" (PDF). McAfee Labs. December 2009. p. 2. Retrieved 2010-05-09.
  65. ^ "McAfee Threats Report: Fourth Quarter 2009" (PDF). McAfee Avert Labs. February 2010. p. 16. Retrieved 2010-05-09.
  66. ^ "Soltani, Ashkan, Canty, Shannon, Mayo, Quentin, Thomas, Lauren and Hoofnagle, Chris Jay: Flash Cookies and Privacy". 2009-08-10. Retrieved 2009-08-18.
  67. ^ "Local Shared Objects -- "Flash Cookies"". Electronic Privacy Information Center. 2005-07-21. Retrieved 2010-03-08.
  68. ^ "How to manage and disable Local Shared Objects". Adobe Systems Inc. 2005-09-09. Retrieved 2010-03-08.
  69. ^ http://blogs.adobe.com/penguin.swf/2010/01/solving_different_problems.html
  70. ^ "Flash benchmarks on different operating systems".
  71. ^ Hands-on: Hulu Desktop for Linux beta a big resource hog
  72. ^ Scrolling and Scrollbars (Jakob Nielsen's Alertbox)
  73. ^ Nielsen, Jakob (2000-10-29). "Flash: 99% Bad". Retrieved 2009-02-21.
  74. ^ "Provide text equivalents for graphics - in Flash". Skills for Access – How To. Retrieved 2007-06-18. {{cite web}}: Cite has empty unknown parameters: |month= and |coauthors= (help)
  75. ^ Cynthia D. Waddell, JD. "Applying the ADA to the Internet: A Web Accessibility Standard". Retrieved 2010-04-11.
  76. ^ Meyer, David (2008-04-30). "Mozilla warns of Flash and Silverlight 'agenda'". ZDNet. Retrieved 2009-01-11. Companies building websites should beware of proprietary rich-media technologies like Adobe's Flash and Microsoft's Silverlight, the founder of Mozilla Europe has warned.
  77. ^ "Håkon Wium Lie on the video element in HTML 5". Google Video. 2007-03-29. Retrieved 2009-02-22.
  78. ^ "Richard Stallman on The free software movement and its challenges". Australian National University, Canberra, Australia: Google Video. Retrieved 2009-02-21.
  79. ^ "High Priority Free Software Projects" (Document). Free Software Foundation. {{cite document}}: Unknown parameter |accessdate= ignored (help); Unknown parameter |url= ignored (help)
  80. ^ "Flash Player 10 for 64-bit Linux". Retrieved 2010-05-17.

Communities


Template:Flash builders