<<

Flash Player and Linux

Ed Costello Engineering Manager Player

Tinic Uro Sr. Software Engineer

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 (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. Virtual Machine - Open Source Project

. Contributed from AVM2 to 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

. 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.