47
Vermont Flash User Group Scott Janousek Flash Mobile Developer, Hooken Mobile Flash Lite Overview May 11, 2006

Flash Lite Overview

Embed Size (px)

DESCRIPTION

Overview of Adobe Flash Lite given for the Vermont Flash User Group in 2005.

Citation preview

Page 1: Flash Lite Overview

Vermont Flash User Group

Scott JanousekFlash Mobile Developer, Hooken Mobile

Flash Lite OverviewMay 11, 2006

Page 2: Flash Lite Overview

Vermont Flash User Group

Thanks to:

Page 3: Flash Lite Overview

Vermont Flash User Group

Agenda

• Introduction(s)

• Talk about Flash Mobile

• We’ll concentrate on Flash Lite

• Won’t cover *everything*

• Walkthrough(s)

• Flash Enabled Device Demos

• Q & A

Page 4: Flash Lite Overview

Vermont Flash User Group

About Me• Flash, Mobile, Gadgets, and Interactivity

• Adobe Certified Flash Designer and Developer

• Doing mobile since Flash Lite 1.1

• Involved with Flash Mobile efforts including training, certification, etc.

• Frequent Speaker on Flash Mobile (FITC 2005, BFPUG)

• Contributing to upcoming Flash Mobile Book

• Hooken Mobile (look for launch soon)

• Excited about the potential for Flash Mobile in a global setting

Page 5: Flash Lite Overview

Vermont Flash User Group

It’s a Flash Mobile World!

Flash Devices shipped: over 77 million *

Flash Device models: over 140 devices *

Japan - epicenter of Flash Lite- NTT DoCoMo (millions users)- KDDI

* http://www.adobe.com/mobile/supported_devices/

North America - Verizon & Adobe Deal

Other parts: - APAC, EMEA, others?

Page 6: Flash Lite Overview

Vermont Flash User Group

“Flavors” of Flash Mobile

• Sony Clie (retired)

• Pocket PC Flash 6

• Pocket PC Flash 7 (BETA)

• Flash Lite 1.0, 1.1, 2.0

• Custom Flash Player Ports (PSP, LeapFrog, Kodak EasyShare One, others)

• FlashCast Service (“Product”) - mobile push technology - NTT DoCoMo using it with i-mode

Page 7: Flash Lite Overview

Vermont Flash User Group

Flash Lite

Page 8: Flash Lite Overview

Vermont Flash User Group

Mobile Challenges• Some considerations developing for Flash Mobile:

• The 3 “big ones”: CPU, Memory, Screen Size

• Others:

• Color Depth

• Data Input Methods

• Security

• Bandwidth

• Connectivity

• Distribution and Deployment

Page 9: Flash Lite Overview

Vermont Flash User Group

What is Flash Lite?

• Flash Lite Player specifically designed for mobile devices such as cellphones, personal media players, and more.

• Flash Lite caters to devices with constraints such as slower CPU and less memory, other capability restrictions.

• (Typically) Flash Lite runs under Symbian OS (s40, s60) or similar mobile OS.

• The Flash Lite “Platform” toolset comprised of: Flash Lite Player, CDK, Flash IDE, Sound Bundler, Mobile Emulator (testing tool).

Page 10: Flash Lite Overview

Vermont Flash User Group

Flash Lite Architecture *

* Flash Lite 2 architecture, Flash Lite 1.1 differs slightly

Page 11: Flash Lite Overview

Vermont Flash User Group

Flash Lite is good at ...• Animations

• (Simple) Games ... “Casual Games”

• Mobile Browser Based Flash Apps

• F.L.U.I. (Flash Lite User Interfaces)

• Standalone Apps

• Rich Media (Images, Sound, Video)

• Mobile Content Types: Wallpaper, Screensavers, “Chaku Flash”, others ...

• Much more!

Page 12: Flash Lite Overview

Vermont Flash User Group

The other “Alternatives”• J2ME: fragmentation issues, legacy

• C++: steep learning curve, OS level hookups

• WAP, XHTML: not focused on user (UE)

• Python: good for RAD, s60 device specific

• .NET: Microsoft devices only

• Brew Platform: based on C++ and/or Java

• Opera Platform

• Mobile AJAX (step backwards or forwards?!)

• SVG-T

• Other Products & Platforms out there as well ...

Page 13: Flash Lite Overview

