Flash Player and Chrome Integration is a Go!

Per our announcement in March about working with Google to integrate Flash Player into Google Chrome — the initial phase is now complete. When users install or update the Chrome browser, they will also receive the latest version of Adobe Flash Player with no need to do a separate install. Our hope is that the integration between Flash Player and the Chrome browser will serve as a showcase for more consistent, seamless, and intuitive Web browsing experiences. We feel that this work by both Google and Adobe will benefit the entire community of developers and end-users. Read more about the integration from the Chrome team on their blog.

Additionally, as we discussed previously in our original announcement of the Flash Player and Chrome integration, work is underway on a new API called Pepper that can provide a more robust way for Web browsers and plug-ins to interact with each other. We welcome and encourage others to participate in the definition and development of the Pepper API.

Flash Player 10.1: Live and Ready for Android

This week marks an exciting milestone for Flash Player. On Tuesday, June 22, we announced the availability of the shipping version of Flash Player 10.1 for mobile. The final release has been posted to the Android Market. With Andy Rubin’s announcement today about Android 2.2 (“Froyo”) being released as open source, we expect select devices can be upgraded to Froyo and can install Flash Player. As I shared previously, this release was a major undertaking to get the same Flash Player to work across various smartphones and desktop operating systems and browsers. Through the generous contributions of our partners (read more about the Open Screen Project) and the extensive community feedback we received along the way, we’ve been able to further optimize and tune the technology. For instance, the Beta release feedback we received was instrumental in helping us further improve Flash Video performance.

You may have also heard the news on the launch of Motorola’s new Droid X smartphone on the Verizon network this morning. It’s an impressive device with a beautiful 4.3 inch high-res screen backed up by a 1 ghz processor and 8 GB of onboard memory and a 16 GB microSD card. Both users of the Droid X and the original Droid can get Flash Player 10.1 with the Android 2.2 update later this summer.

What I personally find most exciting are the opportunities ahead for developers. At today’s Droid X launch in New York, Andy Rubin shared that 160,000 Android phones are sold daily. As more and more Android devices come to market, along with planned support for Flash Player on RIM’s Blackberry devices, Nokia’s Symbian and MeeGo devices, Palm’s WebOS devices, and in the future Windows Phone devices, the momentum is clear. Its a truly an amazing time for Flash.

Flash Player 10.1 with Flash Access support is live

Today, Wednesday June 10th, 2010, marks the general availability of the final release of Flash Player 10.1 and Adobe AIR 2.0.

In addition to providing a number of performance and user experience enhancements, these client runtimes were the last remaining pieces in the Flash Access 2.0 technology stack. As reported here, the back-end components shipped a month ago on May 10th so adopters could start developing content protection solutions based on Flash Access, using the public beta of Flash Player.

With the general availability of FP 10.1 with support for Flash Access, consumers have access to technology that will allow them to watch more premium content online. In addition, a number of other distribution and monetization technologies from Adobe, such as HTTP Dynamic Streaming rely on this Flash Player/AIR release. Other complementary offerings, such as the Open Source Media Framework, have also shipped recently.

Together, all these technologies will work together to enable new opportunities for monetization and highly interactive experiences while providing robust content protection. This represents the result of collaboration across several teams at Adobe who worked hard to bring this technology to market and advance the state of the art in video distribution.

It will be interesting to see how quickly this version of Flash Player gets adopted. With every Flash Player release, the adoption cycle keeps getting shorter. For instance, when Flash Player 10 was released, it had roughly 50% penetration within two months, and had passed 85% penetration in about 8 months. That’s penetration in all Internet-connected PCs, Macs and Linux boxes. How’s that for reach and consistency? If Flash Player 10.1 achieves that kind of penetration in less than 1 year, I believe it will be the most widespread DRM technology ever.

You can read details about other enhancements in FP10.1 on the Flash Player blog.

Florian Pestoni
Principal Product Manager
Adobe Systems
twitter: @florianatadobe

Flash Player in Chrome, An Update

As we recently announced, we’re working with Google to integrate Flash Player into Google Chrome so that when users install or update the browser, they will also receive the latest version of Adobe Flash Player, with no need to do a separate install.

