Download a PDF version of this white paper (PDF, 285 KB)
This document provides an overview of the Adobe Flash runtimes and a roadmap for their development. The primary goal is to provide guidance as well as insight into Adobe's current thinking and plans around core Flash functionality contained within Adobe Flash Player and Adobe AIR over a time frame of the next one to two years.
Note: This document is current as of the publication date and contains information that is subject to change. The further out the time frame being discussed, the more uncertain the specifics of the roadmap are. If there are significant changes to plans around items discussed within the white paper, the document will be updated in a timely manner. The latest version of this document can always be found at adobe.com/go/flashplayer_roadmap.
For the past decade, Flash Player and, more recently, Adobe AIR have played a vital role on the web by providing consistent platforms for deploying rich, expressive content across browsers, desktops, and devices. Beginning as a platform for enabling animation, the Flash runtimes have evolved into a complete multimedia platform, enabling experiences that were otherwise not possible or feasible on the web.
Looking forward, Adobe believes that Flash is particularly suited for addressing the gaming and premium video markets, and will focus its development efforts in those areas. At the same time, Adobe will make architectural and language changes to the runtimes in order to ensure that the Flash runtimes are well placed to enable the richest experiences on the web and across mobile devices for another decade.
The Flash runtimes refer to the primary runtimes, Flash Player and Adobe AIR, built on top of a set of core multimedia technologies that provide a consistent platform for creating and deploying expressive content and applications that can run across browsers, operating systems, and devices.
Flash content is primarily developed using the ActionScript 3 language and is packaged as a SWF file or compiled to native formats, which contain multimedia assets and code for execution and display within the Flash runtimes.
The Flash runtime core contains the base APIs and functionality that individual runtime distributions are built on top of. The primary runtime distributions are the Flash Player browser plug-in and Adobe AIR, which provide additional APIs and functionality specific to the host environment in which they run.
Unless otherwise specified, this document refers to functionality defined in the core Flash runtime, and applies to the specific runtime distributions that contain this functionality.
References to "Flash runtime core" in this document refer to this core Flash functionality shared by the runtime distributions.
References to "Flash runtimes" refer to the runtimes that are built on top of the core Flash functionality. These runtimes include Flash Player (browser plug-in) and Adobe AIR (stand-alone applications).
The Adobe Flash Player is a browser-based plug-in built on top of the core Flash functionality that provides uncompromised viewing of expressive applications, content, and videos across browsers and operating systems.
References to "Flash Player" and "Flash Player browser plug-in" refer to the Flash Player browser plug-in runtime.
Adobe AIR is a desktop and mobile-based runtime built on top of the core Flash functionality that allows developers to create and deploy Flash based content as stand-alone desktop and mobile applications across personal computers, operating systems and devices.
Flash Player was originally released in the late 1990s as a browser-based plug-in for displaying simple vector-based graphics and animations. It quickly gained popularity with animators as it provided a rich, creative medium for displaying animations on the web, something that, at the time, was difficult if not impossible to do directly in the browser.
Over time, Flash Player added new features and functionality that greatly expanded what was possible within the player specifically, and on the web in general. Some of these features include the following:
As new features were added, designers and developers would create new types of content for the web, which in turn ensured that users continued to install and use Flash Player. This became a virtuous circle. Developers could create new types of expressive content because Flash Player offered new features with a near-universal reach on the web, and users continued to install Flash Player because it provided access to some of the most expressive content on the web.
In 2008, Adobe released a desktop runtime that contained the core Flash runtime functionality. Named Adobe AIR, the runtime allowed developers and designers to create and deployed Flash based content as stand-alone applications, initially on desktop operating systems and more recently on mobile devices.
With the growth of competition in the browser market, browser vendors are increasingly innovating and providing functionality that makes it possible to deploy rich motion graphics directly via browser technologies, a role once served primarily by Flash Player. Increasingly, rich motion graphics will be deployed directly via the browser using HTML5, CSS3, JavaScript and other modern web technologies. While the primary role of Flash Player as an engine for innovation on the web remains the same, what it is used for will change.
Adobe believes that the Flash runtimes are particularly and uniquely suited for two primary use cases: creating and deploying rich, expressive games with console-quality graphics and deploying premium video.
This shift in focus for Flash does not mean that existing content will no longer run, or that Flash cannot be used for content other than gaming and premium video. However, it does mean that when prioritizing future development and bug fixes, gaming and premium video use cases will take priority.
Games are immersive, interactive content whose users demand best-in-class richness, consistency, performance, and reach. The ability of the Flash runtimes to deliver integrated vector and raster graphics, animation, synchronized dynamic sound, video, and responsive performance across the web makes it the standard platform for both casual and increasingly complex games on the web.
Games continuously push the technological barriers, and the Flash runtimes allow Adobe to deliver the new capabilities demanded by games faster than virtually any other technology, while providing the widest reach and audience. The Flash runtimes provide a number of key advantages and differentiators as a gaming platform, including the following:
Adobe believes that Flash is the game console for the web providing a foundation that allows game developers to deliver rich games and experiences more easily to more people than any other platform. The Flash Player browser plug-in alone provides frictionless reach to 99% of personal computers with no additional install (11 times more people than the best-selling hardware game console). Adobe AIR allows developers to package their Flash based games as native apps to seamlessly reach smartphones and tablets, including Apple iPhone, Apple iPad, Android smartphones and tablets, and the Kindle Fire.
Adobe is fully focused on creating a robust business around gaming. This includes, but is not limited to, the following:
The Flash runtimes remove friction and open up the largest possible audience for game developers to deliver and monetize exciting games. The largest game publishers make billions of dollars each year by investing in Flash based games. Games are often the richest, most demanding interactive experiences. Adobe believes that the rapid innovation and consistent reach uniquely possible via Flash will continue to make it exceptionally well suited for gaming.
Premium features and APIs
As announced on March 28, 2012, Adobe is introducing a premium tier of APIs in Flash Player, targeted towards game developers. Developers will need to enter into a license agreement with Adobe in order to use the premium capabilities.
Developers who want to use Stage3D in conjunction with the fast-memory opcodes via the domainMemory API must license their usage from Adobe. Aside from their use in conjunction with the Stage3D APIs, there are no restrictions on the usage of the domainMemory API.
Premium feature licensing for the combination of Stage3D hardware acceleration and fast-memory opcodes only applies to the use of the domainMemory and Stage3D APIs together, and does not apply to:
To summarize, the use of the domainMemory API in combination with the Stage 3D APIs is considered a premium feature and is subject to licensing.
In order to ensure the success of existing content and projects currently under development, Adobe will extend waivers for content released publicly prior to August 1, 2012. Licenses will be required for the content to use the premium features, but the commercial terms will not apply in those cases. For more information about premium features and terms, please visit adobe.com/go/fpl.
Adobe plans to include additional game development–focused APIs to the bundle. Capabilities that are being planned include the following:
Following the initial release, only new runtime APIs will be considered for the inclusion as premium features. As they are introduced to Flash Player, new features will be designated as premium or part of the standard free set of capabilities prior to the final release of the capability, and may be preannounced through the roadmap, or during prerelease periods.
This document will be updated as plans and information around additional premium APIs are available.
Premium feature licensing
The premium features are priced to encourage use and experimentation, and have a minimum revenue threshold which must be met before license fees take effect. You can find more details at adobe.com/go/fpl.
Adobe Flash has enabled the explosive growth in online video by providing a high-quality, secure, and consistent solution across browsers and operating systems. Flash is the "video engine" of online video as it provides high-quality and consistent codecs, streaming protocols, and content protection technologies. In addition, Flash provides developers with low-level access that allows them to program custom behaviors or protocols, which is otherwise not possible in stacks that only provide a high-level API.
Online video is still in its infancy and Adobe believes we will see more broadcast and premium content available online. Consumption of this premium content will happen where consumers are, which means video needs to reach not only desktops but also tablets, phones, smart TVs and other video streaming devices. Premium content also needs to be secure, high quality, able to provide engaging experiences and at the same time allow for monetization and analytics.
Adobe believes that Flash Player will continue to stay at the forefront of online video by innovating in key areas. These include the following:
Adobe believes that Flash has a number of fundamental and unique advantages for video:
For both client consistency and services such as advertising and analytics that drive revenue, Adobe is the only company that can meet the needs of premium content owners. Adobe's goal is to help premium content owners bring more of their content online and to monetize this content to its maximum potential. Its advanced video solutions leverage the Flash runtimes to provide a secure way to deliver high-quality content on the plethora of devices that consumers use and do so without much friction. Second, Adobe's monetization technologies enable content owners to extract the most value from their content by allowing ads to be inserted dynamically and enabling analytics, reporting, and audience segmentation.
This section contains a roadmap for Flash runtime releases and features for the next two years. This document will be updated as we continue to define and extend this roadmap beyond the initial two-year time frame reflected below. The information is provided as a guide to help developers and content providers understand the high-level direction of the Flash runtimes, as well as specific features that are being planned or considered.
Please note that the roadmap represents Adobe's current plans and thinking around the Flash runtimes, and is subject to change. The further into the future a planned release is, the more likely specifics around that release will change.
This document will be updated as information and plans change.
In the past, Adobe AIR and the Flash Player browser plug-in have followed similar but separate paths. Generally, new Flash APIs and capabilities would be released via the Flash Player plug-in first, and then eventually included in an Adobe AIR release. Moving forward, Adobe AIR and Flash Player browser plug-in releases will be increasingly synchronized and released simultaneously.
Adobe AIR 3 added the ability for developers to extend the API surface and functionality of the runtime by bundling native extensions into their applications. These extensions are written in lower level languages, and can provide access to features and functionality not exposed via Adobe AIR.
Future Adobe AIR development will focus on incorporating features from the core Flash runtime. While desktop and mobile-specific APIs will be developed, they will not be the primary focus for Adobe AIR development efforts. Developers requiring functionality not available directly via Adobe AIR APIs should consider adding that functionality via the native extensibility API.
The current Flash Player release is 11.2 and focuses on adding features that are key for the gaming and video markets.
Some of the features included in this release include the following:
Premium features in Flash Player 11.2
Below is a summary of the technical implementation for premium features in Flash Player 11.2:
Following the Flash Player 11.2 release, Adobe plans to do another release, code-named "Cyril", which is targeted for a release in the second quarter of 2012. This release focuses on enabling features and functionality key for the gaming market, as well as addressing popular feature requests from developers.
Some of the features being planned for this release include the following:
Adobe is planning an additional Flash Player release in the second half of 2012. Code-named "Dolores", this release focuses on enabling features and functionality for the gaming market, as well as improvements for general Flash Player use cases.
Some of the features planned for this release include the following:
Premium features in Dolores
Beginning with the Dolores release, content that uses premium capabilities, the combination of Stage3D hardware acceleration and fast-memory opcodes, will require a license.
The technical implementation is as follows:
While Adobe is working on releases for 2012, including 11.2 and the subsequent 2012 release, we are also modernizing the Flash runtime's code base in order to ensure that the Flash runtimes meet the needs of developers over the next five to 10 years. This work is referred to in this document as Flash Player and ActionScript "Next".
This work includes, but is not limited to, the following:
The primary goal of this work is to provide a modern implementation of the core Flash runtimes and the ActionScript virtual machine in order to significantly improve script execution performance and provide a foundation on which Flash can move forward over the next decade.
Currently, initial Flash runtime releases that result from this work are planned for 2013.
Adobe plans to add support for hardware-accelerated StageVideo in Adobe AIR in a release during 2013.
The range of applications and content for ActionScript has shifted significantly in recent years, while the ActionScript 3 language remains virtually unchanged since its introduction in 2006. Adobe believes it is time to revise the language to carefully steer its further evolution towards greater expressiveness as well as productivity and performance gains.
From a language design standpoint, Adobe uses the following assumptions as a guide for next-generation ActionScript development:
First, Adobe plans to make significant performance increases in the short term with a goal of continuing performance improvements over the long term. Performance is the primary goal when we approach how to evolve ActionScript. Second, Adobe aims to increase developer productivity by simplifying the language, improving tool support, and boosting bug prevention. Finally, having reduced unnecessary complexity, we will be in a position to innovate within the Flash runtimes much more quickly.
Below are a few items being explored for the next generation of the ActionScript language and virtual machine:
int, uint, float, float4, byte, short, long, etc. (the exact set of types is still under discussion). Currently in ActionScript 3 integer values can overflow into floating point values. This will be changed so that numeric operations will never change the underlying representation of the numeric. We foresee this addition greatly reducing implementation complexity and improving runtime performance.These are just a few areas that we are focusing on. We will update this document as our thinking evolves and solidifies around how the language and virtual machine will change.
The next version of ActionScript will be an evolution of ActionScript 3, but in some instances may not be completely compatible with ActionScript 3. We expect that any migration from ActionScript 3 will be significantly less burdensome than the move from ActionScript 2 to ActionScript 3.
Regardless, we are exploring options for tooling that would either ease or automate this transition.
Current ActionScript 3 content will continue to run in the Flash runtimes, although it may not run in the same virtual machine as the latest iteration of ActionScript. This is a similar model for how ActionScript 2–based content runs in Flash Player today.
This section contains general information and guidance around the Flash runtimes.
Adobe publishes a list of supported platforms for each Flash runtime release. The list of supported platforms for each release can be found on the Adobe site, with the most recent list of supported platforms found at adobe.com/products/flashplayer/systemreqs/.
Support for the Flash Player plug-in for browsers and Adobe AIR for PCs and devices may differ. Please refer to their respective release notes for more information.
Adobe is committed to providing both the Flash Player browser plug-in and Adobe AIR for personal computing operating systems. In some cases, Adobe may work with third parties to help in developing and/or distributing Flash runtimes for various browser and operating system configurations.
Adobe is committed to providing support for both the Flash Player browser plug-in, as well as Adobe AIR for Mac OS X operating systems. On Mac OS X operating systems, Adobe AIR applications can be distributed both directly and via the Mac App Store.
We are currently working to enable Adobe AIR applications to be distributed on the Mac App Store under the new Mac OS X application sandboxing requirements. We expect to have support available as part of the "Cyril" runtime release.
Adobe is committed to providing support for both the Flash Player browser plug-in, as well as Adobe AIR for Windows based operating systems.
Microsoft is currently developing Windows 8, which is the next generation of its Windows operating system. The operating system includes a number of different user interface configurations (desktop and Metro) and targeted processor chipsets (x86/64 and ARM), which create a number of different development targets for the Flash runtimes.
Adobe is currently working closely with Microsoft to finalize details around supported configurations for Flash Player and Adobe AIR on Windows 8. This document will be updated once this has been finalized and release schedules are available.
Adobe has been working closely with Google to develop a single, modern API for hosting plug-ins within the browser. The PPAPI, code-named "Pepper", aims to provide a layer between the plug-in and browser that abstracts away differences between browser and operating system implementations. You can find more information on the Pepper API at http://code.google.com/p/ppapi/.
Because of this work, Adobe has been able to partner with Google in providing a "Pepper" implementation of Flash Player for all x86/64 platforms supported by the Google Chrome browser. Google will begin distributing this new Pepper-based Flash Player as part of Chrome on all platforms, including Linux, later this year.
For Flash Player releases after 11.2, the Flash Player browser plug-in for Linux will only be available via the "Pepper" API as part of the Google Chrome browser distribution and will no longer be available as a direct download from Adobe. Adobe will continue to provide security updates to non-Pepper distributions of Flash Player 11.2 on Linux for five years from its release.
Flash Player will continue to support browsers using non-"Pepper" plug-in APIs on platforms other than Linux.
Adobe will be providing a debug player implementation of the Flash Player browser plug-in on Linux, and will update this document once there are more details on how it will be distributed.
As of Adobe AIR 3, Adobe has discontinued support for Adobe AIR for Linux operating systems.
Flash Player 11.1 is the last release of the Flash Player plug-in for mobile browsers. Adobe will not add support for new mobile device configurations (chipset, browser, OS version, etc.). Adobe will continue to provide critical bug fixes and security updates for existing device configurations and will also allow our source-code licensees to continue working on and releasing their own implementations.
Adobe continues to actively invest in enabling developers to create and deploy Flash based content as mobile (and desktop) applications via Adobe AIR.
Just as with desktop and mobile, Adobe's future technology innovation and outbound marketing activities for television will be focused on two use cases: premium video and advanced gaming.
Today, Adobe supports Flash based video and gaming applications built with two different models:
We are firmly committed to the television space and will continue to optimize our technology for TV hardware that enables great video and gaming experiences.
While we have historically licensed Flash Player for general web browsing on TVs , we do not recommend this approach given the difficultly of ensuring consistent and high-quality "full web" browsing on TV hardware.