From Flash to iPhone

88
Tuesday, March 3, 2009

description

Emanuele Cipolloni - From Flash to iPhone. Non Game App Dev Track. 360|iDev San Jose '09

Transcript of From Flash to iPhone

Page 1: From Flash to iPhone

Tuesday, March 3, 2009

Page 2: From Flash to iPhone

Tuesday, March 3, 2009

Page 3: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

From Flash to iPhone

How to effectively convert and recyle Flash content to native iPhone applications taking advantage of all device features

and without leaving coolness behind

Tuesday, March 3, 2009

Page 4: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

About me

★ Emanuele Cipolloni, CTO of Barefoot Software Inc.★ Specialized in User Interface technologies

Background:

- 10 Years in Embedded Devices UI Engines development- 7 Years in the Mobile world

Tuesday, March 3, 2009

Page 5: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What you’re going to see today

Meet the new iPhone 3G

Tuesday, March 3, 2009

Page 6: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What you’re going to see today

Meet the new iPhone 3G

Tuesday, March 3, 2009

Page 7: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What you’re going to see today

Meet the new iPhone 3G

Tuesday, March 3, 2009

Page 8: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Why Flash developers should be interest at all?

Tuesday, March 3, 2009

Page 9: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Why Flash developers should be interest at all?

You know already many of the concepts behind the iPhone UI & SDK

(hint: ⌘-Enter)

Tuesday, March 3, 2009

Page 10: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Why Flash developers should be interest at all?

You know already many of the concepts behind the iPhone UI & SDK

(hint: ⌘-Enter)

You can re-use the vast majority of graphics

Tuesday, March 3, 2009

Page 11: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Why Flash developers should be interest at all?

You know already many of the concepts behind the iPhone UI & SDK

(hint: ⌘-Enter)

You can re-use the vast majority of graphics

but more important.....

Tuesday, March 3, 2009

Page 12: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The secret (?!?!) sauce of the iPhone

Tuesday, March 3, 2009

Page 13: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The secret (?!?!) sauce of the iPhone

Before the introduction of the iPhone platform, writing a successful application was only the first of many challenges: making users aware of its existence, promoting it, selling it and making sure the users are downloading the right version for the right handset model all make for a difficult ‘to-market’ process.

Apple not only created one of the most compelling, complete and stable development environments for any portable device currently in the market, they also created an entire eco-system that will ensure users can buy, install, update and use applications with the same ease already enjoyed by iPod users through iTunes.

Tuesday, March 3, 2009

Page 14: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Is there really a market for native applications?

Tuesday, March 3, 2009

Page 15: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Is there really a market for native applications?

iPhone users produce an ARPU* 70% higher** and use 80% more of the features provided by the platform.

iPhone users already install more applications compared to ANY other mobile platform.

*Average Revenue Per User **compared to non-Smartphone users

research based on data released by AT&T in the US

Tuesday, March 3, 2009

Page 16: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

How to be part of the club

Tuesday, March 3, 2009

Page 17: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

How to be part of the club

Mac (any Intel based model)

XCode and iPhone SDK (free from Apple)

iPhone or iPod Touch (optional)

Certificate (to release)

Tuesday, March 3, 2009

Page 18: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Let’s start

Tuesday, March 3, 2009

Page 19: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Let’s start

UI Models

Tuesday, March 3, 2009

Page 20: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Let’s start

UI Models

★ D-I-Y★ Complete set UI components★ Easily skinnable (themes)★ Not suitable for Touch screen

operations★ One input at a time

Flash

Tuesday, March 3, 2009

Page 21: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Let’s start

UI Models

★ D-I-Y★ Complete set UI components★ Easily skinnable (themes)★ Not suitable for Touch screen

operations★ One input at a time

★ Pre made★ Advanced UI components★ Not so easily skinnable★ Designed for Touch screen

operations★ Supportd multi touch

Flash iPhone

Tuesday, March 3, 2009

Page 22: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Let’s start

Tuesday, March 3, 2009

Page 23: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Let’s start

Display rendering models

Tuesday, March 3, 2009

Page 24: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Let’s start

Display rendering models

★ Display List Based★ Controlled by Flash Player★ Vector rasterization oriented

Flash

Tuesday, March 3, 2009

Page 25: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Let’s start

Display rendering models

★ Display List Based★ Controlled by Flash Player★ Vector rasterization oriented

★ Hybrid★ Controlled by application★ Bitmap rendering oriented

Flash iPhone

Tuesday, March 3, 2009

Page 26: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What you are going to miss

Tuesday, March 3, 2009

Page 27: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What you are going to miss

No time line

Tuesday, March 3, 2009

Page 28: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What you are going to miss

No time line

No video (unless full screen)

Tuesday, March 3, 2009

Page 29: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What you are going to miss

No time line

No video (unless full screen)

No support for compressed sounds

Tuesday, March 3, 2009

Page 30: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What you are going to miss

No time line

No video (unless full screen)

No support for compressed sounds Fast vectors (well, not in FlashLite.....)

Tuesday, March 3, 2009

Page 31: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What you are going to miss

