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
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?
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
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).
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 ...
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
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
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.
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
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?)
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
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
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?
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.
• 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
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.
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!
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
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).
(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?
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)
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