Friday, July 31, 2015

About Adobe Flash

Adobe Flash Player v11 icon.pngAdobe Flash (formerly called Macromedia Flash and Shockwave Flash) is a multimedia and software platform used for creating vector graphics, animation, browser games, rich Internet applications, desktop applications, mobile applications and mobile games.
Flash displays text, vector 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.
Flash graphics and animation is designed using the Flash editor, and may be viewed by end-users using Flash Player (for web browsers), AIR (for desktop or mobile apps) or third-party players such as Scaleform GFx (for video games). Adobe Flash Player enables end-users to view Flash content using web browsers, and is supported on Microsoft Windows, Mac OS X and Linux. Adobe Flash Lite enabled viewing Flash content on older smartphones, but has been discontinued and superseded by Adobe AIR.
The ActionScript programming language allows creation of interactive animations, video games, web applications, desktop applications and mobile applications. Flash software can be developed using an IDE such as Adobe Flash Professional, Adobe Flash Builder, Flash Develop and Power flasher FDT. Adobe AIR enables full-featured desktop and mobile applications to be developed with Flash, and published for Microsoft Windows, Mac OS X, Google Android, and iOS.
Flash is frequently used to display streaming video, advertisement and interactive multimedia content on web pages and Flash-enabled software. However, after the 2000s, the usage of Flash on Web sites has declined, and as of 2015, Flash is primarily used to build video games for mobile devices with Adobe AIR.

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 (Stage 3D), 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.
As of 2015, 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-partyIDEs such as Flash Develop and Power flasher 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 are popular on the Internet, with portals like New grounds dedicated to hosting of Flash-based games. Popular games developed with Flash include Angry BirdsFarmVilleAdventureQuest and Machinarium.
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 Flare3Dsimplified 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 than150 major video game titles since its launch in 2003.

Film and animation

Adobe Flash Professional 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 for6teen and Clone High, Williams Street for Metalocalypse and Squidbillies, and Nickelodeon Animation Studios for Wow! Wow! Wubbzy! El Tigre: The Adventures of Manny Rivera,Danny Phantom and Happy Tree Friends.
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; 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 can publish animations in the SWF format, including GoAnimate, Toon Boom, Xara Photo & Graphic Designer, Toufee, Express Animator,Anime Studio, SWiSH Max and Swift 3D. These applications are designed for traditionally trained cartoonists and animators.

History

FutureWave