No time line

No video (unless full screen)

No support for compressed sounds Fast vectors (well, not in FlashLite.....)

No custom fonts

Tuesday, March 3, 2009

Page 32: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The MVC Model

Tuesday, March 3, 2009

Page 33: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The MVC Model

★ M = Model (holds data data structures of application)

Tuesday, March 3, 2009

Page 34: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The MVC Model

★ M = Model (holds data data structures of application)★ V = View (the UI of the application)

Tuesday, March 3, 2009

Page 35: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The MVC Model

★ M = Model (holds data data structures of application)★ V = View (the UI of the application)★ C = Controller (validate user input, glue the M & V)

Tuesday, March 3, 2009

Page 36: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The MVC Model

★ M = Model (holds data data structures of application)★ V = View (the UI of the application)★ C = Controller (validate user input, glue the M & V)

There are a growing number of framework for Flash that support the MVC model

iPhone SDK is built with the MVC from the ground up

Tuesday, March 3, 2009

Page 37: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The V in MVC

Tuesday, March 3, 2009

Page 38: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The V in MVC

The fundamental class for UI display and handling is the UIView

Tuesday, March 3, 2009

Page 39: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The V in MVC

The fundamental class for UI display and handling is the UIView

Think of UIView as the MovieClip class in ActionScript

Tuesday, March 3, 2009

Page 40: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

The V in MVC

The fundamental class for UI display and handling is the UIView

Think of UIView as the MovieClip class in ActionScript

UIView == MovieClip

Tuesday, March 3, 2009

Page 41: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

No more slides (for a while....)

Tuesday, March 3, 2009

Page 42: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

No more slides (for a while....)

Code Time

Tuesday, March 3, 2009

Page 43: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What’s new at Barefoot?

Tuesday, March 3, 2009

Page 44: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What’s new at Barefoot?

Imagine a new technology that enables millions* of Flash developers to turn their Flash content and applications into “first class citizen” applications and effortlessly deliver them to the iPhone/iPod Touch

while respecting all requirements from Apple?

*2.3 millions according to Adobe figures

Tuesday, March 3, 2009

Page 45: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What’s new at Barefoot?

Imagine a new technology that enables millions* of Flash developers to turn their Flash content and applications into “first class citizen” applications and effortlessly deliver them to the iPhone/iPod Touch

while respecting all requirements from Apple?

Welcome to the world of

*2.3 millions according to Adobe figures

Tuesday, March 3, 2009

Page 46: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What b.Tween™ does

Flash Application

Flash Player

Tuesday, March 3, 2009

Page 47: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What b.Tween™ does

Flash applications are “imprisoned” within the player

Flash Application

Flash Player

Tuesday, March 3, 2009

Page 48: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What b.Tween™ does

Hardware

Cocoa Touch

Libs

Flash ApplicationNative Application

b.Tween

GPRS/WiFi Bluetooth

With b.Tween™

Application is free again

Tuesday, March 3, 2009

Page 49: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What b.Tween™ does

Hardware

Cocoa Touch

Libs

Flash ApplicationNative Application

b.Tween

GPRS/WiFi Bluetooth

With b.Tween™

Can access all the features of the hosting platform

Tuesday, March 3, 2009

Page 50: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

What b.Tween™ does

Hardware

Cocoa Touch

Libs

Flash ApplicationNative Application

b.Tween

GPRS/WiFi Bluetooth

With b.Tween™

b.Tween™ is a platform enabler not an obstacle

Tuesday, March 3, 2009

Page 51: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Benefits from using b.Tween™

Tuesday, March 3, 2009

Page 52: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Benefits from using b.Tween™

User Benefits Legal applications easily accessible from within AppStore library Runs native on iPhone/iPod Touch – no plug-in, hack or work around Downloads and installs like any another AppStore product Access to a huge library of existing Flash applications ported to iPhone/iPod Touch

Developer Benefits Re-use of existing Flash portfolio Rapid porting process Easy access to clients through one of the largest mobile portals – iTunes Speed to market – no long development times Legally deploy same application on iPhone/iPod Touch

Tuesday, March 3, 2009

Page 53: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

How it happens - Conversion from Flash

Tuesday, March 3, 2009

Page 54: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

How it happens - Conversion from Flash

1. Movie is dissected by reAnimator

2. Resources are converted & exported

3. ActionScript is converted to C++ (semi...)

4. Framed animations are exported

Tuesday, March 3, 2009

Page 55: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

How it happens - Direct API access

Tuesday, March 3, 2009

Page 56: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

How it happens - Direct API access

One function says (and makes) it all:

U32 eyeGTCanvas = egtCreateCanvas();

• C context based API• No use of pointers/classes• No memory leakages possible• API design maps 1:1 to Flash rendering capabilities

Tuesday, March 3, 2009

Page 57: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

b.Tween uses a dictionary based system

Tuesday, March 3, 2009

Page 58: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

b.Tween uses a dictionary based system

Particle Dictionary

Tuesday, March 3, 2009

Page 59: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

b.Tween uses a dictionary based system

Particle Dictionary

Sound ID 1