Vermont Flash User Group

Why is Flash Lite better?

• Small file size

• Easy to Learn (compared to say C++)

• Rapid Development

• Flash Toolset and Flash community

• Consistent Runtime and Platform

• Usability and User Experience

• Rich Media Possibilities!

• Less Fragmentation across devices

Page 14: Flash Lite Overview

Vermont Flash User Group

Flash Lite Toolset

• Built into Flash 8 Authoring

• Upgrade Flash MX 2004 Pro via Flash Lite CDK

• Flash Lite Player ($10 USD or preinstalled)

• Flash Sound Bundler Tool

• Components, Examples, Tutorials

• Flash Lite Authoring Guidelines & Docs

• 1.1 CDK and now 2.0 CDK (Beta)

• Mobile Emulator

Page 15: Flash Lite Overview

Vermont Flash User Group

Flash Mobile Emulator

Page 16: Flash Lite Overview

Vermont Flash User Group

Screen Sizes• Some typical screen sizes for devices:

• Symbian Series 40 - 128x160 (Nokia 6131)

• Symbian Series 60 - 176x208 (Nokia 3250)

• Symbian Series 80 - 640x200

• Symbian Series 90 - 640x320

• Symbian UIQ - 320x208

• viliv p1 - 480x272 (PMP)

• iriver u10 - 320x240 (PMP)

• These are just a few examples ... screen size will vary widely from device to device.

Page 17: Flash Lite Overview

Vermont Flash User Group

Device and Soft Keys• Key Listener objects (FL 2.0) versus

“KeyCatchers” (FL 1.1)

• on( keyPress “<ENTER>” ) {} //-- FL 1.1

• Key.ENTER //--FL 2

• onKeyDown() //-- FL 2

• Assign Key object to _root, mc, listener object, onEnterFrame and isKeyDown() event

• setSoftKeys fscommand2

• <PAGEUP> and <PAGEDOWN> = softkeys in 1.1

• Quick Examples

Page 18: Flash Lite Overview

Vermont Flash User Group

fscommand2 API• Very similar to desktop cousins: fscommand()

• API (abstract programming interface) to get to OS level specifics

• Not all fscommand2 supported on every device

• Some Examples: retVal = fscommand2(“Launch”,“appname,arg1...” ); retVal = fscommand2(“StartVibrate”,on,off,repeat); retVal = fscommand2(“getDeviceID”,“deviceID”);

• Notable Differences:

• returns variable back instantaneously (retVal)

• fscommand2 exclusive to Flash Lite and mobile devices

Page 19: Flash Lite Overview

Vermont Flash User Group

Set of fscommand2GetPowerSource

GetBatteryLevel

GetMaxBatteryLevel

SetSoftKeys

ResetSoftKeys

GetDateDay

GetDateWeekDay

GetDateMonth

GetDateYear

GetLocaleShortDate

GetLocaleLongDate

GetLocaleTime

GetTimeHours

Quit

FullScreen

SetQuality

StartVibrate

StopVibrate

GetVolumeLevel

GetMaxVolumeLevel

GetSignalLevel

GetMaxSignalLevel

GetNetworkConnectStatus

GetNetworkRequestStatus

GetNetworkStatus

GetNetworkName

GetTimeMinutes

GetTimeSeconds

GetTimeZoneOffset

GetTotalPlayerMemory

GetFreePlayerMemory

GetLanguage

GetDeviceID

GetPlatform

GetDevice

Launch

Escape

UnEscape

SetInputTextType

ExtendBacklightDuration // FL 2

setFocusRectColor // FL2

Page 20: Flash Lite Overview

Vermont Flash User Group

Life Cycle of Flash Lite

• Pre-planning Stages

• Iterative Development Process: Design, Develop, Test

• Deployment

• Distribution

• Maintenance

• Migration from 1.1 timeline based content to more OO approaches in 2?

• “Hybrid” 1.1 and 2 approaches

• Retirement (1.0 content?)

Page 21: Flash Lite Overview

Vermont Flash User Group

Deployment of Apps• How to get Flash Lite content from Flash IDE to device for

testing?

• Methods:

• Bluetooth

• physical cable

• MMC

• OTA (over the air)

• infrared

• (WiFi, soon?)

• Nokia FExplorer - file explorer to get content onto Nokia phones from desktop