Chrome 5.0 and Flash Player 10.1 have been in beta testing together for the last several weeks. Now as we are preparing our final releases, Google is locking down Chrome 5.0 first, without the beta version of Flash Player 10.1 built-in (since the plug-in will still be in beta when Chrome 5.0 ships). Once we finalize Flash Player 10.1, it will be reintegrated into Chrome shortly.

In the meantime, if you download the latest build of Chrome, the integrated Flash Player will not be enabled by default (though it is still available behind the “-enable-internal-flash” command line flag). However, if you have a version of Flash Player on your system for other plugin-based browsers, Chrome will automatically use the shared version of Flash Player.

The Engineering Behind Flash Player 10.1

Today represents an exciting milestone for the Flash Platform as we officially launch the public beta release of Flash Player 10.1 on Android-based devices. The Beta release is now available and as soon as Google releases their update to the Android OS, code-named “FroYo”, users will be able to get the new Flash Player installed over the air from the Android Market. The public beta release is your opportunity to try out our dramatically updated browser-based runtime with a deep focus on performance, battery life, memory management, user experience on mobile devices, and other mobile-specific features. With the pervasive use of Flash Player content on the web today, users will be able to experience the full extent of the web that Flash enables including video, games, animations, Rich Internet Apps, data presentations and visualizations, commerce, music, and so much more. It’s great to see that our extensive technical collaboration on this with our partners is now becoming a reality. To give you some perspective on the magnitude of this release, let’s look at some of the performance improvements and optimizations we made for Flash Player 10.1.

Power and Battery Optimizations

Mobile platforms are carefully tuned to deliver a broad range of capabilities while minimizing battery consumption. Flash Player 10.1 was developed to seamlessly integrate into this environment. To deliver on this objective, we added a new capability called instance management to intelligently load and play back Flash content only after it comes within view on the web page. This capability also allows us to work in conjunction with the browser to ensure the web page is loaded as quickly as possible.

A related capability we added is called pause and resume. Flash Player will automatically pause the content that is running when the browser is hidden from view or the current tab is placed in the background. Not only does this conserve power, but it allows the content to instantly hibernate should an important trigger event occur, such as an incoming phone call. Once the user returns to their browser session, the HTML page and the Flash content are returned to their exact point prior to the trigger event.

Another example of a power-saving capability we have developed is called timer throttling. Flash Player makes use of timers to control the speed of content execution. When the screen display dims, Flash Player utilizes this signal to automatically throttle back the speed at which the content is executing while the device is in this power-saving mode. In the case where the content is playing back audio or video, Flash Player will not throttle it back to ensure a seamless media playback experience.

These new capabilities in Flash Player 10.1 offer some insight into the priority we placed on conserving power and staying true to the goal of maximizing battery life on mobile devices.

Maximizing Performance

The architecture of mobile platforms is very different from desktops, laptops, and netbooks. To take advantage of these highly integrated hardware environments, we took a very comprehensive look at how Flash Player uses the CPU, GPU, memory, and storage. The Flash Player team, with engineering cooperation across our Open Screen Project partners, meticulously optimized the machine instructions used in our virtual machine, rendering engine, and media codecs to run efficiently on mobile hardware.

In the case of the ActionScript 3 virtual machine, we updated our just-in-time compiler to emit native ARM instructions to maximize the execution speed of applications on these platforms. With a significant portion of the Flash content on the web having been written in ActionScript 1 and 2, we also invested in increasing the execution speed of this content.

In addition, Flash Player will take advantage of the purpose-built hardware on the mobile device including the media decoders to optimize the playback of content such as H.264 video and AAC audio streams. This specialized hardware can often perform a specific task more efficiently than the CPU. Not only does this result in higher fidelity playback, but it can yield a nice power savings.

The investments we made in execution speed will be apparent in a broad range of content, from Flash applications to games to video, and everything in between. We took an extensive look at the performance characteristics of Flash Player in many different scenarios and drove considerable improvements in the execution speed. As a result of this work, most Flash content on the web today will execute more efficiently with no changes required to receive these benefits.

Conserving Memory