Shape ID 2

Shape ID 3

Font ID 4abcd

Tuesday, March 3, 2009

Page 60: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

b.Tween uses a dictionary based system

Particle Dictionary

Sound ID 1

Shape ID 2

Shape ID 3

Font ID 4

Text ID 5

abcd

button

Tuesday, March 3, 2009

Page 61: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

b.Tween uses a dictionary based system

Particle Dictionary

Sound ID 1

Shape ID 2

Shape ID 3

Font ID 4

Text ID 5

Button ID 6

up to 65,535 particles

abcd

buttonbutton

Tuesday, March 3, 2009

Page 62: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Tuesday, March 3, 2009

Page 63: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Display List Screen

Tuesday, March 3, 2009

Page 64: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Display List

Place Particle

Rotate

Alpha

Scale

Screen

egtP

roce

ssD

ispl

ayLi

st

Tuesday, March 3, 2009

Page 65: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Display List

Place Particle

Rotate

Alpha

Scale

Screen

egtP

roce

ssD

ispl

ayLi

st

Tuesday, March 3, 2009

Page 66: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Display List

Place Particle

Rotate

Alpha

Scale

Screen

egtP

roce

ssD

ispl

ayLi

st

Tuesday, March 3, 2009

Page 67: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Display List

Place Particle

Rotate

Alpha

Scale

Screen

egtP

roce

ssD

ispl

ayLi

st

Tuesday, March 3, 2009

Page 68: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Display List

Place Particle

Rotate

Alpha

Scale

Screen

egtP

roce

ssD

ispl

ayLi

st

Tuesday, March 3, 2009

Page 69: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Display List

Place Particle

Rotate

Alpha

Scale

Screen

End Frame 1egtP

roce

ssD

ispl

ayLi

st

Tuesday, March 3, 2009

Page 70: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Portability featuresOne single class contains the whole application

Tuesday, March 3, 2009

Page 71: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Portability featuresOne single class contains the whole application

eyeG

T

b.Tw

een

CeyeGTMyApp

eyeGT GUI Engine

b.Tween Framework

Control interface

Tuesday, March 3, 2009

Page 72: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Portability featuresOne single class contains the whole application

eyeG

T

b.Tw

een

CeyeGTMyApp

eyeGT GUI Engine

b.Tween Framework

Control interface

Tuesday, March 3, 2009

Page 73: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Portability featuresOne single class contains the whole application

eyeG

T

b.Tw

een

CeyeGTMyApp

eyeGT GUI Engine

b.Tween Framework

Control interface

Tuesday, March 3, 2009

Page 74: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Portability featuresOne single class contains the whole application

eyeG

T

b.Tw

een

CeyeGTMyApp

eyeGT GUI Engine

b.Tween Framework

Control interface

Tuesday, March 3, 2009

Page 75: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Basics of b.Tween™

Portability featuresOne single class contains the whole application

eyeG

T

b.Tw

een

CeyeGTMyApp

eyeGT GUI Engine

b.Tween Framework

Control interface

Tuesday, March 3, 2009

Page 76: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

First porting 21 July 2008

Original Ported

Tuesday, March 3, 2009

Page 77: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

First porting 21 July 2008

World renowned Boulevart™ produced a guide in FlashLite for the Multi-Mania 2008 event. The guide was ported to the iPhone/iPod Touch in less than two

days using b.Tween and was enhanced using additional vector graphics and iPhone specific features such as multi-touch and gestures.

Original Ported

Tuesday, March 3, 2009

Page 78: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Some more....

Tuesday, March 3, 2009

Page 79: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Some more....

Code Time

Tuesday, March 3, 2009

Page 80: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

Some more....

Code Time

(some example have been stolen with permission from Keith Peters’ blog at http://www.bit-101.com)

Tuesday, March 3, 2009

Page 81: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

From here: some books that really help

Tuesday, March 3, 2009

Page 82: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

From here: some books that really help

Beginning iPhone Development: Exploring the iPhone SDK

iPhone SDK Application Development: Building Applications for the AppStore

The iPhone Developer's Cookbook: Building Applications with the iPhone SDK

Tuesday, March 3, 2009

Page 83: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

From here: more Flashers at 360iDev

• Keith Peters - “Making Things Move on the iPhone”

• James Eberhardt - “Learning the iPhone SDK from a Flash Developer’s Perspective”

• Scott Janousek - Wicked Cool Things with the Accelerometer

Tuesday, March 3, 2009

Page 84: From Flash to iPhone

© Barefoot Software, Inc. 2002 - 2009

From here: downloads

This presentation and examples code

http://www.barefootmobile.com/LelesFtp/360iDev/

Follow my blog for more Flash to iPhone

http://www.barefootmobile.com/blogs/blinky/

Tuesday, March 3, 2009

Page 85: From Flash to iPhone

Tuesday, March 3, 2009

Page 86: From Flash to iPhone

Thank you!

Tuesday, March 3, 2009

Page 87: From Flash to iPhone

Tuesday, March 3, 2009

Page 88: From Flash to iPhone

Tuesday, March 3, 2009