Page 22: Flash Lite Overview

Vermont Flash User Group

Distribution• native .swf deployment

• .sis - Symbian installer (think “Mobile zip”)

• Methods of delivery:

• distribute content via webserver

• FlashCast

• imode

• aggregators (Preminent, others)

• BREW

• Flash Lite Exchange

• OTA, email, URL, bluetooth, etc.

Page 23: Flash Lite Overview

Vermont Flash User Group

Testing Content• Mobile Emulator

• Iterative Testing

• Testing on actual target device(s) is crucial to success of content!

• Use TaskSpy and fscommand2 memory commands (getFreePlayerMemory) to keep eye on usage

• Share .swf with Flash Lite Community to get feedback (if possible)

• Test on a low-end device as well as target

Page 24: Flash Lite Overview

Vermont Flash User Group

FLASH LITE 1.1

Page 25: Flash Lite Overview

Vermont Flash User Group

Flash Lite 1.1• Based on Flash 4 Player

• “ActionScript 0.5” ... Flash 4/5 Hybrid

• FSCommand2 API

• Prevelant in APAC, just starting to proliferate in EMEA, North America, and other areas.

• Now coming pre-installed on phones around the globe (not just APAC region)

• Utilized as primary user interface in many devices (iriver u10, viliv p1, others)

• Remember tellTargets?

Page 26: Flash Lite Overview

Vermont Flash User Group

Good old’ TellTarget ?• I originally specifically refused to learn Flash 4 because of

TellTarget “non-sense” ... having OO background. Didn’t get into Flash until 5!

• Ironic that in Flash Lite 1.1 it is back, but it’s not so bad ...

• tellTarget is legacy syntax to target movieclips. Think filepath based OOP.

• Example: tellTarget( “mymovie_mc” ) { i++; }

• SetProperty() and getProperty() also in 1.1

• 2.0 eliminates most need for tellTarget ... but legacy content will still exist!

• A requirement for Flash Lite 1.1 development.

Page 27: Flash Lite Overview

Vermont Flash User Group

Flash Lite 1.1 Content

Page 28: Flash Lite Overview

Vermont Flash User Group

Flash Lite 1.1 Application Walkthrough

- FITC (Flash in the Canada)

- 2005 Mobile Guide

- Flash Lite 1.1

- PHP & MYSQL backend

- Targeted for s60 platform

Page 29: Flash Lite Overview

Vermont Flash User Group

Timeline Based FL 1.1 App

All ActionScript code on timeline, except for library functions inside “function” movieclip

Page 30: Flash Lite Overview

Vermont Flash User Group

FITC 2005 Mobile Guide Code Walkthrough

• Flash Lite 1.1 app

• Created in less than 2 weeks production

• There are tellTargets used (Flash 4 syntax)

• Almost entirely timeline based

• Backend integration with MYSQL through PHP scripts

Page 31: Flash Lite Overview

Vermont Flash User Group

FLASH LITE 2

Page 32: Flash Lite Overview

Vermont Flash User Group

Flash Lite 2• Based on Flash Player 7

• ActionScript 2.0 support *

• XML

• MSO (Mobile Shared Objects)

• Drawing API

• Device Sound and Video (3GP/MP4,others)

• Dynamic Media (images), mimetype support

• fscommand2 API

• Many other new and exciting features ... OOP possible, code reuse, etc!

* Some limitations apply.

Page 33: Flash Lite Overview

Vermont Flash User Group

Obligatory Hello World

• createTextField() //-- FL 2 only

• Example: //-- hello world example createTextField( "helloworld_txt", this.getNextHighestDepth(), 0, 0, 100, 10 ); helloworld_txt.text = "hello world!"; trace( helloworld_txt.text );

Page 34: Flash Lite Overview

Vermont Flash User Group

Flash Lite 2.0 Walkthroughs and Demos

Page 35: Flash Lite Overview

Vermont Flash User Group

Some Tips and Tricks• Test early and often on target devices! Testing,

testing testing

• Use bitmaps where possible, avoid Strokes, use vectors sparingly

• Avoid alpha channels & gradients

• Limit redraw regions

• Device Fonts versus Bitmap Fonts

• Use animations to cover CPU intensive operations

• set quality to low and then back to high

• Optimize, Test, and Keep it Simple

• More tips and tricks on the Flash Lite One Sheet!

