Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer.To install it, go here
Flash Lite Overview
Overview of Adobe Flash Lite given for the Vermont Flash User Group in 2005.
7180 views | comments | 17 favorites | 81 downloads | 4 embeds (Stats)
More Info
This slideshow is Public
Total Views: 7180 on Slideshare: 7166 from embeds: 14
Most viewed embeds (Top 5):
More
Slideshow Transcript
- Slide 1: Vermont Flash User Group
Flash Lite Overview
May 11, 2006
Scott Janousek
Flash Mobile Developer, Hooken Mobile
- Slide 2: Vermont Flash User Group
Thanks to:
- Slide 3: 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
- Slide 4: 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 eorts 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
- Slide 5: Vermont Flash User Group
It’s a Flash Mobile World!
Japan - epicenter of Flash Lite
- NTT DoCoMo (millions users)
- KDDI
North America
- Verizon & Adobe Deal
Other parts:
- APAC, EMEA, others?
Flash Devices shipped:
over 77 million *
Flash Device models:
over 140 devices *
* http://www.adobe.com/mobile/supported_devices/
- Slide 6: 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
- Slide 7: Vermont Flash User Group
Flash Lite
- Slide 8: 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
- Slide 9: 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).
- Slide 10: Vermont Flash User Group
Flash Lite Architecture *
* Flash Lite 2 architecture, Flash Lite 1.1 diers slightly
- Slide 11: 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!
- Slide 12: 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 ...
- Slide 13: 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
- Slide 14: 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
- Slide 15: Vermont Flash User Group
Flash Mobile Emulator
- Slide 16: 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.
- Slide 17: 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
- Slide 18: 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,o,repeat);
retVal = fscommand2(“getDeviceID”,“deviceID”);
• Notable Dierences:
• returns variable back instantaneously (retVal)
• fscommand2 exclusive to Flash Lite and mobile
devices
- Slide 19: Vermont Flash User Group
Set of fscommand2
GetTimeMinutes
Quit GetPowerSource
GetTimeSeconds
FullScreen GetBatteryLevel
GetTimeZoneOset
SetQuality GetMaxBatteryLevel
GetTotalPlayerMemory
StartVibrate SetSoftKeys
GetFreePlayerMemory
StopVibrate ResetSoftKeys GetLanguage
GetDeviceID
GetVolumeLevel GetDateDay
GetPlatform
GetMaxVolumeLevel GetDateWeekDay
GetDevice
GetSignalLevel GetDateMonth
Launch
GetMaxSignalLevel GetDateYear Escape
UnEscape
GetNetworkConnectStatus GetLocaleShortDate
SetInputTextType
GetNetworkRequestStatus GetLocaleLongDate
ExtendBacklightDuration // FL 2
GetNetworkStatus GetLocaleTime
setFocusRectColor // FL2
GetNetworkName GetTimeHours
- Slide 20: 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?)
- Slide 21: 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
- Slide 22: 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.
- Slide 23: 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
- Slide 24: Vermont Flash User Group
FLASH LITE 1.1
- Slide 25: 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?
- Slide 26: 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.
- Slide 27: Vermont Flash User Group
Flash Lite 1.1 Content
- Slide 28: 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
- Slide 29: Vermont Flash User Group
Timeline Based FL 1.1 App
All ActionScript code on timeline, except for library
functions inside “function” movieclip
- Slide 30: 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
- Slide 31: Vermont Flash User Group
FLASH LITE 2
- Slide 32: 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.
- Slide 33: 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 );
- Slide 34: Vermont Flash User Group
Flash Lite 2.0
Walkthroughs and Demos
- Slide 35: 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!
- Slide 36: Vermont Flash User Group
Flash Lite Error Codes
//-- Flash Lite 2.0 (S60)
1: Out of memory
2: Stack limit reached
3: Corrupt SWF data
4: ActionScript stuck
5: (there is no error code)
6: Bad image data
7: Bad sound data
8: Root movie unloaded
9: (there is no error code)
10: URL too long
11: Insufficient memory to decode image
12: Corrupt SVG data
13: Insufficient memory to load URL
//-- Flash Lite 1.1 Error Codes (s60)
1: Out of memory
2: Stack limit reached
3: Corrupt SWF Data
4: ActionScript stuck
5: Infinite AS loop
6: Bad JPEG data
7: Bad sound data
8: Can not find host
9: ActionScript error
10: URL too long
- Slide 37: Vermont Flash User Group
Extending Flash Lite
• J2ME
• Python
• C++
• BREW
• Write2File.exe
• Ming Llibrary, MobiClip, Turbine Mobile,
JGenerator
• MMI
- Slide 38: 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
- Slide 39: 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
- Slide 40: Vermont Flash User Group
Flash Device Demos
- Slide 41: 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).
- Slide 42: 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?
- Slide 43: Vermont Flash User Group
Q&A
- Slide 44: 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)
- Slide 45: 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
- Slide 46: Vermont Flash User Group
Thank you
- Slide 47: 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