Flash Player and Linux

laborermaizeSoftware and s/w Development

Jul 4, 2012 (5 years and 1 month ago)

452 views

2007 Adobe Systems Incorporated. All Rights Reserved.
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.
2
Overview

History and Evolution of Flash Player

Flash Player 9 and Linux

On the Horizon
3
2006 Adobe Systems Incorporated. All Rights Reserved.
Flash on the Web: Yesterday
4
2006 Adobe Systems Incorporated. All Rights Reserved.
Flash on the Web: Today
2007 Adobe Systems Incorporated. All Rights Reserved.
5
A Brief History of Flash Player
Flash
Player 3
Sep 1998
Flash
Player 4
Jun 1999
Flash
Player 5
Aug 2000
Flash
Player 6
Mar 2002
Flash
Player 7
Sep 2003
Flash
Player 8
Aug 2005
Filters,
Blend Modes,
High-!delity
text,
Video (ON2)
ActionScript
2.0
(
ECMAScript
ed. 3),
Streaming
video
Components,
Video (H.263)
ActionScript
1.0
Simple Actions,
Movie Clips,
Motion
Tween
,
MP3

Flash
Player 9
Jun 2006
ActionScript 3.0,
New virtual
machine
Flash
Player 5
Feb 2001
Flash
Player 7
May 2004
Flash
Player 9
Jan 2007
Win/
Mac
Linux
Vector Animation
Interactivity

RIAs

& Video
Developers
Expressive
Performance
& Standards
Flash
Player 6
Dec 2002
6
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 desktops
1

Consistently reaches 80%
penetration within 12 months of
release
2

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
2007 Adobe Systems Incorporated. All Rights Reserved.
7
7
Flash Player Adoption Curve
0
10
20
30
40
50
60
70
80
90
100
3 months
6 months
9 months
12 months
Flash Player 9 @ 9 months
83.4% mature markets
84.5% United States
Source: NPD September 2003

March 2006; Millard Brown September 2006

March 2007
Flash Player 9
Flash Player 8
Flash Player 7
April 2007
Flash CS3 launch
June 2006
Flex 2 Launches
8
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

Up to 10x improvement
vs
ActionScript 2.0

Supports AVM1 for backwards
compatibility
1.
http://www.ecma-international.org/publications/standards/Ecma-262.htm
2.
http://developer.mozilla.org/es4
Flash Player 9
ActionScript 2.0
(AVM1)
ActionScript 3.0
(AVM2)
2007 Adobe Systems Incorporated. All Rights Reserved.
9
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
/
2007 Adobe Systems Incorporated. All Rights Reserved.
Flash Player 9
&
Linux
11
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
12
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
13
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
14
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
15
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
16
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 renderin
g
17
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
18
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
2007 Adobe Systems Incorporated. All Rights Reserved.
On the Horizon
20
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
21
2007 Adobe Systems Incorporated. All Rights Reserved.
Flex SDK

Opensource
SDK

Public JIRA Bug Database
2007 Adobe Systems Incorporated. All Rights Reserved.
22
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
2007 Adobe Systems Incorporated. All Rights Reserved.
23