Flash Lite Overview

Post on 28-Jan-2015

108 views 2 download

Tags:

description

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

Transcript of Flash Lite Overview

Vermont Flash User Group

Scott JanousekFlash Mobile Developer, Hooken Mobile

Flash Lite OverviewMay 11, 2006

Vermont Flash User Group

Thanks to:

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

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

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?

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

Vermont Flash User Group

Flash Lite

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

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

Vermont Flash User Group

Flash Lite Architecture *

* Flash Lite 2 architecture, Flash Lite 1.1 differs slightly

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!

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

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

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

Vermont Flash User Group

Flash Mobile Emulator

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.

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

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

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

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?)

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

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.

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

Vermont Flash User Group

FLASH LITE 1.1

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?

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.

Vermont Flash User Group

Flash Lite 1.1 Content

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

Vermont Flash User Group

Timeline Based FL 1.1 App

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

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

Vermont Flash User Group

FLASH LITE 2

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.

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 );

Vermont Flash User Group

Flash Lite 2.0 Walkthroughs and Demos

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!

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

Vermont Flash User Group

Extending Flash Lite

• J2ME

• Python

• C++

• BREW

• Write2File.exe

• Ming Llibrary, MobiClip, Turbine Mobile, JGenerator

• MMI

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

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

Vermont Flash User Group

Flash Device Demos

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

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?

Vermont Flash User Group

Q & A

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)

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

Vermont Flash User Group

Thank you

Vermont Flash User Group

Contact Info

• Scott Janousek http://www.scottjanousek.com/blog scott@scottjanousekNOSPAM.com

• Hooken Mobile http://www.hookenmobile.com info@hookenmobile.com