Icon Size: | 121px |
Target: | Web browsers, iOS (via third-party software), Android, Windows, macOS, Linux |
Language: | ActionScript |
Status: | Active only for enterprise users and all users in China, discontinued everywhere else, i.e. outside China |
License: | Proprietary |
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a discontinued[1] multimedia software platform used for production of animations, rich internet applications, desktop applications, mobile apps, 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 (formerly known as Adobe Flash Professional). Software developers may produce applications and video games using Adobe Flash Builder, FlashDevelop, Flash Catalyst, or any text editor combined with the Apache Flex SDK. End users view Flash content via Flash Player (for web browsers), Adobe AIR (for desktop or mobile apps), or third-party players such as Scaleform (for video games). Adobe Flash Player (which is available 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 since 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, Wii U, and Nintendo Switch.
Flash was initially used to create fully-interactive websites, but this approach was phased out with the introduction of HTML5. Instead, Flash found a niche as the dominant platform for online multimedia content, particularly for browser games. Following an open letter written by Steve Jobs in 2010 stating that he would not approve the use of Flash on Apple's iOS devices due to numerous security flaws, use of Flash declined as Adobe transitioned to the Adobe AIR platform. The Flash Player was deprecated in 2017 and officially discontinued at the end of 2020 for all users outside mainland China, as well as non-enterprise users,[2] with many web browsers and operating systems scheduled to remove the Flash Player software around the same time. Adobe continues to develop Adobe Animate, which supports web standards such as HTML5 instead of the Flash format.[3]
In the early 2000s, Flash was widely installed on desktop computers, and was often used to display interactive web pages and online games, and to play video and audio content.[4] In 2005, YouTube was founded by former PayPal employees, and it used Adobe Flash Player as a means to display compressed video content on the web.[4]
Between 2000 and 2010, numerous businesses used Flash-based websites to launch new products, or to create interactive company portals.[5] Notable users include Nike, Hewlett-Packard (more commonly known as HP), Nokia, General Electric, World Wildlife Fund, HBO, Cartoon Network, Disney, and Motorola.[5] [6] After Adobe introduced hardware-accelerated 3D for Flash (Stage3D), Flash websites saw a growth of 3D content for product demonstrations and virtual tours.[7] [8]
In 2007, YouTube offered videos in HTML5 format to support the iPhone and iPad, which did not support Flash Player.[4] After a controversy with Apple, Adobe stopped developing Flash Player for Mobile, focusing its efforts on Adobe AIR applications and HTML5 animation.[4] In 2015, Google introduced Google Swiffy, a tool that converted Flash animation to HTML5, which Google used to automatically convert Flash web ads for mobile devices.[9] In 2016, Google discontinued Swiffy and its support.[10] In 2015, YouTube switched to HTML5 technology on most devices by default;[11] [12] [13] however, YouTube supported the Flash-based video player for older web browsers and devices until 2017.[14]
See main article: Rich Internet application. 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.[15] Such Web-based applications eventually became known as "Rich Internet Applications" and later "Rich Web Applications".[16]
In 2004, Macromedia Flex was released, and specifically targeted the application development market.[15] Flex introduced new user interface components, advanced data visualization components, data remoting, and a modern IDE (Flash Builder).[15] [17] Flex competed with Asynchronous JavaScript and XML (AJAX) and Microsoft Silverlight during its tenure.[15] Flex was upgraded to support integration with remote data sources, using AMF, BlazeDS, Adobe LiveCycle, Amazon Elastic Compute Cloud, and others.[18]
Between 2006 and 2016, the Speedtest.net web service conducted over 9.0 billion speed tests with a utility built with Adobe Flash.[19] [20] In 2016, the service shifted to HTML5 due to the decreasing availability of Adobe Flash Player on PCs.[21]
Developers could create rich internet applications and browser plugin-based applets in ActionScript 3.0 programming language with IDEs, including Adobe Flash Builder, FlashDevelop and Powerflasher FDT. Flex applications were typically built using Flex frameworks such as PureMVC.[18]
Flash video games were popular on the Internet, with portals like Newgrounds, Kongregate, and Armor Games dedicated to hosting Flash-based games. Many Flash games were developed by individuals or groups of friends due to the simplicity of the software.[22] Popular Flash games include Farmville, Alien Hominid, QWOP, Club Penguin, and Dofus.[23] [24]
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 the creation of Flash-based mobile games, which may be published to the Google Play and Apple app stores.[25] [26] [27]
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 3, CryEngine, and PhyreEngine, and has been used to provide 3D interfaces for more than 150 major video game titles since its launch in 2003.
See main article: List of Flash animated films and List of Flash animated television series.
Notable users of Flash include DHX Media Vancouver for productions including Pound Puppies, Littlest Pet Shop and , Fresh TV for Total Drama, Nelvana for 6teen and Clone High, Williams Street for Metalocalypse and Squidbillies, Nickelodeon Animation Studio for , Starz Media for Wow! Wow! Wubbzy!, Ankama Animation for , among others.
The precursor to Flash was SmartSketch, a product published by FutureWave Software in 1993. The company was founded by Charlie Jackson, Jonathan Gay, and Michelle Welsh.[28] [29] [30] [31] SmartSketch was a vector drawing application for pen computers running the PenPoint OS.[32] [33] When PenPoint failed in the marketplace, SmartSketch was ported to Microsoft Windows and Mac OS.[29] [34]
As the Internet became more popular, FutureWave realized the potential for a vector-based web animation tool that might challenge Macromedia Shockwave technology.[28] [29] In 1995, FutureWave modified SmartSketch by adding frame-by-frame animation features and released this new product as FutureSplash Animator on Macintosh and PC.[28] [29] [35] [36]
FutureWave approached Adobe Systems with an offer to sell them FutureSplash in 1995, but Adobe turned down the offer at that time.[29] Microsoft wanted to create an "online TV network" (MSN 2.0) and adopted FutureSplash animated content as a central part of it.[29] Disney Online used FutureSplash animations for their subscription-based service Disney's Daily Blast.[28] [29] Fox Broadcasting Company launched The Simpsons using FutureSplash.[29]
In December 1996,[37] 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.[38]
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.[39]
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.
Release | Year | Icon | Description | |
---|---|---|---|---|
FutureSplash Animator | 1996 | Initial version of Flash released in May 1996 with basic editing tools and a timeline.[40] [41] | ||
MacromediaFlash 1 | 1996 | A re-branded version of the FutureSplash Animator, released on December 18, 1996, under the name Macromedia Flash 1.0. The name "Flash" was created by blending the words Future and Splash.[42] | ||
MacromediaFlash 2 | 1997 | Released with Flash Player 2, new features include synchronized WAV and AIFF sound support, enhanced bitmap editing, Macromedia FreeHand integration, TrueType and PostScript fonts support, color transformations, auto-trace and the object library.[43] [44] | ||
MacromediaFlash 3 | 1998 | Released with Flash Player 3, new features include shape tweening, the movie clip element, JavaScript plug-in integration, PNG support, sprite animation, vector & bitmap transparency, bandwidth profiling and an external stand-alone player.[45] | ||
MacromediaFlash 4 | 1999 | Released with Flash Player 4, new features include a redesigned user interface, internal variables, an input field, improved timeline (smart guides, outline color mode), advanced ActionScript, publish settings panel and MP3 audio streaming.[46] | ||
MacromediaFlash 5 | 2000 | Released with Flash Player 5, new features include pen and sub-selection tools, 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.[47] | ||
MacromediaFlash MX (6) | 2002 | Released with Flash Player 6, new features include context-sensitive properties panel, timeline folders, improved color mixer, a video codec (Sorenson Spark), Unicode, v1 UI Components, compression, ActionScript vector drawing API.[48] | ||
MacromediaFlash MX 2004 (7) | 2003 | Released with Flash Player 7, new features include screens (forms for non-linear state-based development and slides for organizing content in a linear slide format like PowerPoint), small font size rendering, timeline effects, updated templates, high-fidelity import and video import wizard.[49] ActionScript 2.0 was released with this version, enabling object-oriented programming but lacking the easier "Script assist" method of writing code. JavaScript for Flash (JSFL) allowed users to write scripts to automate tasks within the Flash editor. New programming features included: web services integration, MP3/FLV media playback components, XML data service components, data binding APIs, the Project Panel, V2 UI components, and Transition libraries.[50] | ||
MacromediaFlash 8 | 2005 | Released with Flash Player 8, new features include graphical filters (blur, drop shadow, glow, etc.) 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.[51] Macromedia Flash Basic 8, a "lite" version of the Flash authoring tool targeted to new users who only wanted to do a basic drawing, animation, and interactivity. The Basic product was eventually stopped. |
On December 3, 2005, Adobe Systems acquired Macromedia[52] alongside its product line which included Flash, Dreamweaver, Director/Shockwave, Fireworks, and Authorware.[53]
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 such as a 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.[54] 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.[55] [56] 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 May 2014, Adobe announced that Adobe AIR was used in over 100,000 unique applications and had over 1 billion installations logged worldwide.[57] Adobe AIR was voted the Best Mobile Application Development product at the Consumer Electronics Show on two consecutive years (CES 2014 and CES 2015).[58] [59]
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 favor of Flash content.[60]
Release | Year | Icon | Description |
---|---|---|---|
Adobe Flash Professional CS3 (9) | 2007 | Flash CS3 is the first version of Flash released under the Adobe brand name, and features improved integration with Adobe Photoshop, enhanced QuickTime video export, filter and motion tween copy-paste support, improved vector drawing tools becoming more like Adobe Illustrator and Adobe Fireworks.[61] ActionScript 3.0 was released with this version, along with ActionScript Virtual Machine 2.0 (AVM2) for faster code execution and garbage collection[62] New programming features included: strongly typed variables with type safety, runtime errors, improved events, display list instead of "depth" system, and many new classes (Socket, ByteArray, Loader, RegExp, etc.).[63] AS3 allowed entire applications to be written in code, without needing the Flash timeline. | |
Adobe Flash Professional CS4 (10) | 2008 | Flash CS4, released on September 23, 2008, introduces a new object-based motion-tween, renaming the former frame-based version as classic tween. Additions include basic 3D object manipulation, inverse kinematics (bones), a vertical properties panel, the Deco and Spray brush tools, motion presets and further expansions to ActionScript 3.0 (Vector arrays). CS4 allows the developer to create animations with many features absent in prior versions.[64] [65] | |
Adobe Flash Professional CS5 (11) | 2010 | Flash CS5 was released on April 12, 2010, and launched for purchase on April 30, 2010. Flash CS5 Professional includes support for publishing iPhone applications.[66] However, on April 8, 2010, Apple changed the terms of its Developer License to effectively ban the use of the Flash-to-iPhone compiler[67] [68] and on April 20, 2010, Adobe announced that they will be making no additional investments in targeting the iPhone and iPad in Flash CS5.[69] Other features of Flash CS5 are a new text engine (TLF), new document templates, further improvement to inverse kinematics, new Deco tool effects, live FLV playback preview, and the code snippets panel.[70] [71] | |
Adobe Flash Professional CS5.5 (11.5) | 2011 | Flash Professional CS5.5 was released in 2011. It includes improved support for publishing iPhone applications, following Apple's revision of their iOS developer terms.[72] Flash CS5.5 also contains several features to improve mobile app workflows across devices. Some examples are content scaling and stage resizing, copy and paste layers, sharing symbols across FLA files, symbol rasterization, incremental compilation, auto-save and file recovery, and integration with CS Live online services. | |
Adobe Flash Professional CS6 (12) | 2012 | Adobe Flash Professional CS6 was released in 2012. It includes support for publishing files as HTML5 and generating sprite sheets.[73] This is the last 32-bit version and last perpetually licensed version. | |
Adobe Flash Professional CC (13) | 2013 | Flash Professional CC was released in June 2013, as part of Adobe's Creative Cloud rebrand. Changes include a native 64-bit scene rendering engine, HiDPI user interface with Dark/Light themes, unlimited pasteboard size, live preview in shapes, fills and strokes, new distribute to keyframes option, full-screen mode, center stage button, multiple selection support for layer properties, guides, masks, etc. Minor performance improvements and bug fixes, and the removal of legacy features such as ActionScript 2 support, as well as the removal of the bone tool, deco tool and spray brush tools. As part of the Creative Cloud suite, Flash CC offered users the ability to synchronize settings and save files online.[74] | |
Adobe Flash Professional CC 2014 (14) | 2014 | Flash Professional CC (2014) was released on June 18, 2014. It includes variable-width strokes, SVG export, and WebGL publishing for animations, as well as a redesigned Motion Editor. | |
Adobe Flash Professional CC 2014 (14.1) | 2014 | Flash Professional CC (2014.1) was released on October 6, 2014, featuring expanded WebGL publishing abilities, brush custom settings (angle, flatness), and the ability to import external SWFs.[75] Also, a new software development kit (SDK) enabling extensibility for custom platforms without depending on the Flash runtime, to reach more viewers. | |
Adobe Flash Professional CC 2015 (15) | 2015 | Flash Professional CC (2015) was released on June 15, 2015, with the return of the bone animation tool (inverse kinematics), import H.264 videos with audio, export bitmaps as spritesheet for HTML5 Canvas, brush scaling with stage zoom, universal document type converter, improved audio workflows, improved Motion Editor, panel locking, faster saving of FLA files, auto-recovery optimizations, organize imported GIFs in a library, library search by linkage name, invert selection, paste and overwrite frames. Programming features include code snippet support for WebGL, improved Custom Platform Support SDK, latest Flash Player (version 17.0), AIR SDK (version 17.0) and CreateJS libraries.[76] |
Adobe has taken steps to reduce or eliminate Flash licensing costs. For instance, the SWF file format documentation is provided free of charge[77] after they relaxed the requirement of accepting a non-disclosure agreement to view it in 2008.[78] Adobe also created the Open Screen Project which removes licensing fees and opens data protocols for Flash.
Adobe has also open-sourced many components relating to Flash.
Adobe has not been willing to make complete source code of the Flash Player available for free software development and even though free and open source alternatives such as Shumway and Gnash have been built, they are no longer under active development.[88]
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.[89] When the project was announced, seven goals were outlined: the abolition of licensing fees for Adobe Flash Player and Adobe AIR, 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.[89]
, the specifications removing the restrictions on the use of SWF and FLV/F4V specs have been published.[90] The Flash Cast protocol—now known as the Mobile Content Delivery Protocol—and AMF protocols have also been made available,[90] 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,[91] who, together with Adobe, have announced a $10 million Open Screen Project fund.[92]
One of Flash's primary uses on the Internet when it was first released was for building fully immersive, interactive websites. These were typically highly creative site designs that provided more flexibility over what the current HTML standards could provide as well as operate over dial-up connections.[93] However, these sites limited accessibility by "breaking the Back Button", dumping visitors out of the Flash experience entirely by returning them to whatever page they had been on prior to first arriving at the site. Fully Flash-run sites fell out of favor for more strategic use of Flash plugins for video and other interactive features among standard HTML conventions, corresponding with the availability of HTML features like cascading style-sheets in the mid-00's.[94] At the same time, this also led to Flash being used for new apps, including video games and animations.[95] Precursors to YouTube featuring user-generated Flash animations and games such as Newgrounds became popular destinations, further helping to spread the use of Flash.[93]
Toward the end of the millennium, the Wireless Application Protocol (WAP) was released, corresponding with development of Dynamic HTML. Fifteen years later, WAP had largely been replaced by full-capability implementations and the HTML5 standard included more support for interactive and video elements. Support for Flash in these mobile browsers was not included. In 2010, Apple's Steve Jobs famously wrote Thoughts on Flash, an open letter to Adobe criticizing the closed nature of the Flash platform and the inherent security problems with the application to explain why Flash was not supported on iOS.[96] [97] Adobe created the Adobe AIR environment as a means to appease Apple's concerns, and spent time legally fighting Apple over terms of its App Store to allow AIR to be used on the iOS. While Adobe eventually won, allowing for other third-party development environments to get access to the iOS, Apple's decision to block Flash itself was considered the "death blow" to the Flash application.[95] In November 2011, about a year after Jobs' open letter, Adobe announced it would no longer be developing Flash and advised developers to switch to HTML5.[98]
In 2011, Adobe ended support for Flash on Android.[98] Adobe stated that Flash platform was transitioning to Adobe AIR and OpenFL, a multi-target open-source implementation of the Flash API.[99] In 2015, Adobe rebranded Flash Professional, the main 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 use Flash.[100]
In July 2017, Adobe deprecated Flash, and announced its End-Of-Life (EOL) at the end of 2020, and will cease support, distribution, and security updates for Flash Player.[2]
With Flash's EOL announced, many browsers took steps to gradually restrict Flash content (caution users before launching it, eventually blocking all content without an option to play it). By January 2021, all major browsers were blocking all Flash content unconditionally. Only IE11, niche browser forks, and some browsers built for China plan to continue support. Furthermore, excluding the China variant of Flash, Flash execution software has a built-in kill switch which prevents it from playing Flash after January 12, 2021.[101] In January 2021, Microsoft released an optional update KB4577586 which removes Flash Player from Windows; in July 2021 this update was pushed out as a security update and applied automatically to all remaining systems.[102]
Adobe Flash will still be supported in China and worldwide on some specialized enterprise platforms beyond 2020.
As early as 2014, around the same time that Adobe began encouraging Flash developers to transition their works to HTML5 standards, others began efforts to preserve existing Flash content through emulation of Flash in open standards. While some Flash applications were utilitarian, several applications had been shown to be experimental art, while others had laid the foundation of independent video game development. An early project was Mozilla's Shumway, an open source project that attempted to emulate the Flash standard in HTML5, but the project was shuttered as the team found that more developers were switching to HTML5 than seeking to keep their content in Flash, coupled with the difficulties in assuring full compatibility. Google had developed the Swiffy application, released in 2014, to convert Flash applications to HTML5-compatible scripts for viewing on mobile devices, but it was shut down in 2016.[103]
Closer to Flash's EOL date in 2020, there were more concentrated efforts simply to preserve existing Flash applications, including websites, video games, and animations beyond Flash's EOL.[104] [105] The Internet Archive introduced Ruffle and Emularity Flash emulators to emulate Flash games and animations without the security holes in November 2020, opening a new collection for creators and users to save and preserve Flash content.[106] [107] By October 2023, the Flashpoint Archive has collected more than 160,000 Flash applications, excluding those that were commercial products, and offered as a freely available archive for users to download.[108] [109] Kongregate, one of the larger sites that offered Flash games, has been working with the Strong Museum of Play to preserve its games.[103]
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 was a proprietary format and Adobe Animate and Adobe Flash Pro were the only available authoring tools 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.
See main article: SWF. Flash movie files were 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[110] 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 offered two video codecs: On2 Technologies VP6 and Sorenson Spark, and run-time JPEG, Progressive JPEG, PNG, GIF and (DWG) AutoCAD Drawing file (WMV) Windows Metafile capability.
See main article: Stage3D. Flash Player 11 introduced a full 3D shader API, called Stage3D, which is fairly similar to WebGL.[111] [112] 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,[112] CopperCube,[113] Flare3D,[114] and Starling.[115] Professional game engines like Unreal Engine[116] [117] and Unity also export Flash versions which use Stage3D to render 3D graphics.
See main article: Flash Video. Virtually all browser plugins for video are free of charge and cross-platform, including Adobe's offering of Flash Video, which was introduced with Flash version 6. Flash Video had 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 was 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 used available GPU hardware acceleration even on a Mac. Flash 10.2 beta, released December 2010, added 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.
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.[119] [120] Performance has later improved for the latter two, on Mac OS X with Flash Player 10.1,[121] and on Linux with Flash Player 11.[122]
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 a 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.[123] 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.[124]
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.
See main article: ActionScript and ActionScript Virtual Machine. Flash programs use ActionScript programming language. It is an enhanced superset of the ECMAScript programming language, with a classical Java-style class model, rather than JavaScript's prototype model.
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.[125]
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.[126]
See main article: Adobe Animate. 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.
See main article: Comparison of vector graphics editors. Various free and commercial software packages can output animations into the Flash SWF format including:
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 outputting 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.
Adobe provides a series of tools to develop software applications and video games for Flash:
Third-party development tools have been created to assist developers in creating software applications and video games with Flash.
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[127] 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.
OpenFL, a cross-platform open-source implementation of the Adobe Flash API,[99] supports importing SWF assets.[128]
Lightspark is a free and open-source SWF player that supports most of ActionScript 3.0 and has a Mozilla-compatible plug-in.[129] 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 aimed 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.[130] Gnash runs 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.[131] [132] [133] In early October 2013, Shumway was included by default in the Firefox nightly branch.[134] Shumway rendered Flash contents by translating contents inside Flash files to HTML5 elements, and running an ActionScript interpreter in JavaScript.[135] It supported both AVM1 and AVM2, and ActionScript versions 1, 2, and 3.[136] Development of Shumway ceased in early 2016.[137]
In the same year that Shumway was abandoned, work began on Ruffle, a flash emulator written in Rust. It also runs in web browsers, by compiling down to WebAssembly and using HTML5 Canvas.[138] In 2020, the Internet Archive added support for emulating SWF by adding Ruffle to its emulation scheme.[139] As of March 2023, Ruffle states that it supports 95% of the AS1/2 language and 73% of the AS1/2 APIs, but does not correctly run most AS3 (AVM2) applications.
Adobe Flash Player is currently only supported with the enterprise and China variants, it has been deprecated everywhere else.[2]
Adobe Flash Player is available in four flavors:
The ActiveX version is an ActiveX control for use in Internet Explorer and any other Windows applications that support 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.[140]
Adobe AIR shares some code with Adobe Flash Player and essentially embeds it.
Adobe Flash Player was previously available for a variety of mobile operating systems, including Android (between versions 2.2[141] and 4.0.4)[142] ., Pocket PC/Windows CE, QNX (e.g., on BlackBerry PlayBook), Symbian, Palm OS, and webOS (since version 2.0[143]). Flash Player for smartphones was originally made available to handset manufacturers at the end of 2009.[144] In November 2011, Adobe announced the withdrawal of support for Flash Player on mobile devices.[145]
In 2011 Adobe reaffirmed its commitment to "aggressively contribute" to HTML5.[146] [147] 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[148] [149] [150] [151] and described it as "the beginning of the end".[152] BlackBerry LTD (formerly known as RIM) announced that it would continue to develop Flash Player for the PlayBook.[153]
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:
The mobile version of Internet Explorer for Windows Phone cannot play Flash content;[158] however, Flash support is still present on the tablet version of Windows.[159]
See main article: Adobe AIR.
AIR is a cross-platform runtime system for developing applications for mobile devices running Android (ARM Cortex-A8 and above)[160] and Apple iOS.[161]
See main article: Adobe Flash Lite. Adobe Flash Lite is a lightweight version of Adobe Flash Player intended for mobile phones[162] and other portable electronic devices like Chumby and iRiver.
For a list of non-web alternative players, see .
See main article: OpenFL. OpenFL is an open-source software framework that mirrors the Adobe Flash API. It allows developers to build a single application against the OpenFL APIs, and simultaneously target multiple platforms including iOS, Android, HTML5 (choice of Canvas, WebGL, SVG or DOM), Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.[163] OpenFL mirrors the Flash API for graphical operations. OpenFL applications can be written in Haxe, JavaScript (EcmaScript 5 or 6+), or TypeScript.[164]
More than 500 video games have been developed with OpenFL,[165] including the BAFTA-award-winning game Papers, Please, Rymdkapsel, Lightbot, and Madden NFL Mobile.
See main article: Comparison of HTML5 and Flash. HTML5 is often cited as an alternative to Adobe Flash technology usage on web pages. Adobe released a tool that converts Flash to HTML5,[166] and in June 2011, Google released an experimental tool that does the same.[167] [168] In January 2015, YouTube defaulted to HTML5 players to better support more devices.[169]
The following tools allow converting Flash content to HTML5:
The following tools run Flash content in an HTML5-enabled browser, but do not convert to a HTML5 webpage:
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.
See also: Vendor lock-in. The reliance on Adobe for decoding Flash made 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.[177] Notably, Gnash was listed on the Free Software Foundation's high priority list, from at least 2007, to its removal in January 2017.[178]
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:[179]
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 HTML video:[180]
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:[181] "The use of Flash in websites is a major problem for our community."
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."[182] 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 content is usually embedded using the object
or embed
HTML element.[183] 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[184] and Firefox[185] 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.[186] In June 2015, Google announced that Chrome will "pause" advertisements and "non-central" Flash content by default.[187]
Firefox (from version 46) rewrites old Flash-only YouTube embed code into YouTube's modern embedded player that is capable of using either HTML video or Flash.[188] 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.
However, there are ways to pass this error in absence of flash player by deleting the validation code in HTML. This also depends on browser vision.
For many years Adobe Flash Player's security record[189] has led many security experts to recommend against installing the player, or to block Flash content.[190] [191] The US-CERT has recommended blocking Flash,[192] and security researcher Charlie Miller recommended "not to install Flash";[193] however, for people still using Flash, Intego recommended that users get trusted updates "only directly from the vendor that publishes them."[194] Adobe Flash Player has over 1078 CVE entries,[195] of which over 842 lead to arbitrary code execution, and past vulnerabilities have enabled spying via web cameras.[196] [197] [198] [199] 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".[200]
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.[201] 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[202] and the Mozilla Firefox web browser, Google Chrome, and Apple Safari to blacklist all earlier versions of Flash Player.[203] [204] [205]
See main article: Local shared object. 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.[206] 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.[207] 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.[208]