Flash Lite Overview

Flash Lite Overview

On May 11, 2006 I gave this overview on Flash Lite technology for creating mobile and device content to the Vermont Flash User's Group.

USER GROUP: http://vt.groups.adobe.com/

D4e6eb8ffdbc19c6394eec58895509a9?s=128

Scott Janousek

May 11, 2006
Tweet

Transcript

  1. 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
  2. 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 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
  3. 5.

    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?
  4. 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
  5. 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
  6. 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).
  7. 10.

    Vermont Flash User Group Flash Lite Architecture * * Flash

    Lite 2 architecture, Flash Lite 1.1 differs slightly
  8. 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!
  9. 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 ...
  10. 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
  11. 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
  12. 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.
  13. 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
  14. 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,off,repeat); retVal = fscommand2(“getDeviceID”,“deviceID”); • Notable Differences: • returns variable back instantaneously (retVal) • fscommand2 exclusive to Flash Lite and mobile devices
  15. 19.

    Vermont Flash User Group Set of fscommand2 GetPowerSource 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
  16. 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?)
  17. 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
  18. 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.
  19. 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
  20. 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?
  21. 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.
  22. 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
  23. 29.

    Vermont Flash User Group Timeline Based FL 1.1 App All

    ActionScript code on timeline, except for library functions inside “function” movieclip
  24. 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
  25. 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.
  26. 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 );
  27. 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!
  28. 36.

    Vermont Flash User Group Flash Lite Error Codes //-- 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 //-- 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
  29. 37.

    Vermont Flash User Group Extending Flash Lite • J2ME •

    Python • C++ • BREW • Write2File.exe • Ming Llibrary, MobiClip, Turbine Mobile, JGenerator • MMI
  30. 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
  31. 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
  32. 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).
  33. 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?
  34. 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)
  35. 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
  36. 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