Flash Player and Linux
Ed Costello Engineering Manager Adobe Flash Player
Tinic Uro Sr. Software Engineer Adobe Flash Player
2007 Adobe Systems Incorporated. All Rights Reserved. Overview
. History and Evolution of Flash Player
. Flash Player 9 and Linux
. On the Horizon
2 2007 Adobe Systems Incorporated. All Rights Reserved. Flash on the Web: Yesterday
3 2006 Adobe Systems Incorporated. All Rights Reserved. Flash on the Web: Today
4 2006 Adobe Systems Incorporated. All Rights Reserved. A Brief History of Flash Player
Flash Flash Flash Flash Linux Player 5 Player 6 Player 7 Player 9 Feb 2001 Dec 2002 May 2004 Jan 2007
Win/ Flash Flash Flash Flash Flash Flash Flash Mac Player 3 Player 4 Player 5 Player 6 Player 7 Player 8 Player 9 Sep 1998 Jun 1999 Aug 2000 Mar 2002 Sep 2003 Aug 2005 Jun 2006 … Vector Animation Interactivity “RIAs” Developers Expressive Performance & Video & Standards
Simple Actions, ActionScript Components, ActionScript Filters, ActionScript 3.0, Movie Clips, 1.0 Video (H.263) 2.0 Blend Modes, New virtual Motion Tween, (ECMAScript High-!delity machine MP3 ed. 3), text, Streaming Video (ON2) video
5 2007 Adobe Systems Incorporated. All Rights Reserved. Widest Reach
. Ubiquitous, cross-platform, rich media and rich internet application runtime . Installed on 98% of internet- connected desktops1 . Consistently reaches 80% penetration within 12 months of release2 . Flash Player 9 reached 80%+ penetration in <9 months . YUM-savvy updater to support rapid/consistent Linux penetration
1. Source: Millward-Brown September 2006. Mature Market data. 2. Source: NPD plug-in penetration study
6 2007 Adobe Systems Incorporated. All Rights Reserved. Flash Player Adoption Curve
100 April 2007 Flash CS3 launch 90 Flash Player 9 @ 9 months 80 83.4% mature markets Flash Player 8
70 84.5% United States Flash Player 7 60
50
40
30 Flash Player 9
20 June 2006 Flex 2 Launches 10
Source: NPD September 2003 – March 2006; Millard Brown September 2006 – March 2007 0 3 months 6 months 9 months 12 months
7 2007 Adobe Systems Incorporated. All Rights Reserved. About Flash Player 9
. ActionScript 3.0
. Compliant with ECMAScript Language Speci!cation, Third Edition (ECMA-262)1
. Contains functionality from ECMAScript Edition 4 (ES4)2 proposal
. New ActionScript Virtual Machine (AVM2) and JIT compiler Flash Player 9 . Up to 10x improvement vs ActionScript 2.0
ActionScript 2.0 ActionScript 3.0 . Supports AVM1 for backwards (AVM1) (AVM2) compatibility
1. http://www.ecma-international.org/publications/standards/Ecma-262.htm 2. http://developer.mozilla.org/es4 8 2007 Adobe Systems Incorporated. All Rights Reserved. Tamarin Virtual Machine - Open Source Project
. Contributed source code from AVM2 to Mozilla Foundation in Nov. 2006
. Most signi!cant contribution since inception of Mozilla -- 135 KLOC!
. Delivers an open source implementation of ECMAScript 4 (ES4) language speci!cation
. Key projects that will use Tamarin
. Mozilla SpiderMonkey engine for JavaScript 2 in Firefox
. ActionScript virtual machine in Adobe Flash Player 10
Project: http://www.mozilla.org/projects/tamarin/ Source code: http://lxr.mozilla.org/mozilla/source/js/tamarin/
9 2007 Adobe Systems Incorporated. All Rights Reserved. Flash Player 9 & Linux
2007 Adobe Systems Incorporated. All Rights Reserved. Key Issues for Flash Player 9
. UI Widgets
. SSL Libraries
. Sound Input and Output
. Video Input
. Graphics Hardware/Drivers
11 2007 Adobe Systems Incorporated. All Rights Reserved. UI Widgets
. Issue: Two options, GTK and Qt
. Flash Player has very few system dialogs
. Decision: Just implement one – GTK2
. Most desktops have GTK installed
12 2007 Adobe Systems Incorporated. All Rights Reserved. SSL Libraries
. Issue: OpenSSL is a challenge for us to use
. Decision: Create external "ashsupport library
. Provides general purpose solution
. Community can support additional libraries and distributions
http://labs.adobe.com/wiki/index.php/Flash_ Player:Additional_Interface_Support_for_ Linux
13 2007 Adobe Systems Incorporated. All Rights Reserved. Sound Input and Output
. Issue: Many di#erent libraries and ways of handling audio
. Decision: Use Advanced Linux Sound Architecture (ALSA)
. Standard API for recording and playback
. Alternate approach: Developers can use "ashsupport library
14 2007 Adobe Systems Incorporated. All Rights Reserved. Video Input
. Issue: Same as audio – many choices
. Currently using Video4Linux ver. 1
. Version 2 available
. Decision: Stick with V4L v1 for now
. Works for today’s devices
15 2007 Adobe Systems Incorporated. All Rights Reserved. Graphics Hardware/Drivers
. Issue: Wide selection of vendors/drivers/versions
. Decision: Support OpenGL
. Works for today’s devices
. Fall back to software rendering
16 2007 Adobe Systems Incorporated. All Rights Reserved. What about LSB?
. Ran LSB compliance tool on the player, but….
. Missing some key libraries
. E.g. FreeType, SSL, OpenGL
. Provided results and are continuing to evaluate as LSB evolves
. Attractive because Flash Player must load libraries dynamically
17 2007 Adobe Systems Incorporated. All Rights Reserved. Lessons from Flash Player 9
. Choose a standard, stable option
. Provide a way for it to “just work”
. Help the process along
. Flashsupport
. YUM
. DiamondX WISH LIST
. Library consistency across distributions
. Commitment to backward compatibility as libraries evolve
. Agreement among vendors
18 2007 Adobe Systems Incorporated. All Rights Reserved. On the Horizon
2007 Adobe Systems Incorporated. All Rights Reserved. AIR (Adobe Integrated Runtime)
. AIR
. nee “Apollo”
. Runtime for desktop apps
. Single programming model to develop browser-based and desktop- type applications
20 2007 Adobe Systems Incorporated. All Rights Reserved. Flex SDK
. Opensource SDK
. Public JIRA Bug Database
21 2007 Adobe Systems Incorporated. All Rights Reserved. Thank you!
. Adobe Flash Player: http://www.adobe.com/products/"ashplayer
. Adobe Flex 2: http://www."ex.org
. Tamarin Virtual Machine Project: http://www.mozilla.org/projects/tamarin/
. Tamarin Source: http://lxr.mozilla.org/mozilla/source/js/tamarin/
. ActionScript Technology Center: http://www.adobe.com/devnet/actionscript
. Penetration Study: http://www.adobe.com/products/player_census/"ashplayer/
http://www.adobe.com/go/get"ashplayer
22 2007 Adobe Systems Incorporated. All Rights Reserved. 23 2007 Adobe Systems Incorporated. All Rights Reserved.