Mobile platforms have considerably less memory than most personal computers and Flash Player 10.1 includes numerous optimizations to minimize the amount of memory required for content and applications. We have added automatic compression of media in memory to matchthe typically smaller screen size and color depth of a mobile device. We have also enhanced the memory garbage collection system to work more effectively, particularly in low memory situations. We made changes to more aggressively release temporary buffers and media caches for images and audio data. These changes have translated into some dramatic improvements. In some cases, you’ll see content that now automatically consumes 50% less memory with Flash Player 10.1 when compared to our previous release.

Another important enhancement we made relates to streaming media. In some cases, content such as video is buffered in memory to allow the user to quickly seek forward or backward. In the case of mobile platforms, we added a new circular buffering capability that allows Flash Player to constrain the size of the media buffer and recycle this memory as the content plays. This new capability strikes a balance between allowing the user to navigate within sequential media, like video, and the amount of memory that content can consume.

The Flash Player team also did a lot of development around low memory support, as this is a common situation on mobile devices. To protect against content that requires too much memory for the device, we added a new system that detects when memory is running low so defensive actions can be taken to prevent a crash. In this case, the Flash Player now has a set of heuristics to shut down content when resources are running low or depleted and gracefully exit the content. This work will also benefit personal computer users that have many tabs open in their browser such that their PC is operating in a low memory situation.

Usability and Interactivity

The last topic I’ll cover is usability. In this case, it’s critically important that Flash content on a smart phone both behave consistently with the HTML page and enable rich interactivity with media in Flash. For example, as a web page can be zoomed using a multi-touch gesture by the user, the Flash content needs to enable that to happen seamlessly. If the user rotates the phone to switch into landscape mode, the Flash content responds as you’d expect. If the user double-taps to zoom in or out, the Flash content responds in a consistent, intuitive way. We have enhanced this interaction to enable a new smart-zoom capability, bringing zoomed Flash content to the best width/height dimension for the device to enable easy viewing of video and other content in Flash. We have also added the ability for content to specify that it should automatically go into full screen mode on first interaction in order to enable easy full screen interactivity with games. This new mode is indicated to the user with a message about how to exit full screen mode on their particular device.

The Flash Player team added a number of new capabilities that are essential to smart phones. Text fields in Flash will automatically take advantage of virtual or soft keyboards for text entry when a physical input device is not available. In this case, the text field is intelligently repositioned on the screen to facilitate text input.

In addition, Flash Player exposes some of the unique capabilities of mobile platforms, including access to the accelerometer. This will allow the Flash development community to create content that leverages some of the unique capabilities. We’ve got more work to do here, but we’re off to a good start and look forward to exposing new capabilities in the future, such as geolocation support.

These examples demonstrate the importance of ensuring that Flash content on a mobile device offers a predictable and intuitive experience to the end-user. To help ensure that we got the experience right, we conducted multiple rounds of usability testing to try out new ideas and improve the experience based on the feedback we received. Our goal was to ensure that existing content simply works as expected and ultimately allow smart phone users to experience the full glory of the web.

Looking Ahead

As we look forward, it’s important to note that this is just the start of our work to bring the full Flash Player to mobile devices. We will continue to improve on this effort as we support a broad range of smart phones, tablets, televisions, and other devices. Of course, a number of these optimizations and improvements will also directly benefit Flash Player on desktop and netbook platforms. At the same time, we’ve seen content publishers like Sony Pictures, Nickelodeon, Miniclip, Warner Brothers, Kongregate, South Park Studios and others already optimizing their sites to deliver the best possible experience within the context of smaller screens. Developers, who are looking for tips about optimizing Flash content for mobile devices should check out this document.

Smartphones in market today that will be able to run Flash Player 10.1 include the Nexus One, DROID by Motorola, HTC Evo, HTC Incredible, HTC Desire, Samsung Galaxy S, Motorola Milestone and others, but will depend on FroYo availability for a given device. Upgrade mechanisms and timing will vary by device and device manufacturer. To make it as easy as possible to install Flash Player, we are enabling over-the-air downloads which include content-initiated downloads, system software updates, and on-device app catalogs. Over time, a number of new phones are planned to ship with Flash Player 10.1 preinstalled. We’re thrilled to take the first step today and can’t wait to see how millions of Flash developers will innovate for mobile devices.

I hope you’re as excited about the future and the opportunities ahead as we are.