Page 36: Flash Lite Overview

Vermont Flash User Group

Flash Lite Error Codes

//-- Flash Lite 1.1 Error Codes (s60)1: Out of memory2: Stack limit reached3: Corrupt SWF Data4: ActionScript stuck5: Infinite AS loop6: Bad JPEG data7: Bad sound data8: Can not find host9: ActionScript error10: URL too long

//-- Flash Lite 2.0 (S60)1: Out of memory2: Stack limit reached3: Corrupt SWF data4: ActionScript stuck5: (there is no error code)6: Bad image data7: Bad sound data8: Root movie unloaded9: (there is no error code)10: URL too long11: Insufficient memory to decode image12: Corrupt SVG data13: Insufficient memory to load URL

Page 37: Flash Lite Overview

Vermont Flash User Group

Extending Flash Lite

• J2ME

• Python

• C++

• BREW

• Write2File.exe

• Ming Llibrary, MobiClip, Turbine Mobile, JGenerator

• MMI

Page 38: Flash Lite Overview

Vermont Flash User Group

Flash Lite Ecosystem• In US ... transition from “experimentation” to

business models underway ...

• Adobe working on this next crucial step ... “distribution channels”

• Food Chain participants:

• Operators ... North America: Adobe + Verizon

• MVNO’s (Mobile Virtual Network Operators): Helio? Amp’d? Others.

• Content Aggregators

• Content Providers

• Mobile Designers and Developers

Page 39: Flash Lite Overview

Vermont Flash User Group

F.L.U.I

• F.L.U.I = Flash Lite User Interface

• Some companies leveraging FLUIs:

• Samsung (Korea)

• iriver u10 (PMP)

• viliv p1 (PMP)

• Benefits of Flash Lite as MRAD (Mobile Rapid Application Development ) tool

• MMI (“Man Machine Interface”) - Flash Lite UI to hardware via interfaces

• FLIP = Flash Lite Interaction Platform

Page 40: Flash Lite Overview

Vermont Flash User Group

Flash Device Demos

Page 41: Flash Lite Overview

Vermont Flash User Group

What device should I get?• Access your mobile needs. Camera? Music? Video?

Browser? Voice? Bluetooth? etc etc

• Figure out your device budget!

• Nokia is shipping Flash Lite pre-installed on newer models now coming to market

• Check out the mobile site at Adobe to see what’s new.

• What do I recommend? 3250 (1.1), N70 (FL 2), N80 (1.1), series 40 Nokia’s coming out now. Also recommend the iriver u10 (PMP).

• 6620, 6680 are nice for both 1.1 and 2 (but don’t have the Flash Lite Player preinstalled).

Page 42: Flash Lite Overview

Vermont Flash User Group

Future of Mobile Flash

• MMI (Man Machine Interface), FLIP

• Transition from Mobile Entertainment to Mobile Apps ... shift to Enterprise?

• Flash Mobile Book

• Flash Cast

• F.L.U.I’s (Flash Lite User Interfaces)

• Other Flash Mobile Products?

Page 43: Flash Lite Overview

Vermont Flash User Group

Q & A

Page 44: Flash Lite Overview

Vermont Flash User Group

Resources and Links• Adobe Flash Lite Exchange and Flash Lite Forums

http://mobile.adobe.com/

• Adobe Flash Mobile User Group of Boston http://www.flashmobilegroup.org/

• Flash Lite Yahoo! Group List http://groups.yahoo.com/group/FlashLite/

• Flash Mobile Group http://www.flashmobileforum.org/

• momoBoston http://www.momoboston.com

• My Blog http://www.scottjanousek.com/blog/

• Flash Lite 1.1 “One Sheet” PDF (get from blog)

Page 45: Flash Lite Overview

Vermont Flash User Group

BFPUG Invitation

• BFPUG: Boston Flash Platform User Group

• Started last year (2005)

• http://www.bfpug.com/

• Talk about all things revolving around the Adobe Flash Platform

• More than welcome to come just us!

• ... also have a “Design Patterns” group

Page 46: Flash Lite Overview

Vermont Flash User Group

Thank you

Page 47: Flash Lite Overview

Vermont Flash User Group

Contact Info

• Scott Janousek http://www.scottjanousek.com/blog [email protected]

• Hooken Mobile http://www.hookenmobile.com [email protected]