Flash originated with the application SmartSketch, developed by Jonathan Gay. It was published by FutureWave Software, which was founded by Charlie Jackson and Michelle Welsh. SmartSketch was a 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 re-released it 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) 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, but due to the small size of the FutureSplash Viewer, it was particularly suited for download over the Web. Macromedia distributed Flash Player as a free browser plugin in order to quickly gain market share. As of 2005, more computers worldwide had the Flash Player installed than any other Web media format, including Java, QuickTime, Real Networks and Windows Media Player.
Macromedia upgraded the Flash system significantly from 1996 to 1999, adding MovieClips, JavaScript (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 advanced 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 and Authorware was now handled by Adobe. Flash is currently developed and distributed by Adobe Systems.
In 2007, Adobe released Adobe Flash CS3 Professional, the first version released under Adobe, and the ninth major version of Flash. It introduced the ActionScript 3.0programming 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 historic 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 advanced text and graphics features. Flash Player 10included the first 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 (files & folders), and connected devices (joystick, gamepad, sensors) for the first time.
In 2011, Adobe Flash Player 11 was released, and with it the first version of Stage3D, allowing for 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 developers could now add additional functionality to the AIR runtime using AIR Native Extensions (ANE).
In 2014, Adobe AIR reached a milestone when over 100,000 unique applications were built on AIR, and over 1 billion installations of the same were logged from users across the world (May 2014). Adobe AIR was voted as the Best Mobile Application Development product at the Consumer Electronics Show for two consecutive years (CES 2014 and CES 2015).

Format

FLA

Flash source files are in the FLA format, and contain graphics, 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 Flash Professional is the only available authoring tool capable of editing such files. Flash source files (.fla) may be compiled into Flash movie files (.swf) using Flash Professional. 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. In the next version, Flash is slated to use a just-in-time compiler for the ActionScript engine.

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,.:vii 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 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 Flash Professional 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.
  • 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
  • Swift 3D renders 3D animations into 2D vectors for display in Flash Player.
  • 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 high-quality 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
  • Other programs that create Flash animations include Toufee, KoolMoves, Express Animator, CelAction2D, Alligator Flash Designer, Amara Web

Programming tools

Official tools

Adobe provides a series of tools to develop software applications and video games for Flash:
  • Adobe Flash Professional - 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.
  • Adobe Flex SDK - a free SDK to compile Flash applications from source code.
  • 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 Flash files.
  • swfmill, SWFTools, and MTASC provide tools to create SWF files, but do so 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
  • Wix.com and CirclePad are content management systems that allow non-programmers to design Flash-based websites.

Players

Adobe Flash Player

Adobe Flash Player is a multimedia and application player originally developed by Macromedia and acquired by Adobe Systems. It plays SWF files, which can be created byAdobe Flash Professional, 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

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.

SwfDec

Swfdec is an outdated free/open source replacement of Adobe Flash Player. It runs on Linux and FreeBSD and is distributed under the terms of the GNU Lesser General Public License (LGPL). The last release was on December 21, 2008.

Shumway

Shumway is an open source Flash Player released by Mozilla in November 2012. It is 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.

Gnash

Gnash is an active project that aims to create a software player and browser plugin replacement for the Adobe Flash Player. Despite potential patent worries because of the proprietary nature of the files involved, Gnash provides most SWFv7 features but does not fully support SWF v7, SWF v8-files, or the '9'th generation. Gnash runs on Windows, Linux and other platforms for the 32-bit, 64-bit, and other operating systems.

Lightspark

Lightspark is a free and open source SWF player. It implements the latest ActionScript 3. Lightspark supports OpenGL-based rendering for 3D content. The player is compatible with H.264 Flash videos on YouTube.

Availability

Desktop computers

Flash Player

The latest version of Adobe Flash Player is available for many major desktop platforms, including Windows (XP and newer) and OS X (10.6 and later). The latest version is also available on Linux but only on Google Chrome as Adobe no longer releases updates for the non-PPAPI plugin on Linux.
Adobe Flash Player is available in three flavors: "ActiveX", "Plug-in" and "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" version is available for Netscape-compatible browsers on Microsoft Windows, Macintosh 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:
Operating SystemPrerequisitesUsageLatest Adobe Flash PlayerBrowser Support
Microsoft WindowsWindows XP/Vista/7/8, Windows Server 2003/2008/2012Internet Browser, Standalone ApplicationsFlash Player 18.0, AIR 18.0Internet Explorer, Firefox, Chrome,Chromium, Safari, Opera
Mac OS XOS X 10.6 or newerInternet Browser, Standalone ApplicationsFlash Player 18.0, AIR 18.0Safari, Firefox, Chrome, Chromium,Opera
Linux with NPAPI-based BrowsersNoneInternet BrowserFlash Player 11.2Firefox, Chrome, Chromium, Opera
Linux with Google Chrome (PPAPI-based Browsers)NoneInternet BrowserFlash Player 18.0Google Chrome, Chromium, Opera

Adobe AIR

The latest version of Adobe AIR, version 3, contains Adobe Flash Player 11, and is available for Windows XP and later, as well as OS X. Official support for desktop Linux distributions ceased in June 2011 with version 2.6.
Adobe AIR is installed with Adobe Reader 9 (released in July, 2008), Adobe Photoshop and Adobe Lightroom, with no option for exclusion.
PlatformInstaller file supportApp Store support
Windows.air.exe and .msiNone
OS X.air and .dmgWith captive runtime 
Android.apkGoogle Play 
iOS.ipaiTunes Store
PlayBook.barBlackBerry App World

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 Action Script. Notable mobile games built with Flash includeAngry BirdsMachinarium 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:
Operating SystemPrerequisitesLatest Adobe Flash PlayerAIR Framework
AndroidAndroid 2.3+, ARM Cortex-A8+  or Android x86 AIR 3.6.0.597 (uses Flash Player 11.6)Option 1: The AIR player can be embedded as a 'captive' runtime, which increases APK size but makes the application standalone.
Option 2: The runtime is not included with the app, and must installed as a separate app from the app market.
Apple iOSiOS 4.3 or laterAIR 3.6.0.597 (uses Flash Player 11.6)Not applicable: each app includes its own 'captive' runtime.
BlackBerry Tablet OSNoneAIR 3.1 (uses Flash Player 11.1)Already pre-installed on each device.
BlackBerry 10Blackberry 10.2 and lower (no longer supported from 10.3) AIR 3.5 (uses Flash Player 11.1)Already pre-installed on each device.

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, Gnash have been ported and found useful.

Open source

Tools

Several third-party tools are able to use and generate SWF files, and some tools such as IrfanView are capable of rendering SWF files, through the use of Flash Player.
Open-source Flash content creation software includes Ajax Animator, Clash, OpenOffice Impress, KToon, Salasaga, and Synfig.

Compilers

Apache Flex is an open-source software development kit (SDK) for the development of Flash-based rich internet applications. 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.
Haxe is an open-source programming language and compiler, that is able to generate 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.
swfc is an open-source ActionScript 3.0 compiler which generates SWF files from script files, which includes SVG tags. It is currently the most complete alternative for building Flash content in Linux, despite being entirely script-based and not having a GUI.
The Ming library is able to import and export graphics from XML into SWF. Ming has bindings for popular scripting languages such as PHP and Python.

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. Work on the device porting layers is in the early stages. Adobe intends to remove the licensing fees for Flash Player and Adobe Integrated Runtime (AIR) for devices at their release for the Open Screen Project.
The list of mobile device providers who have joined the project includes Palm, Motorola, and Nokia, 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.

Alternatives

Flash Editor

The Flash 4 Linux project was an initiative to develop an open source Linux application as an alternative to Adobe Flash Professional. 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.

Flash Player

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. There is no complete free and open source software replacement which offers all the functionality of the latest version of Adobe Flash Player, and although commercial alternatives such as Scaleform GFx do exist, they cannot work within web browsers.

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.

Criticisms

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 has been a long-standing high priority project of the Free Software Foundation since at least 2007, and it was ranked number one in September 2011.
Notable advocates of free software, open standards, and the World Wide Web have warned against the use of Flash:
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."

Flash websites on mobile devices

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 to build websites that support both desktop and mobile devices.
However, Flash is still actively 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.

Accessibility

Using Flash tends to break conventions associated with normal HTML pages. Selecting text, scrolling, form control and right-clicking act differently from with a regular HTML webpage. Many such interface unexpectancies are fixable by the designer. Usability expert Jakob Nielsen published an Alertbox in 2000 entitled, Flash: 99% Bad, which listed issues like these. Some problems have been at least partially fixed since Nielsen's complaints:
  • Text size can be controlled using full page zoom, found in many modern browsers.
  • It has been possible for authors to include alternative text in Flash since Flash Player 6. This accessibility feature is compatible only with certain screen readers and only under Windows.

Performance

Flash Player supports two distinct modes of video playback, and 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 decoders 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 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 default to not play Flash content before 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 Mac OS X, such as Apple's Safari, have ClickToFlash.

Security

Adobe Flash Player 10.3 introduced a Local Settings Manager that can be accessed from the Microsoft Windows Control Panel or the OS X System Preferences panel. This panel superseded the previous Global Online Settings Manager. The Privacy Settings panel allows users to specify whether websites must ask their permission before using the web camera or microphone. This was apparently part of a fix for vulnerabilities that enabled the use of Flash for spying via web camera.
Intego's Year In Mac Security report states that in 2011, the Flashback trojan surfaced targeting Mac OS X users, which first masqueraded as a Flash Player installer. Intego later recommended that Adobe users get trusted updates "only directly from the vendor that publishes them."
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.In response to the vulnerabilities, the developers of the Mozilla Firefox web browser blacklisted all existing versions of Flash Player prior to the version which fixes the vulnerabilities, preventing them from executing within Firefox without user consent.

Implementational vulnerabilities

Implementational vulnerabilities are flaws in the specific player software, rather than inherent to the Flash format or its usage. In particular, this section's listing of flaws in Adobe's Flash player can not be expected to apply to other players, and vice versa.
See also: Adobe Flash Player § Security and Browser security § Plugins and extensions
Adobe Flash Player's security record has caused several security experts to recommend against installing the player, or to block Flash content: the US-CERTrecommends to block Flash using NoScript, and Charlie Miller recommended "not to install Flash" at the computer security conference CanSecWest. As of February 12, 2015, Adobe Flash Player has over 400 CVE entries, of which over 300 lead to arbitrary code execution. Security vulnerabilities in Adobe Flash Player account for a third of all vulnerabilities reported in Adobe products.
Security experts have predicted that with the rise of HTML5, the Flash plugin may become obsolete. The Sophos Security Threat Report 2013 states that "fortunately, the need for browser plugins such as Flash is diminishing". McAfee's report on 2013 Threats Predictions concurs and predicts that threats will shift towards browsers.

Flash cookies

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.
On Windows systems, LSOs are stored in the directory: "%appdata%\Macromedia\Flash Player" Deleting the contents of this directory should remove the LSOs (flash cookies) for the current user.

Linux support

In February 2012, Adobe announced it would discontinue development of Flash Player on Linux for all browsers except Google Chrome. As of April 2015 version 18 is the Adobe Labs preview release.

PowerPC Mac devices

As of May 2011, users of computers with the PowerPC processor are not able to view Flash content from some sites (e.g. Facebook) that requires the latest upgrade of Adobe Flash player, which is not compatible with this processor architecture.

No comments: