Adobe Flash PlatformMark Doherty, Evangelist for Mobile and Devices - @markadoherty
Applications are beginning adapt to context>>CloudRIADevicesAdobe Systems Inc.| FOTB2009
Growing Complexity
Stand Out From The Crowd
You Need Great User Experience
Fragmentation is rarely a good thing
The ProblemWhat the developer createdWhat the designer wanted
Fastest path to great experiences everywhere
Areas of FocusWeb content & applicationsStandalone applications(Inside the browser)(Outside the browser)
Technology PartnersOpen Screen ProjectContent Partners
Flash Player 10.1
Flash Player 10.1 - UpdateDelivered: June 2010Available today: at Adobe.com and the Android MarketThe only consistent browser-based runtime for connected devicesTargeting desktops, mobile phones, netbooks, tablets, and the Digital Home
70%Web games use Flash75%85%Of Alexa100 websites use Flashof all video on the web is Flash98%95%of top 20 phone OEMS committed to delivering Flash of Internet connected PCs worldwide have installed Flash Player95%of Internet connected PCs worldwide have installed Flash Player 10Flash is popular
Memory usage reduction (often by 50% of more)Flash Player 10.1
Designed For Smart Phones & TabletsEnhanced Rich Media SupportGreater PerformanceFlash Player 10.1
Brings full Flash Player feature set to devicesNew Features:Multi-touch & gestures (not on Android)AccelerometerPeer-to-PeerMobile text inputDevice capabilities discoveryGlobalization support (GSLib)Mobile settings managerGlobal error handlingOptimized SWF management for mobile
 Sleep modeFlash Player 10.1
Demos
Browser DownloadWhere to get FlashDownloaded through on-device catalogBundled with System Software Updates
Flash Player on most smartphones shipping in 2012, >250M cumulative53%35%9%Source: Strategy Analytics smartphone forecast (January 2010) and Adobe adoption estimates
AIR 2
Adobe AIRIs Flash PlayerComplete control over application experience and interfaceSupport offline and occasionally connected applicationsLeverage local resourcesTight integration with hardware and OSFrequently used applications
Designed For Smart Phones & TabletsAdvanced NetworkingGreater PerformanceDeeper Desktop IntegrationAIR 2
Adobe AIR for smartphones (and tablets)Adobe AIR allows developers to build standalone applications using Flash technologyAndroid Beta is underway, Google and RIM support AIRFirst mobile operating system to be supported is AndroidProvides Flash developers access to app stores
Includes Flash Player 10.1 feature setAdditional Features:File StorageSQL DatabasesMulti-touch & gesturesGeolocationcut/copy/pastetel:, mailto:, maps:, video:CameraMicrophoneStageWebViewOn device debuggerAIR 2.5 (Available in Beta)
Creating an Android App: SetupGet the Android SDK: http://developer.android.com/sdk  Allows you to create and install apps on your device Android - SDK Manager to install packages etc.
 ADB – Android Device Debugger installs apps on your device
 DDMS - Dalvik Debug Monitor for desktop simulation.Join the AIR Prerelease:  http://labs.adobe.com/technologies/air/ Get AIR for Android runtime .apk installed
 Get the AIR for Android Extension for Flash CS5Flash CS5 AIR for Android ExtensionCreate, install and launch an .apk using Flash Professional CS5.apk
AIR Packaging & Distribution Workflow.AIR.apk.ipa.dmg.deb / .rpm.airnative code and distribution.exe.apk.deb/rpm.ipa.dmg
Challenges: Performance of the SDK, Different screen sizes and densities.Solution: Hero - is the Flex 4 FrameworkOptimizes both the performance and user experience
New mobile development capabilities:
Managing application “screens”
Resolution-independent layout
New user interface components designed for mobile form factorsFlex on Mobile?
Win an Android phone!!http://tinyurl.com/droid-fitc
ResourcesAdobe TV
Optimization guides:
Flash Player optimization for mobile devices
AIR best practices for mobile devices
Ads optimization
http://www.flashmobileblog.com
http://www.flashrealtime.com

Flash platform fitc

  • 1.
    Adobe Flash PlatformMarkDoherty, Evangelist for Mobile and Devices - @markadoherty
  • 2.
    Applications are beginningadapt to context>>CloudRIADevicesAdobe Systems Inc.| FOTB2009
  • 3.
  • 4.
  • 5.
    You Need GreatUser Experience
  • 6.
  • 7.
    The ProblemWhat thedeveloper createdWhat the designer wanted
  • 8.
    Fastest path togreat experiences everywhere
  • 9.
    Areas of FocusWebcontent & applicationsStandalone applications(Inside the browser)(Outside the browser)
  • 10.
    Technology PartnersOpen ScreenProjectContent Partners
  • 11.
  • 12.
    Flash Player 10.1- UpdateDelivered: June 2010Available today: at Adobe.com and the Android MarketThe only consistent browser-based runtime for connected devicesTargeting desktops, mobile phones, netbooks, tablets, and the Digital Home
  • 13.
    70%Web games useFlash75%85%Of Alexa100 websites use Flashof all video on the web is Flash98%95%of top 20 phone OEMS committed to delivering Flash of Internet connected PCs worldwide have installed Flash Player95%of Internet connected PCs worldwide have installed Flash Player 10Flash is popular
  • 14.
    Memory usage reduction(often by 50% of more)Flash Player 10.1
  • 15.
    Designed For SmartPhones & TabletsEnhanced Rich Media SupportGreater PerformanceFlash Player 10.1
  • 16.
    Brings full FlashPlayer feature set to devicesNew Features:Multi-touch & gestures (not on Android)AccelerometerPeer-to-PeerMobile text inputDevice capabilities discoveryGlobalization support (GSLib)Mobile settings managerGlobal error handlingOptimized SWF management for mobile
  • 17.
    Sleep modeFlashPlayer 10.1
  • 18.
  • 19.
    Browser DownloadWhere toget FlashDownloaded through on-device catalogBundled with System Software Updates
  • 20.
    Flash Player onmost smartphones shipping in 2012, >250M cumulative53%35%9%Source: Strategy Analytics smartphone forecast (January 2010) and Adobe adoption estimates
  • 21.
  • 22.
    Adobe AIRIs FlashPlayerComplete control over application experience and interfaceSupport offline and occasionally connected applicationsLeverage local resourcesTight integration with hardware and OSFrequently used applications
  • 23.
    Designed For SmartPhones & TabletsAdvanced NetworkingGreater PerformanceDeeper Desktop IntegrationAIR 2
  • 24.
    Adobe AIR forsmartphones (and tablets)Adobe AIR allows developers to build standalone applications using Flash technologyAndroid Beta is underway, Google and RIM support AIRFirst mobile operating system to be supported is AndroidProvides Flash developers access to app stores
  • 25.
    Includes Flash Player10.1 feature setAdditional Features:File StorageSQL DatabasesMulti-touch & gesturesGeolocationcut/copy/pastetel:, mailto:, maps:, video:CameraMicrophoneStageWebViewOn device debuggerAIR 2.5 (Available in Beta)
  • 26.
    Creating an AndroidApp: SetupGet the Android SDK: http://developer.android.com/sdk Allows you to create and install apps on your device Android - SDK Manager to install packages etc.
  • 27.
    ADB –Android Device Debugger installs apps on your device
  • 28.
    DDMS -Dalvik Debug Monitor for desktop simulation.Join the AIR Prerelease: http://labs.adobe.com/technologies/air/ Get AIR for Android runtime .apk installed
  • 29.
    Get theAIR for Android Extension for Flash CS5Flash CS5 AIR for Android ExtensionCreate, install and launch an .apk using Flash Professional CS5.apk
  • 30.
    AIR Packaging &Distribution Workflow.AIR.apk.ipa.dmg.deb / .rpm.airnative code and distribution.exe.apk.deb/rpm.ipa.dmg
  • 31.
    Challenges: Performance ofthe SDK, Different screen sizes and densities.Solution: Hero - is the Flex 4 FrameworkOptimizes both the performance and user experience
  • 32.
  • 33.
  • 34.
  • 35.
    New user interfacecomponents designed for mobile form factorsFlex on Mobile?
  • 36.
    Win an Androidphone!!http://tinyurl.com/droid-fitc
  • 37.
  • 38.
  • 39.
    Flash Player optimizationfor mobile devices
  • 40.
    AIR best practicesfor mobile devices
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
    Keep bitmapsas small as possible
  • 49.
  • 50.
    Test youranimations with different qualities of StageAvoid, if possible: Filters
  • 51.
  • 52.
  • 53.
  • 54.
    TextUse opaque backgroundover transparency
  • 55.
  • 56.
    Test different anti-aliasingtechnics (animation, bitmap text...)
  • 57.
    Avoid frequently-updatedtextLoremIpsum dolor…
  • 58.
    Redraw Regions Ifan object's properties are changed, its bounding box is a "redraw region"
  • 59.
    Objects thatoverlap the redraw region are redrawnSee which areas of your movie are refreshed every frame. Test Movie. View > Show Redraw Regions
  • 60.
    Right-click >Show Redraw Regions (debug player only)Horizontal? Vertical? Both? Content should dictate orientation, but don’t forget about the keyboard.
  • 61.
    Consider adjusting contentbased on layout:stage.scaleMode = StageScaleMode.NO_SCALE;stage.align = StageAlign.TOP_LEFT;function setPosition():void{vidHolder.x = stageWidth/2 - vidHolder.width/2;vidHolder.y = stageHeight/2 - vidHolder.height/2; //If the layout is vertical if (stage.stageWidth < stage.stageHeight) { //Adjust graphics }}setPosition();stage.addEventListener(Event.RESIZE, resizeLayout);function resizeLayout(e:Event):void{setPosition();}800px800px480px480px
  • 62.
    Display Objects Usethe appropriate type of display object
  • 63.
    getSize(); will returnobject sizeObjects that aren’t interactive, use Shape();trace(getSize(new Shape()));// output: 216Interactive but no timeline? Use Sprite();trace(getSize(newSprite()));// output: 396Need animation? Use Movieclip();trace(getSize(newMovieClip()));// output: 416
  • 64.
    Bitmap CachingcacheAsBitmap -the object is rendered into an offscreen bitmapAutomatically used when: Object overlaps a redraw region and the object is unchanged (except position)Bitmap caching issues: Uses a lot of memory (width * height * 4 bytes)
  • 65.
    Objects withcached bitmaps are more expensive to changeDon’t use cacheAsBitmap when: Animating object’s size
  • 66.
    Animating positionof object’s childVideo performance problemsInappropriate video encodingInefficient video player
  • 67.
  • 68.
    The Flash Platformand HTML5“HTML 5 and RIA platforms will be complementary technologies, and enterprise development shops will need to invest in both approaches to deliver expressive applications that combine reach and richness.”*-ForresterAdobe does and will continue to support HTMLThe Flash Platform has integrated seamlessly with HTML for 14 years, and that won’t changeAIR 2.0 (desktop) includes support for HTML5Adobe is committed to supporting HTML5 in its leading Web development toolsThe Flash Platform delivers cross-platform, cross-browser, cross-device consistencyHTML5 implementations will differ and hinder content adoption of rich features, including video tag supportNo consistency in codec support for video is yet visibleAdobe offers best-in-class tool chain used by 3.5 million designers and developersHTML5 will require and benefit from Adobe’s investment in breadth of toolingRapid update cycles enable Flash innovations to reach ubiquity in less than 1 yearFlash will continue to lead in innovation, much faster than HTML and browsers*“Does HTML 5 Herald The End Of RIA Plug-Ins? Not Really,” Forrester Research, Inc., April, 2010All external content and images pending approvals.

Editor's Notes

  • #3 For many years now the Flash Platform has enabled the delivery and creation of Rich Internet Applications. These experiences span gaming, social, enterprise and video applications that millions of users engage with everyday. With the onset of widely available and stable network connections more and more applications are moving to the cloud. We’re talking about services that are agnostic of their delivery platform. Facebook can be considered a cloud service, but also an application platform. But this application, and service is presents different information on a mobile phone than on your desktop browser; the interface is contextual.Some of those contexts include mobile phones, consoles, laptops, desktop computers and even televisions. So successful applications of the future are those which can provide service to their users on any device, and this is where the Flash Platform is going.
  • #10 The Flash Platform has two simple areas of focus, web content and standalone applicationsFlash Player 10.1 is the runtime used for web browsingAdobe AIR enables you to create standalone applications, although it is based on Flash Player 10.1In this talk we will look primarily at Adobe AIR
  • #11 OSP partners to date are listed here – close to 70 industry leaders in the mobile, PC, and TV spaceSpan all key parts of the value chainChipset/silicon vendors World’s leading handset and device OEMsCarriersContent providersWe’ve added many new members to the OSP since MAX – continuing to see strong participation by technology partners. Now focus has recently shifted to seeing a lot more energy on the content partners, who are working with the developer beta of our runtimes to make sure their content works, and to provide improved experiences for those using devices on the Flash Platform.
  • #13 Flash Player 10.1 is the first consistent runtime release of the Open Screen Project that enables uncompromised Web browsing of expressive applications, content and video across devices. Flash Player 10.1 is now available for a broad range of mobile devices, including smartphones, netbooks and other Internet-connected devices, allowing your content to reach your customers wherever they are. Supported mobile device operating systems include: Palm webOS, Microsoft Windows Phone 7, Android, and Symbian. This release does also support Windows 7 and Mac OS X 10.6 (“Snow Leopard”) desktop operating systems. The consistent Flash Player browser-based runtime is the most productive way to deliver content to users across operating systems and devices. Runtime consistency reduces the cost of creating, testing and deploying content across different device, software, network and user contexts and helps improve business results.   Flash Player 10.1 has been engineered to take advantage of upcoming Adobe media servers and hosted services that will provide innovative new ways to deliver rich and premium media experiences and create new business models.
  • #16 New Mobile CapabilitiesMulti-touch and gesturesAccelerometerMobile OptimizationsReduced memory usage by 30-65%Battery life improved by 157%CPU utilizationDesigned For Smart Phones &amp; TablesNew Mobile CapabilitiesMobile OptimizationsRich MediaContent ProtectionHTTP StreamingPeer Assisted NetworkingQoS EnhancementsMicrophone APIsPerformanceRendering, Scripting &amp; Memory OptimizationsHardware Audio/Video DecodingHardware rendering for Mobile
  • #17 Delivering the new runtime for mobile phones requires a set of new features and investments.We have completed a huge amount of engineering to increase performance and use less memory on devices.As well as that, the new runtime supports features that are common on these new mobile platforms.We have added multi-touch support, Accelerometer, and new APIs for globalization, error handling and text input
  • #19 One of the most important changes to our strategy is the delivery mechanism.Typically mobile phones ship with software from the factory, and typically this software is not updated during the lifetime of the device.Flash drives innovation on the web, and to bring this to mobile phones we require that the player can be updated seamlessly So using the device application stores, and Adobe.com we will distribute and upgrade the Flash Player over-the-air This process will begin in the next few months, starting with Android devices
  • #23 Deeper Desktop IntegrationAccess new networking capabilities not available in the browser including encrypted sockets (TLS), UDP and server sockets Build applications that execute &amp; communicate with native processes Detect and access mass storage devices including USB Flash drivesDevelop entirely new desktop experiences using multi-touch and gesture support Record and store audio locally without the need for a server Faster, Better, Stronger Print capabilities allow developers new levels of control over quality and printer settings Applications built with AIR 1.5 use less memory and CPU when running under AIR 2 without requiring app recompilation Develop Flash-based applications that work with supported screen readers including JAWS Updated WebKit supports JavaScript profiling, a faster JavaScript engine and new CSS3 features Extend AIR Beyond the PCBuild multi-screen applications that target the iPhone, iPad and Android with very little code change. Export and upload mobile apps as native packages to marketplacesDESKTOP INTEGRATION Native procesesOpen documentDrive detectionBuild native installersFile promises NETWORKING TLS/SSL socketsListen on a socket UDP support Network interface propertiesDNS resolution
  • #24 Adobe AIR is another runtime in the Flash Platform that has been extended to mobile platformsIn fact this year we intend to bring AIR to Android devices, and enable you to repackage these applications for the iPhoneWith Adobe AIR you can take advantage of more platform specific features, such as Geolocation and File access and distribute these applications through applications storesUltimately being able to monetize your applications is very important, and we believe that having the choice of browser or standalone distribution is hugely beneficial
  • #25 Delivering the new runtime for mobile phones requires a set of new features and investments.We have completed a huge amount of engineering to increase performance and use less memory on devices.As well as that, the new runtime supports features that are common on these new mobile platforms.We have added multi-touch support, Accelerometer, and new APIs for globalization, error handling and text input
  • #26 Get the Android SDK: http://developer.android.com/sdkAllows you to create and install apps on your device (Android SDK Manager, ADB, DDMS etc.)
  • #27 Text engineCode snippets panelSpring for bonesBuilder integration (after FB)
  • #28 Today AIR enables developers and designers to create applications for Windows/Mac and Linux computersTo install applications we can use the .AIR package format for applications that can run across all platformsWith AIR 2.0 it’s also possible to use native code, and so we have enabled AIR applications to be packaged in .exe or .dmg files. Mobile devices will also use their native package formats, like apk for AndroidFor the most part these will require no extra effort for you, they merely ensure that you can distribute your applications in AppStores today.
  • #44 Adobe does and will continue to support HTMLThe Flash Platform has integrated seamlessly with HTML for 14 years, and that won’t changeAIR 2.0 (desktop) includes support for HTML5Adobe is committed to supporting HTML5 in its leading Web development toolsThe Flash Platform delivers cross-platform, cross-browser, cross-device consistencyHTML5 implementations will differ and hinder content adoption of rich features, including video tag supportNo consistency in codec support for video is yet visibleAdobe offers best-in-class tool chain used by 3.5 million designers and developersHTML5 will require and benefit from Adobe’s investment in breadth of toolingRapid update cycles enable Flash innovations to reach ubiquity in less than 1 yearFlash will continue to lead in innovation, much faster than HTML and browsersHTML5 implementations are likely to exhibit some inconsistenciesBrowser implementations have long varied, creating challenges for developersNew implementations are just as likely to varyStandardization and evolution to consistency will take yearsFlash Player delivers cross-platform, cross-browser, cross-device consistencyNo consistency in codec support for video yet visibleMajor browser vendors are unable to agree on common codecsThese disagreements resulted in a video tag spec that will not include a codec requirement