Adobe Flash is a multimedia software platform used for production of animations, rich Internet applications, desktop applications, mobile applications, mobile games and embedded web browser video players. Flash displays text, vector graphics and raster graphics to provide animations, video games and applications. It allows streaming of audio and video, and can capture mouse, keyboard, microphone and camera input.
Artists may produce Flash graphics and animations using Adobe Animate. Software developers may produce applications and video games using Adobe Flash Builder, FlashDevelop, Flash Catalyst, or any text editor when used with the Apache Flex SDK.
End-users can view Flash content via Flash Player (for web browsers), AIR (for desktop or mobile apps) or third-party players such as Scaleform (for video games). Adobe Flash Player (supported on Microsoft Windows, macOS and Linux) enables end-users to view Flash content using web browsers. Adobe Flash Lite enabled viewing Flash content on older smartphones, but has been discontinued and superseded by Adobe AIR.
The ActionScript programming language allows the development of interactive animations, video games, web applications, desktop applications and mobile applications. Programmers can implement Flash software using an IDE such as Adobe Animate, Adobe Flash Builder, Adobe Director, FlashDevelop and Powerflasher FDT. Adobe AIR enables full-featured desktop and mobile applications to be developed with Flash and published for Windows, macOS, Android, iOS, Xbox One, PlayStation 4, and Nintendo Wii U and Switch.
Although Flash was previously a dominant platform for online multimedia content, it is slowly being abandoned as Adobe favors a transition to HTML5. Flash Player has been deprecated and has an official end-of-life by 2020, however, Adobe will continue to develop Adobe AIR, a technology for building applications and games with Flash. OpenFL, an open-source implementation of the Flash Player is also actively developed.
Video Adobe Flash
Applications
Websites
In the early 2000s, Flash was widely installed on desktop computers, and was commonly used to display interactive web pages, online games, and to playback video and audio content. In 2005, YouTube was founded by former PayPal employees, and it used Flash Player as a means to display compressed video content on the web.
Between 2000 and 2010, numerous businesses used Flash-based websites to launch new products, or to create interactive company portals. Notable users include Nike, Hewlett-Packard, Nokia, General Electric, World Wildlife Fund, HBO, Cartoon Network and Disney. After Adobe introduced hardware-accelerated 3D for Flash (Stage3D), Flash websites saw a growth of 3D content for product demonstrations and virtual tours.
In 2007, YouTube offered videos in HTML5 format to support the iPhone and iPad, which did not support Flash Player. After a controversy with Apple, Adobe stopped developing Flash Player for Mobile, focussing its efforts on Adobe AIR applications and HTML5 animation. In 2015, Google introduced Google Swiffy to convert Flash animation to HTML5, a tool Google would use to automatically convert Flash web ads for mobile devices. In 2015, YouTube switched to HTML5 technology on all devices, however it will preserve the Flash-based video player for older web browsers.
RIAs
After Flash 5 introduced ActionScript in 2000, developers combined the visual and programming capabilities of Flash to produce interactive experiences and applications for the Web. Such Web-based applications eventually came to be known as "Rich Internet Applications" (RIAs).
In 2004, Macromedia Flex was released, and specifically targeted the application development market. Flex introduced new user interface components, advanced data visualization components, data remoting, and a modern IDE (Flash Builder). Flex competed with Asynchronous JavaScript and XML (AJAX) and Microsoft Silverlight during its tenure. Flex was upgraded to support integration with remote data sources, using AMF, BlazeDS, Adobe LiveCycle, Amazon Elastic Compute Cloud, and others. As of 2015, Flex applications can be published for desktop platforms using Adobe AIR.
Between 2006 and 2016, the Speedtest.net web service conducted over 9.0 billion speed tests using an RIA built with Adobe Flash. In 2016, the service shifted to HTML5 due to the decreasing availability of Adobe Flash Player on PCs.
As of 2016, Web applications and RIAs can be developed with Flash using the ActionScript 3.0 programming language and related tools such as Adobe Flash Builder. Third-party IDEs such as FlashDevelop and Powerflasher FDT also enable developers to create Flash games and applications, and are generally similar to Microsoft Visual Studio. Flex applications are typically built using Flex frameworks such as PureMVC.
Video games
Flash video games were popular on the Internet, with portals like Newgrounds dedicated to hosting of Flash-based games. Popular games developed with Flash include Angry Birds, Clash of Clans, FarmVille, AdventureQuest, Machinarium, Hundreds, N, QWOP and Solipskier.
Adobe introduced various technologies to help build video games, including Adobe AIR (to release games for desktop or mobile platforms), Adobe Scout (to improve performance), CrossBridge (to convert C++-based games to run in Flash), and Stage3D (to support GPU-accelerated video games). 3D frameworks like Away3D and Flare3D simplified creation of 3D content for Flash.
Adobe AIR allows creation of Flash-based mobile games, which may be published to the Google Play and iTunes app stores.
Flash is also used to build interfaces and HUDs for 3D video games using Scaleform GFx, a technology that renders Flash content within non-Flash video games. Scaleform is supported by more than 10 major video game engines including Unreal Engine, UDK, CryEngine and PhyreEngine, and has been used to provide 3D interfaces for more than 150 major video game titles since its launch in 2003.
Film and animation
Adobe Animate is one of the common animation programs for low-cost 2D television and commercial animation, in competition with Anime Studio and Toon Boom Animation.
Notable users of Flash include DHX Media Vancouver for productions including Pound Puppies and My Little Pony: Friendship Is Magic, Fresh TV for Total Drama, Nelvana for 6teen and Clone High, Williams Street for Metalocalypse and Squidbillies, Nickelodeon Animation Studios for Wow! Wow! Wubbzy! El Tigre: The Adventures of Manny Rivera, Danny Phantom, and more.
Flash is less commonly used for feature-length animated films; however, 2009's The Secret of Kells, an Irish film, was animated primarily in Adobe Flash, and was nominated for an Academy Award for Best Animated Feature at the 82nd Academy Awards.
Several popular online series are currently produced in Flash, such as the Emmy Award-winning Off-Mikes, produced by ESPN and Animax Entertainment; Happy Tree Friends; Gotham Girls, produced by Warner Brothers; Crime Time, produced by Future Thought Productions and Homestar Runner produced by Mike and Matt Chapman.
Various third-party software packages designed for traditionally trained cartoonists and animators can publish animations in the SWF format.
Maps Adobe Flash
History
FutureWave
The precursor to Flash was a product named SmartSketch, published by FutureWave Software. The company was founded by Charlie Jackson, Jonathan Gay, and Michelle Welsh. SmartSketch was a vector drawing application for pen computers running the PenPoint OS. When PenPoint failed in the marketplace, SmartSketch was ported to Microsoft Windows and Mac OS.
As the Internet became more popular, FutureWave realized the potential for a vector-based web animation tool that might challenge Macromedia Shockwave technology. In 1995, FutureWave modified SmartSketch by adding frame-by-frame animation features and released this new product as FutureSplash Animator on Macintosh and PC.
FutureWave approached Adobe Systems with an offer to sell them FutureSplash in 1995, but Adobe turned down the offer at that time. Microsoft wanted to create an "online TV network" (MSN 2.0) and adopted FutureSplash animated content as a central part of it. Disney Online used FutureSplash animations for their subscription-based service Disney's Daily Blast. Fox Broadcasting Company launched The Simpsons using FutureSplash.
Macromedia
In November 1996, FutureSplash was acquired by Macromedia, and Macromedia re-branded and released FutureSplash Animator as Macromedia Flash 1.0. Flash was a two-part system, a graphics and animation editor known as Macromedia Flash, and a player known as Macromedia Flash Player.
FutureSplash Animator was an animation tool originally developed for pen-based computing devices. Due to the small size of the FutureSplash Viewer, it was particularly suited for download on the Web. Macromedia distributed Flash Player as a free browser plugin in order to quickly gain market share. By 2005, more computers worldwide had Flash Player installed than any other Web media format, including Java, QuickTime, RealNetworks and Windows Media Player.
Macromedia upgraded the Flash system between 1996 and 1999 adding MovieClips, Actions (the precursor to ActionScript), Alpha transparency, and other features. As Flash matured, Macromedia's focus shifted from marketing it as a graphics and media tool to promoting it as a Web application platform, adding scripting and data access capabilities to the player while attempting to retain its small footprint.
In 2000, the first major version of ActionScript was developed, and released with Flash 5. Actionscript 2.0 was released with Flash MX 2004 and supported object-oriented programming, improved UI components and other programming features. The last version of Flash released by Macromedia was Flash 8, which focused on graphical upgrades such as filters (blur, drop shadow, etc.), blend modes (similar to Adobe Photoshop), and advanced features for FLV video.
Adobe
Macromedia was acquired by Adobe Systems in 2005, and the entire Macromedia product line including Flash, Dreamweaver, Director/Shockwave, Fireworks (which has since been discontinued) and Authorware is now handled by Adobe.
In 2007, Adobe's first version release was Adobe Flash CS3 Professional, the ninth major version of Flash. It introduced the ActionScript 3.0 programming language, which supported modern programming practices and enabled business applications to be developed with Flash. Adobe Flex Builder (built on Eclipse) targeted the enterprise application development market, and was also released the same year. Flex Builder included the Flex SDK, a set of components that included charting, advanced UI, and data services (Flex Data Services).
In 2008, Adobe released the tenth version of Flash, Adobe Flash CS4. Flash 10 improved animation capabilities within the Flash editor, adding a motion editor panel (similar to Adobe After Effects), inverse kinematics (bones), basic 3D object animation, object-based animation, and other text and graphics features. Flash Player 10 included an in-built 3D engine (without GPU acceleration) that allowed basic object transformations in 3D space (position, rotation, scaling).
Also in 2008, Adobe released the first version of Adobe Integrated Runtime (later re-branded as Adobe AIR), a runtime engine that replaced Flash Player, and provided additional capabilities to the ActionScript 3.0 language to build desktop and mobile applications. With AIR, developers could access the file system (the user's files and folders), and connected devices suxh as joystick, gamepad and sensors for the first time.
In 2011, Adobe Flash Player 11 was released, and with it the first version of Stage3D, allowing GPU-accelerated 3D rendering for Flash applications and games on desktop platforms such as Microsoft Windows and Mac OS X. Adobe further improved 3D capabilities from 2011 to 2013, adding support for 3D rendering on Android and iOS platforms, alpha-channels, compressed textures, texture atlases, and other features. Adobe AIR was upgraded to support 64-bit computers, and to allow developers to add additional functionality to the AIR runtime using AIR Native Extensions (ANE).
In 2014, Adobe AIR reached a milestone with over 100,000 unique applications built, and over 1 billion installations logged across the world (May 2014). Adobe AIR was voted the Best Mobile Application Development product at the Consumer Electronics Show on two consecutive years (CES 2014 and CES 2015). In 2016, Adobe renamed Flash Professional, the primary authoring software for Flash content, to Adobe Animate to reflect its growing use for authoring HTML5 content in favour of Flash content.
Open Screen Project
On May 1, 2008, Adobe announced the Open Screen Project, with the intent of providing a consistent application interface across devices such as personal computers, mobile devices, and consumer electronics. When the project was announced, seven 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 formats, 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.
As of February 2009, the specifications removing the restrictions on the use of SWF and FLV/F4V specs have been published. The Flash Cast protocol--now known as the Mobile Content Delivery Protocol--and AMF protocols have also been made available, with AMF available as an open source implementation, BlazeDS.
The list of mobile device providers who have joined the project includes Palm, Motorola, and Nokia, who, together with Adobe, have announced a $10 million Open Screen Project fund. As of 2012, the Open Screen Project is no longer accepting new applications according to partner BSQuare. However paid licensing is still an option for device makers who want to use Adobe software.
End of life
Although Flash was previously a dominant platform for online multimedia content, it is slowly being abandoned as Adobe favors a transition to HTML5 due to inherent security flaws and significant resources required to maintain the platform. Apple restricted the use of Flash on iOS due to concerns that it performed poorly on its mobile devices, had negative impact on battery life, and was deemed unnecessary for online content. As a result, it was not adopted by Apple for its smartphone and tablet devices, which also reduced its user base and encouraged wider adoption of HTML5 features such as the canvas and video elements, which can replace Flash without the need for plugins. In 2015, Adobe rebranded its Flash authoring environment as Adobe Animate to emphasize its expanded support for HTML5 authoring, and stated that it would "encourage content creators to build with new web standards" rather than using Flash. In July 2017, Adobe announced that it would declare Flash to be end-of-life in 2020, and will cease support, distribution, and security updates to Flash Player. After the announcement, developers have started a petition to turn Flash into an open-source project, leading to controversy.
The Flash Platform will continue in the form of Adobe AIR, which Adobe will continue to develop, and OpenFL, an open-source implementation of the Flash Player.
Format
FLA
Flash source files are in the FLA format, and contain graphics and animation, as well as embedded assets such as bitmap images, audio files and FLV video files. The Flash source file format is a proprietary format and Adobe Animate is the only available authoring tool capable of editing such files. Flash source files (.fla) may be compiled into Flash movie files (.swf) using Adobe Animate. Note that FLA files can be edited, but output (.swf) files cannot.
SWF
Flash movie files are in the SWF format, traditionally called "ShockWave Flash" movies, "Flash movies", or "Flash applications", 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 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 allows 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, with 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 JPEG, Progressive JPEG, PNG, and GIF capability.
3D
Flash Player 11 introduced a full 3D shader API, called Stage3D, which is fairly similar to WebGL. Stage3D enables GPU-accelerated rendering of 3D graphics within Flash games and applications, and has been used to build Angry Birds, and a couple of other notable games.
Various 3D frameworks have been built for Flash using Stage3D, such as Away3D 4, CopperCube, Flare3D, Starling,. Professional game engines like Unreal Engine and Unity also export Flash versions which use Stage3D to render 3D graphics.
Flash Video
Virtually all browser plugins for video are free of charge 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 publicly criticized Adobe Flash, including its implementation of video playback for not taking advantage of hardware acceleration, one reason Flash is not to be found on Apple's mobile devices. Soon after Apple's criticism, Adobe demoed and released a beta version of Flash 10.1, which takes advantage of GPU hardware acceleration even on a Mac. Flash 10.2 beta, released December 2010, adds hardware acceleration for the whole video rendering pipeline.
Flash Player supports two distinct modes of video playback, and hardware accelerated video decoding may not be used for older video content. Such content causes excessive CPU usage compared to comparable content played with other players.
- Software Rendered Video : Flash Player supports software rendered video since version 6. Such video supports vector animations displayed above the video content. This obligation may, depending on graphic APIs exposed by the operating system, prohibit using a video overlay, like a traditional multimedia player would use, with the consequence that color space conversion and scaling must happen in software.
- Hardware Accelerated Video : Flash Player supports hardware accelerated video playback since version 10.2, for H.264, F4V, and FLV video formats. Such video is displayed above all Flash content, and takes advantage of video codec chipsets installed on the user's device. Developers must specifically use the "StageVideo" technology within Flash Player in order for hardware decoding to be enabled. Flash Player internally uses technologies such as DirectX Video Acceleration and OpenGL to do so.
In tests done by Ars Technica in 2008 and 2009, Adobe Flash Player performed better on Windows than Mac OS X and Linux with the same hardware. Performance has later improved for the latter two, on Mac OS X with Flash Player 10.1, and on Linux with Flash Player 11.
Flash Audio
Flash Audio is most commonly encoded in MP3 or AAC (Advanced Audio Coding) however it can also use ADPCM, Nellymoser (Nellymoser Asao Codec) and Speex audio codecs. Flash allows sample rates of 11, 22 and 44.1 kHz. It cannot have 48 kHz audio sample rate, which is the standard TV and DVD sample rate.
On August 20, 2007, Adobe announced on its blog that with Update 3 of Flash Player 9, Flash Video will also implement some parts of the MPEG-4 international standards. Specifically, Flash Player will work with 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 capability for the 'ilst' atom, which is the ID3 equivalent iTunes uses to store metadata. MPEG-4 Part 2 and H.263 will not work in F4V file format. Adobe also announced that it 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 implementing some parts of MPEG-4 standards had become available in Fall 2007.
Adobe Flash Player 10.1 does not have acoustic echo cancellation, unlike the VoIP offerings of Skype and Google Voice, making this and earlier versions of Flash less suitable for group calling or meetings. Flash Player 10.3 Beta incorporates acoustic echo cancellation.
Scripting language
ActionScript is the programming language used by Flash. It is an enhanced superset of the ECMAScript programming language, with a classical Java-style class model, rather than JavaScript's prototype model.
Specifications
In October 1998, Macromedia disclosed the Flash Version 3 Specification 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, MorphInk 99 was introduced, 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 does not allow 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.
In June 2009, Adobe launched the Open Screen Project (Adobe link), which made the SWF specification available without restrictions. Previously, developers could not 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.
Animation tools
Official tools
The Adobe Animate authoring program is primarily used to design graphics and animation and publish the same for websites, web applications, and video games. The program also offers limited support for audio and video embedding, and ActionScript scripting.
Adobe released Adobe LiveMotion, designed to create interactive animation content and export it to a variety of formats, including SWF. LiveMotion 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.
Third-party tools
Various free and commercial software packages can output animations into the Flash SWF format, suitable for display on the web, including:
- SWiSH Max is an animation editor with preset animation, developed by an ex-employee of Macromedia, that can output Flash animations
- Toon Boom is a traditional animation tool that can output Flash animations
- Apple Keynote allows users to export presentations to Flash SWF animations
- Xara Photo & Graphic Designer can output Flash animations
- Ajax Animator aim to create a Flash development environment
- KToon can edit vectors and generate SWF, but its interface is very different from Macromedia's
- Screencast and Screencam, produces demos or tutorials by capturing the screen and generating a Flash animation of the same
- GoAnimate is a software as a service tool to create animated videos.
- Anime Studio is a 2D animation software package specialized for character animation, that creates Flash animations
- Question Writer publishes its quizzes to Flash animations
- OpenOffice Impress
- Toufee
- KoolMoves
- Express Animator
- CelAction2D
- Alligator Flash Designer
- Amara Web
- Clash
- Salasaga
- Synfig
The Flash 4 Linux project was an initiative to develop an open source Linux application as an alternative to Adobe Animate. Development plans included authoring capacity for 2D animation, and tweening, as well as outputing SWF file formats. F4L evolved into an editor that was capable of authoring 2D animation and publishing of SWF files. Flash 4 Linux was renamed UIRA. UIRA intended to combine the resources and knowledge of the F4L project and the Qflash project, both of which were Open Source applications that aimed to provide an alternative to the proprietary Adobe Flash.
Programming tools
Official tools
Adobe provides a series of tools to develop software applications and video games for Flash:
- Apache Flex SDK - a free, open source SDK to compile Flash-based rich Internet applications from source code. The Apache Flex ActionScript 3.0 compiler generates SWF files from ActionScript 3 files. Flex was the primary ActionScript 3 compiler and was actively developed by Adobe before it was donated to Apache Software Foundation in 2011.
- Adobe Animate - primarily used to design graphics and animation, but supports ActionScript scripting and debugging.
- Adobe Flash Builder - enterprise application development & debugging, contains the Flex SDK with UI and charting components.
- Adobe Scout - a visual profiler to optimize performance of Flash content.
- CrossBridge - a free SDK to cross-compile C++ code to run in Flash Player.
Third-party tools
Third-party development tools have been created to assist developers in creating software applications and video games with Flash.
- FlashDevelop is a free and open-source Flash ActionScript IDE, which includes a project manager and debugger for building applications on Flash Player and Adobe AIR.
- Powerflasher FDT is a commercial ActionScript IDE similar to FlashDevelop.
- Haxe is an open source, high-level object-oriented programming language geared towards web-content creation that can compile SWF files from Haxe programs. As of 2012, Haxe can build programs for Flash Player that perform faster than the same application built with the Adobe Flex SDK compiler, due to additional compiler optimizations supported in Haxe.
- SWFTools (specifically, swfc) is an open-source ActionScript 3.0 compiler which generates SWF files from script files, which includes SVG tags.
- swfmill and MTASC also provide tools to create SWF files by compiling text, ActionScript or XML files into Flash animations
- Ming library, to create SWF files programmatically, has interfaces for C, PHP, C++, Perl, Python, and Ruby. It is able to import and export graphics from XML into SWF.
Players
Proprietary
Adobe Flash Player is the multimedia and application player originally developed by Macromedia and acquired by Adobe Systems. It plays SWF files, which can be created by Adobe Animate, Apache Flex, or a number of other Adobe Systems and 3rd party tools. It has support for a scripting language called ActionScript, which can be used to display Flash Video from an SWF file.
Scaleform GFx is a commercial alternative Flash player that features fully hardware-accelerated 2D graphics rendering using the GPU. Scaleform has high conformance with both Flash 10 ActionScript 3 and Flash 8 ActionScript 2. Scaleform GFx is a game development middleware solution that helps create graphical user interfaces or HUDs within 3D video games. It does not work with web browsers.
IrfanView, an image viewer, uses Flash Player to display SWF files.
Open source
OpenFL is an open-source implementation of the Adobe Flash player and runtime. It allows developers to build a single application against the OpenFL APIs, and simultaneously target multiple platforms including Flash/AIR, HTML5, Windows, Android, Tizen, Neko, BlackBerry and webOS. OpenFL mirrors the Flash API for graphical operations. OpenFL applications are written in Haxe, a modern multi-platform programming language.
Lightspark is a free and open source SWF player that supports most of ActionScript 3.0 and has a Mozilla-compatible plug-in. It will fall back on Gnash, a free SWF player supporting ActionScript 1.0 and 2.0 (AVM1) code. Lightspark supports OpenGL-based rendering for 3D content. The player is also compatible with H.264 Flash videos on YouTube.
Gnash aims to create a software player and browser plugin replacement for the Adobe Flash Player. Gnash can play SWF files up to version 7, and 80% of ActionScript 2.0. Gnash run on Windows, Linux and other platforms for the 32-bit, 64-bit, and other operating systems, but development has slowed significantly in recent years.
Shumway was an open source Flash Player released by Mozilla in November 2012. It was built in JavaScript and is thus compatible with modern web-browsers. In early October 2013, Shumway was included by default in the Firefox nightly branch. Shumway rendered Flash contents by translating contents inside Flash files to HTML5 elements, and running an ActionScript interpreter in JavaScript. It supported both AVM1 and AVM2, and ActionScript versions 1, 2, and 3. Development of Shumway ceased in early 2016.
Adobe 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 proposition first from Adobe.
Availability
Desktop computers
Flash Player
The latest version of Adobe Flash Player is available for three major desktop platforms, including Windows, macOS and Linux. On Linux the PPAPI plug-in is available; the NPAPI version wasn't updated to new major versions for a while until Adobe changed its mind on stopping support and its former plan to discontinue "in 2017".
Adobe Flash Player is available in four flavors:
- ActiveX-based Plug-in
- NPAPI-based Plug-in
- PPAPI-based Plug-in
- Projector
The ActiveX version is an ActiveX control for use in Internet Explorer and any other Windows applications that supports ActiveX technology. The Plug-in versions are available for browsers supporting either NPAPI or PPAPI plug-ins on Microsoft Windows, macOS and Linux. The projector version is a standalone player that can open SWF files directly.
The following table documents Flash Player and Adobe AIR support on desktop operating systems:
Adobe AIR
The latest version of Adobe AIR, version 18, contains Adobe Flash Player 18, and is available for Windows XP and later, as well as macOS. Official support for desktop Linux distributions ceased in June 2011 with version 2.6.
Mobile devices
Flash Player
Adobe Flash Player was available for a variety of mobile operating systems, including Android (between versions 2.2 and 4.0.4), Pocket PC/Windows CE, QNX (e.g. on BlackBerry PlayBook), Symbian, Palm OS, and webOS (since version 2.0). Flash Player for smart phones was made available to handset manufacturers at the end of 2009.
However, in November 2011, Adobe announced the withdrawal of support for Flash Player on mobile devices. Adobe continues to support deploying Flash-based content as mobile applications via Adobe AIR.
Adobe is reaffirming its commitment to "aggressively contribute" to HTML5. Adobe announced the end of Flash for mobile platforms or TV, instead focusing on HTML5 for browser content and Adobe AIR for the various mobile application stores and described it as "the beginning of the end". BlackBerry LTD (formerly known as RIM) announced that it would continue to develop Flash Player for the PlayBook.
There is no Adobe Flash Player for iOS devices (iPhone, iPad and iPod Touch). However, Flash content can be made to run on iOS devices in a variety of ways:
- Flash content can be bundled inside an Adobe AIR app, which will then run on iOS devices. (Apple did not allow this for a while, but they relaxed those restrictions in September 2010.)
- On March 8, 2011, Techradar reported that Adobe provides an experimental server side tool (Wallaby) to convert Flash programs (as far as possible) to HTML5 code, thus allowing iOS devices to display the content.
- If the content is Flash video being served by Adobe Flash Media Server 4.5, the server will translate and send the video as HTTP Dynamic Streaming or HTTP Live Streaming, both of which can be played by iOS devices.
- Some specialized mobile browsers manage to accommodate Flash via streaming content from the cloud directly to a user's device. Some examples are Photon Browser and Puffin Web Browser.
The mobile version of Internet Explorer for Windows Phone cannot play Flash content, however Flash support is still present on the tablet version of Windows.
Adobe AIR
Adobe AIR was released in 2008, and allows the creation of mobile applications and mobile games using Flash and ActionScript. Notable mobile games built with Flash include Angry Birds, Machinarium and Defend Your Castle.
Using AIR, developers can access the full Adobe Flash functionality, including text, vector graphics, raster graphics, video, audio, camera and microphone capability. Adobe AIR also includes additional features such as file system integration, native client extensions, desktop integration and access to connected devices and sensors.
AIR applications can be published as native phone applications on certain mobile operating systems, such as Android (ARM Cortex-A8 and above) and Apple iOS.
The following table explains to what extent Adobe AIR can run on various mobile operating systems:
Portable electronic devices
Adobe Flash Lite is a lightweight version of Adobe Flash Player intended for mobile phones and other portable electronic devices like Chumby and iRiver.
On the emerging single-board enthusiast market, as substantially popularized by the Raspberry Pi, support from Adobe is lacking. However, the open-source player Gnash has been ported and found to be useful.
Alternatives
OpenFL
OpenFL is an open-source implementation of the Adobe Flash technology. It allows developers to build a single application against the OpenFL APIs, and simultaneously target multiple platforms including Flash/AIR, HTML5, Windows, Android, Tizen, Neko, BlackBerry and webOS. OpenFL mirrors the Flash API for graphical operations. OpenFL applications are written in Haxe, a modern multi-platform programming language.
More than 500 video games have been developed with OpenFL, including the BAFTA-award-winning game Papers, Please, Rymdkapsel, Lightbot and Madden NFL Mobile.
HTML5
HTML5 is often cited as an alternative to Adobe Flash technology usage on web pages. Adobe released a tool that converts Flash to HTML5, and in June 2011, Google released an experimental tool that does the same. In January 2015, YouTube defaulted to HTML5 players to better support more devices.
Flash to HTML5
The following tools allow running Flash content in web browsers using HTML5:
- Adobe Edge Animate was designed to produce HTML5 animations directly.
- Adobe Animate now allows Flash animations to be published into HTML5 content directly.
- Google Swiffy - A web-based tool developed by Google that converts SWF files into HTML5, using SVG for graphics and JavaScript for animation
- Mozilla Shumway, a Flash virtual machine written in JavaScript.
- CreateJS is library that while available separately was also adopted by Adobe as a replacement for Wallaby in CS6. Unlike Wallaby, which was a standalone program, the "Toolkit for CreateJS" only works as a plug-in inside Flash Professional; it generates output for the HTML5 canvas, animated with JavaScript. Around December 2013, the toolkit was integrated directly into Flash Professional CC.
Criticisms
Mobile support
Websites built with Adobe Flash will not function on most modern mobile devices running Google Android or iOS (iPhone, iPad). The only alternative is using HTML5 and responsive web design to build websites that support both desktop and mobile devices.
However, Flash is still used to build mobile games using Adobe AIR. Such games will not work in mobile web browsers, but must be installed via the appropriate app store.
Vendor dependence
The reliance on Adobe for decoding Flash makes its use on the World Wide Web a concern--the completeness of its public specifications are debated, and no complete implementation of Flash is publicly available in source code form with a license that permits reuse. Generally, public specifications are what makes a format re-implementable (see future proofing data storage), and reusable codebases can be ported to new platforms without the endorsement of the format creator.
Adobe's restrictions on the use of the SWF/FLV specifications were lifted in February 2009 (see Adobe's Open Screen Project). However, despite efforts of projects like Gnash, Swfdec and Lightspark, a complete free Flash player is yet to be seen, as of September 2011. For example, Gnash cannot use SWF v10 yet. Notably, Gnash was listed on the Free Software Foundation's high priority list, from at least 2007, to its overdue removal in January 2017.
Notable advocates of free software, open standards, and the World Wide Web have warned against the use of Flash:
The founder of Mozilla Europe, Tristan Nitot, stated in 2008:
Companies building websites should beware of proprietary rich-media technologies like Adobe's Flash and Microsoft's Silverlight. (...) You're producing content for your users and there's someone in the middle deciding whether users should see your content.
Representing open standards, inventor of CSS and co-author of HTML5, Håkon Wium Lie explained in a Google tech talk of 2007, entitled "the <video> element", the proposal of Theora as the format for HTML5 video:
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.
Representing the free software movement, Richard Stallman stated in a speech in 2004 that: "The use of Flash in websites is a major problem for our community."
Accessibility
Usability consultant Jakob Nielsen published an Alertbox in 2000 entitled, Flash: 99% Bad, stating that "Flash tends to degrade websites for three reasons: it encourages design abuse, it breaks with the Web's fundamental interaction principles, and it distracts attention from the site's core value." Some problems have been at least partially fixed since Nielsen's complaints: Text size can be controlled using full page zoom and it has been possible for authors to include alternative text in Flash since Flash Player 6.
Flash blocking in web browsers
Flash content is usually embedded using the object
or embed
HTML element. A web browser that does not fully implement one of these elements displays the replacement text, if supplied by the web page. Often, a plugin is required for the browser to fully implement these elements, though some users cannot or will not install it.
Since Flash can be used to produce content (such as advertisements) that some users find obnoxious or take a large amount of bandwidth to download, some web browsers, by default, do not play Flash content until the user clicks on it, e.g. Konqueror, K-Meleon.
Most current browsers have a feature to block plugins, playing one only when the user clicks it. Opera versions since 10.5 feature native Flash blocking. Opera Turbo requires the user to click to play Flash content, and the browser also allows the user to enable this option permanently. Both Chrome and Firefox have an option to enable "click to play plugins". Equivalent "Flash blocker" extensions are also available for many popular browsers: Firefox has Flashblock and NoScript, Internet Explorer has Foxie, which contains a number of features, one of them named Flashblock. WebKit-based browsers under macOS, such as Apple's Safari, have ClickToFlash. In June 2015, Google announced that Chrome will "pause" advertisements and "non-central" Flash content by default.
Firefox (from version 46) rewrites old Flash-only YouTube embed code into YouTube's modern embedded player that is capable of using either HTML5 or Flash. Such embed code is used by non-YouTube sites to embed YouTube's videos, and can still be encountered, for example, on old blogs and forums.
Security
For many years Adobe Flash Player's security record has led many security experts to recommend against installing the player, or to block Flash content. The US-CERT has recommended blocking Flash, and security researcher Charlie Miller recommended "not to install Flash"; however, for people still using Flash, Intego recommended that users get trusted updates "only directly from the vendor that publishes them." As of February 12, 2015, Adobe Flash Player has over 400 CVE entries, of which over 300 lead to arbitrary code execution, and past vulnerabilities have enabled spying via web cameras. Security experts have long predicted the demise of Flash, saying that with the rise of HTML5 "...the need for browser plugins such as Flash is diminishing", as only 7 to 10 percent of websites still use it.
Active moves by third parties to limit the risk began with Steve Jobs in 2010 saying that Apple would not allow Flash on the iPhone, iPod touch and iPad - citing abysmal security as one reason. Flash often used the ability to dynamically change parts of the runtime on languages on OSX to improve their own performance, but caused general instability. In July 2015, a series of newly discovered vulnerabilities resulted in Facebook's chief security officer, Alex Stamos, issuing a call to Adobe to discontinue the software entirely and the Mozilla Firefox web browser, Google Chrome and Apple Safari to blacklist all earlier versions of Flash Player.
As a result, "Adobe has essentially stopped trying to do anything new and innovative with Flash."
Like the HTTP cookie, a flash cookie (also known as a "Local Shared Object") can be used to save application data. Flash cookies are not shared across domains. An August 2009 study by the Ashkan Soltani and a team of researchers at UC Berkeley 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. Most browsers' cache and history suppress or delete functions did not affect Flash Player's writing Local Shared Objects to its own cache in version 10.2 and earlier, at which point the user community was much less aware of the existence and function of Flash cookies than HTTP cookies. Thus, users with those versions, 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.
See also
- Adobe Creative Cloud
- List of 2D animation software
- OpenFL is an open-source implementation of the Flash platform
- Saffron Type System - the anti-aliased text-rendering engine used in version 8 onwards
- SWFObject - a JavaScript library used to embed Flash content into web pages
- Microsoft Silverlight
- JavaFX
- OpenLaszlo
- Synfig
Footnotes
References
External links
- Official website
Source of the article : Wikipedia