Paul Betlem
Sr. Director, Flash Player Engineering

PS: If you are a developer and want to start developing apps for Android today, check out this post from the AIR team and read all about the AIR SDK developer release we made available for Android today.

Improved Flash Player Support in Chrome

The Flash Platform has a long history of delivering Web innovation, and core to the Platform is Adobe Flash Player, our browser-based application runtime. Today, Flash Player is installed on nearly all Internet-connected desktops worldwide, and delivers rich content and interactive Web applications to a rapidly growing number of smartphones, tablets and netbooks. We continue to advance Flash Player through both my team’s work and through the contributions of the Open Screen Project, which includes almost 70 industry partners.

Google is a key participant in the Open Screen Project and shares our commitment to driving innovation on the Web. With this common goal in mind, Adobe and Google are collaborating to take the Flash Player experience to the next level by supporting a deeper integration with Google’s Chrome browser. Today, Google is releasing the initial integration of Flash Player with Chrome in their developer channel, behind a command line flag. Moving forward, Google will be including Flash Player in Chrome so users will always have the most current release and a safer and more seamless experience. To learn more about this integration you can visit the Chromium Blog.

Additionally, we are also working with Google, Mozilla, and the broader community on a new API that can provide a better way for all Web browsers and plug-ins to interact with each other. While the current NPAPI has served the industry well, it lacks the flexibility and power to support the pace of innovation we see ahead. We expect that the new API specification will offer some distinct benefits over the current technology available.

  • The API will be operating system and browser-neutral, minimizing the chance of inconsistent behavior across platforms.
  • The new API is being designed with the flexibility to allow plug-ins to more tightly integrate with host browsers.
  • The new plug-in API will provide performance benefits since the host browser will be able to directly share more information about its current state.
  • The tighter integration provided by the API can allow for a more secure browsing experience as it will be easier to unify security models and collaborate on security techniques, such as sandboxing.

We welcome and encourage the participation in the definition and development of this new API. To read more about this project, visit this page.

Our hope is that the robust integration between Chrome and Flash Player will serve as a showcase for more consistent, seamless, and efficient Web browsing experiences. We feel that this significant effort by both Google and Adobe will directly improve the speed of innovation and move the Web forward, benefiting the entire community of developers and end-users.

Paul Betlem
Sr. Director, Flash Player Engineering

CPU Performance Test Results: Flash Player vs. HTML5

If you’ve been hearing the noise about Flash Player and CPU utilization over the past couple weeks, you’ll want to check out Jan Ozer’s post on StreamingMedia.com: Flash Player: CPU Hog or Hot Tamale? It Depends.

Instead of weighing in with his opinion, Jan rolled up his sleeves, did some tests, and performed a detailed analysis comparing Flash and HTML5 by monitoring CPU utilization during video playback. His conclusion? Hardware acceleration is key.

“When it comes to efficient video playback, the ability to access hardware acceleration is the single most important factor in the overall CPU load. On Windows, where Flash can access hardware acceleration, the CPU requirements drop to negligible levels. It seems reasonable to assume that if the Flash Player could access GPU-based hardware acceleration on the Mac (or iPod/iPhone/iPad), the difference between the CPU required for HTML5 playback and Flash playback would be very much narrowed, if not eliminated.”

The analysis does not show that Flash is better than HTML5 or vice versa for all platforms. Rather, it shows that blanket statements and over-generalizations about CPU performance should be viewed with some healthy skepticism.

Jan adds:”Overall, it’s inaccurate to conclude that Flash is inherently inefficient. Rather, Flash is efficient on platforms where it can access hardware acceleration and less efficient where it can’t. With Flash Player 10.1, Flash has the opportunity for a true leap in video playback performance on all platforms that enable hardware acceleration.”

The full post describes the test procedures and actual test results, so if you’re interested in all the details, be sure to read the whole thing.

Flash Player content, Mouse Events, and Touch input

So, the Interwebs is all a buzz again around the latest article that “proves” that Flash will not be useful on mobile devices (much less the iPad). From the article:
Current Flash sites could never be made work well on any touchscreen device, and this cannot be solved by Apple, Adobe, or magical new hardware.
That’s not […]