SlideShare a Scribd company logo
1 of 51
The Flash Platform For Multiple Screens Paul Trani  [email_address]   www.paultrani.com   @paultrani
Digital Explosion Across Multiple Screens Consumer Electronics Personal Computers Mobile Phones
Flash Player on most smartphones shipping in 2012, >250M cumulative ,[object Object],Millions of Smartphones 9% 35% 53%
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design Considerations
Design considerations for Touch UI Design for immediate access Keep gestures smart and simple Leverage clear mental models Design for real hand sizes Touch feedback is key www.idlemode.com
Context
Screens
44px ≠ Finger
Copyright 2009 Adobe Systems Incorporated.  All rights reserved.  Adobe confidential. Usually, a finger comes with a hand
Native keyboard
Flash for Multiple Screens
Flash Platform Overview Applications, Content and Video MULTISCREEN CONTENT AND APPLICATIONS CLIENT RUNTIMES SERVERS & SERVICES TOOLS Adobe® Flash® Media Server Family Adobe® BlazeDS Adobe® LiveCycle® Data Services Adobe® Flash® Player Adobe® AIR® Adobe® Flash® Professional CS5 Adobe® Flash® Catalyst™ Adobe® Flash® Builder™ Adobe® Creative Suite 5
Flash Player 10.1
Flash Player 10.1 Designed For New Platforms Enhanced Rich Media Support Greater Performance
Flash Player 10.1 ,[object Object],[object Object],[object Object],[object Object]
Open Screen Project Technology Partners Content Partners
Designed for New Platforms ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Accelerometer import flash.sensors.Accelerometer; import flash.events.AccelerometerEvent; Accelerometer.isSupported; var accel:Accelerometer =  new Accelerometer(); accel.addEventListener( AccelerometerEvent.UPDATE , update); function update(e:AccelerometerEvent):void { e.accelerationX; e.accelerationY; e.accelerationZ; }
Gestures cell.addEventListener( TransformGestureEvent.GESTURE_ZOOM , onZoom); function onZoom(e:TransformGestureEvent):void { cell.scaleX *=  e.scaleX; cell.scaleY = cell.scaleX; } cell.addEventListener( TransformGestureEvent.GESTURE_ROTATE , onRotate); function onRotate(e:TransformGestureEvent):void { cell.rotation +=  e.rotation; }
Geolocation var geo:  Geolocation ; if ( Geolocation.isSupported )  {             geo = new Geolocation();             geo.addEventListener( GeolocationEvent.UPDATE , updateHandler);             geo.setRequestedUpdateInterval(10000); } else  {             log.text = "Geolocation feature not supported";  }
Hardware Keys stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown, false, 0, true); function onKeyDown(event:KeyboardEvent):void  { //Back Key   if (event.keyCode == 94)   {       event.preventDefault(); // to kill event from running default behavior        //do your own back stuff   } //Menu Key    if (event.keyCode == 95)   {       event.preventDefault(); // to kill event from running default behavior        //do your own back stuff   } }
Greater Performance ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Memory usage reduction (often by 50% of more)
Media Support ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],* FMS server  + Desktop only
AIR on Mobile
Adobe AIR for smartphones (and tablets) © 2010 Adobe Systems Incorporated.  All Rights Reserved.  Adobe Confidential. ,[object Object],[object Object],[object Object],[object Object],[object Object]
AIR Packaging & Distribution Workflow .ipa .air  (swf, jpg, mp3) .air .apk .exe .dmg
Flash Professional CS5
What’s New In Flash Pro CS5 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],*Not ideal for mobile
Flash for Android
Creating an Android App: Setup ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Flash CS5 AIR for Android Extension Create, install and launch an .apk using Flash Professional CS5 .apk
Optimization
Graphics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Reuse objects!
Text ,[object Object],[object Object],[object Object],[object Object],Lorem Ipsum dolor…
Redraw Regions Text ,[object Object],[object Object],[object Object],[object Object],[object Object]
Graphical optimizations
It’s all about Timing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Horizontal?  Vertical?  Both?  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],800px 480px 800px 480px
Display Objects Objects that aren’t interactive, use Shape(); trace(getSize(new  Shape ())); // output: 216 Interactive but no timeline? Use Sprite(); trace(getSize(new  Sprite ())); // output: 396 Need animation?  Use Movieclip(); trace(getSize(new  MovieClip ())); // output: 416 ,[object Object],[object Object]
Freeing MovieClips Text Alpha? RemoveChild? Visible? Even when removed from the display list, the movie clip still dispatches the Event.ENTER_FRAME event.  runningBoy.addEventListener( Event.REMOVED_FROM_STAGE ,deactivate); function deactivate(e:Event):void { e.currentTarget. removeEventListener (Event.ENTER_FRAME,handleMovement); e.currentTarget.stop(); }
Bitmap Caching ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Video
Video performance problems ,[object Object],[object Object]
Video encoding format Preferred Alternate Video codec H.264  Constrained Baseline Profile, up to 30 fps On2 VP6 Simple Profile or Sorensen Spark, up to 30 fps Audio codec AAC-LC, 44.1 kHz, stereo MP3, 44.1 kHz, stereo Wi-Fi 3G EDGE/1x-RTT Combined bit rate (audio and video) 500 kbps (350 kbps for On2 VP6 and Sorensen Spark) 350 kbps 100 kbps Max resolution 480 x 320 320 x 240 Max audio bit rate 160 kbps (128 kbps for On2 VP6 and Sorensen Spark)   64 kbps 32 kbps
Video Player Don’ts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Flex on Mobile?
Flex on Mobile? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resources
Resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Building GPU-Accelerated Mobile Application Interfaces with Starling and Feat...
Building GPU-Accelerated Mobile Application Interfaces with Starling and Feat...Building GPU-Accelerated Mobile Application Interfaces with Starling and Feat...
Building GPU-Accelerated Mobile Application Interfaces with Starling and Feat...
Joseph Labrecque
 
Vsx5 getting started_guide_en
Vsx5 getting started_guide_enVsx5 getting started_guide_en
Vsx5 getting started_guide_en
Geraldo Camargo
 

What's hot (9)

Using Adobe Gaming Tools for Education
Using Adobe Gaming Tools for EducationUsing Adobe Gaming Tools for Education
Using Adobe Gaming Tools for Education
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
 
Building GPU-Accelerated Mobile Application Interfaces with Starling and Feat...
Building GPU-Accelerated Mobile Application Interfaces with Starling and Feat...Building GPU-Accelerated Mobile Application Interfaces with Starling and Feat...
Building GPU-Accelerated Mobile Application Interfaces with Starling and Feat...
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
 
Next generation mobile gp us and rendering techniques - niklas smedberg
Next generation mobile gp us and rendering techniques - niklas smedbergNext generation mobile gp us and rendering techniques - niklas smedberg
Next generation mobile gp us and rendering techniques - niklas smedberg
 
Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2
 
Vsx5 getting started_guide_en
Vsx5 getting started_guide_enVsx5 getting started_guide_en
Vsx5 getting started_guide_en
 
Intro to Android Development by Philip Peng
Intro to Android Development by Philip PengIntro to Android Development by Philip Peng
Intro to Android Development by Philip Peng
 
Why PL for Sport
Why PL for SportWhy PL for Sport
Why PL for Sport
 

Viewers also liked

Searching For Creative & Media In The Local Area.
Searching For Creative & Media In The Local Area.Searching For Creative & Media In The Local Area.
Searching For Creative & Media In The Local Area.
Parnyan
 
Learning Style Audit - 3
Learning Style Audit - 3Learning Style Audit - 3
Learning Style Audit - 3
Parnyan
 
Review On Britain’s Got Bhangra
Review On Britain’s Got BhangraReview On Britain’s Got Bhangra
Review On Britain’s Got Bhangra
Parnyan
 
'Save The Gurkha’s' - Campaign
'Save The Gurkha’s' - Campaign'Save The Gurkha’s' - Campaign
'Save The Gurkha’s' - Campaign
Parnyan
 
Results From Quantitative Questionnaire
Results From Quantitative QuestionnaireResults From Quantitative Questionnaire
Results From Quantitative Questionnaire
Parnyan
 
Images of instrumnets
Images of instrumnetsImages of instrumnets
Images of instrumnets
Parnyan
 
Wednesday TicketS
Wednesday TicketSWednesday TicketS
Wednesday TicketS
Parnyan
 
Pembahasan ringkas tentang zina
Pembahasan ringkas tentang zinaPembahasan ringkas tentang zina
Pembahasan ringkas tentang zina
yanto abdulah
 

Viewers also liked (20)

Kisi kisi uas ipa kls viii, 2015 2016
Kisi kisi uas ipa kls viii, 2015 2016Kisi kisi uas ipa kls viii, 2015 2016
Kisi kisi uas ipa kls viii, 2015 2016
 
Perangkat Pembelajaran IPA kelas 8
Perangkat Pembelajaran IPA kelas 8Perangkat Pembelajaran IPA kelas 8
Perangkat Pembelajaran IPA kelas 8
 
Searching For Creative & Media In The Local Area.
Searching For Creative & Media In The Local Area.Searching For Creative & Media In The Local Area.
Searching For Creative & Media In The Local Area.
 
Paket 2 soal ipa biologi
Paket 2 soal  ipa   biologiPaket 2 soal  ipa   biologi
Paket 2 soal ipa biologi
 
Fisika paket 2
Fisika paket   2Fisika paket   2
Fisika paket 2
 
Finding Your Internship
Finding Your InternshipFinding Your Internship
Finding Your Internship
 
Learning Style Audit - 3
Learning Style Audit - 3Learning Style Audit - 3
Learning Style Audit - 3
 
Building RIA's from the Prespective of the Finger Tip
Building RIA's from the Prespective of the Finger TipBuilding RIA's from the Prespective of the Finger Tip
Building RIA's from the Prespective of the Finger Tip
 
Review On Britain’s Got Bhangra
Review On Britain’s Got BhangraReview On Britain’s Got Bhangra
Review On Britain’s Got Bhangra
 
Kisi kisi ipa vii, tp 2015-2016, k 2013
Kisi kisi ipa vii, tp 2015-2016, k 2013Kisi kisi ipa vii, tp 2015-2016, k 2013
Kisi kisi ipa vii, tp 2015-2016, k 2013
 
Un biologi
Un   biologiUn   biologi
Un biologi
 
'Save The Gurkha’s' - Campaign
'Save The Gurkha’s' - Campaign'Save The Gurkha’s' - Campaign
'Save The Gurkha’s' - Campaign
 
Results From Quantitative Questionnaire
Results From Quantitative QuestionnaireResults From Quantitative Questionnaire
Results From Quantitative Questionnaire
 
Images of instrumnets
Images of instrumnetsImages of instrumnets
Images of instrumnets
 
Wednesday TicketS
Wednesday TicketSWednesday TicketS
Wednesday TicketS
 
Mengenal Manhaj Salaf
Mengenal Manhaj SalafMengenal Manhaj Salaf
Mengenal Manhaj Salaf
 
Partikel materi baru
Partikel materi baruPartikel materi baru
Partikel materi baru
 
Fisika paket 1
Fisika paket   1Fisika paket   1
Fisika paket 1
 
Pembahasan ringkas tentang zina
Pembahasan ringkas tentang zinaPembahasan ringkas tentang zina
Pembahasan ringkas tentang zina
 
Ebook Shalat Sunnah Qabliyah Jum'at
Ebook Shalat Sunnah Qabliyah Jum'atEbook Shalat Sunnah Qabliyah Jum'at
Ebook Shalat Sunnah Qabliyah Jum'at
 

Similar to Flash for Mobile Devices

Flash platform fitc
Flash platform fitcFlash platform fitc
Flash platform fitc
Mark Doherty
 
Android Flash Development
Android Flash DevelopmentAndroid Flash Development
Android Flash Development
Stephen Chin
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
sagaroceanic11
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
sagaroceanic11
 

Similar to Flash for Mobile Devices (20)

Adobe AIR 2.5 Beta for Android
Adobe AIR 2.5 Beta for AndroidAdobe AIR 2.5 Beta for Android
Adobe AIR 2.5 Beta for Android
 
Getting Started with Adobe AIR 1.5
Getting Started with Adobe AIR 1.5Getting Started with Adobe AIR 1.5
Getting Started with Adobe AIR 1.5
 
AIR2.5 Hands On - Flash on the Beach 2010
AIR2.5 Hands On - Flash on the Beach 2010AIR2.5 Hands On - Flash on the Beach 2010
AIR2.5 Hands On - Flash on the Beach 2010
 
Flash platform fitc
Flash platform fitcFlash platform fitc
Flash platform fitc
 
Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5Developing AIR for Mobile with Flash Professional CS5.5
Developing AIR for Mobile with Flash Professional CS5.5
 
New Frontiers in Motion and Interactivity
New Frontiers in Motion and InteractivityNew Frontiers in Motion and Interactivity
New Frontiers in Motion and Interactivity
 
Silverlight in Internet Scenarios
Silverlight in Internet ScenariosSilverlight in Internet Scenarios
Silverlight in Internet Scenarios
 
Android Flash Development
Android Flash DevelopmentAndroid Flash Development
Android Flash Development
 
Adobe Max 2009 - Learnings
Adobe Max 2009 -  LearningsAdobe Max 2009 -  Learnings
Adobe Max 2009 - Learnings
 
Flash/AIRの最新情報及びARMとの協業
Flash/AIRの最新情報及びARMとの協業Flash/AIRの最新情報及びARMとの協業
Flash/AIRの最新情報及びARMとの協業
 
Developing for Xoom with Flash and AIR
Developing for Xoom with Flash and AIRDeveloping for Xoom with Flash and AIR
Developing for Xoom with Flash and AIR
 
Adobe AIR. NativeProcess. FFMPEG. Awesome.
Adobe AIR. NativeProcess. FFMPEG. Awesome.Adobe AIR. NativeProcess. FFMPEG. Awesome.
Adobe AIR. NativeProcess. FFMPEG. Awesome.
 
Developing AIR for Android with Flash Professional CS5
Developing AIR for Android with Flash Professional CS5Developing AIR for Android with Flash Professional CS5
Developing AIR for Android with Flash Professional CS5
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
Introduction to Flex Hero for Mobile Devices
Introduction to Flex Hero for Mobile DevicesIntroduction to Flex Hero for Mobile Devices
Introduction to Flex Hero for Mobile Devices
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
Flash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen DevelopmentFlash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen Development
 
Flash and Hardware
Flash and HardwareFlash and Hardware
Flash and Hardware
 
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
HMS Core Game Solution- create the immersive game world / Fei Tong (Huawei)
 

More from paultrani

CSS3 For Advanced Design
CSS3 For Advanced DesignCSS3 For Advanced Design
CSS3 For Advanced Design
paultrani
 

More from paultrani (15)

10 Easy-to-Implement Usability Findings
10 Easy-to-Implement Usability Findings10 Easy-to-Implement Usability Findings
10 Easy-to-Implement Usability Findings
 
5 Things Developers Need to Know About Design
5 Things Developers Need to Know About Design5 Things Developers Need to Know About Design
5 Things Developers Need to Know About Design
 
Creativity and Tools
Creativity and ToolsCreativity and Tools
Creativity and Tools
 
Things Every Designer Should Know About Creating for Devices
Things Every Designer Should Know About Creating for DevicesThings Every Designer Should Know About Creating for Devices
Things Every Designer Should Know About Creating for Devices
 
CSS3 and Advanced Design
CSS3 and Advanced DesignCSS3 and Advanced Design
CSS3 and Advanced Design
 
HTML5 Hotness
HTML5 HotnessHTML5 Hotness
HTML5 Hotness
 
Adobe, Flash and HTML5
Adobe, Flash and HTML5Adobe, Flash and HTML5
Adobe, Flash and HTML5
 
Flash and HTML5 Compared
Flash and HTML5 ComparedFlash and HTML5 Compared
Flash and HTML5 Compared
 
CSS3 For Advanced Design
CSS3 For Advanced DesignCSS3 For Advanced Design
CSS3 For Advanced Design
 
Tips and Tricks for Mobile Flash Development
Tips and Tricks for Mobile Flash DevelopmentTips and Tricks for Mobile Flash Development
Tips and Tricks for Mobile Flash Development
 
Designing for Mobile
Designing for MobileDesigning for Mobile
Designing for Mobile
 
Mobile Design that Doesn't Suck
Mobile Design that Doesn't SuckMobile Design that Doesn't Suck
Mobile Design that Doesn't Suck
 
Design Fundamentals for Developers
Design Fundamentals for DevelopersDesign Fundamentals for Developers
Design Fundamentals for Developers
 
Creating Mobile Content Using Flash
Creating Mobile Content Using FlashCreating Mobile Content Using Flash
Creating Mobile Content Using Flash
 
Creating Flash Content for Mobile Devices
Creating Flash Content for Mobile DevicesCreating Flash Content for Mobile Devices
Creating Flash Content for Mobile Devices
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Flash for Mobile Devices

  • 1. The Flash Platform For Multiple Screens Paul Trani [email_address] www.paultrani.com @paultrani
  • 2. Digital Explosion Across Multiple Screens Consumer Electronics Personal Computers Mobile Phones
  • 3.
  • 4.
  • 6. Design considerations for Touch UI Design for immediate access Keep gestures smart and simple Leverage clear mental models Design for real hand sizes Touch feedback is key www.idlemode.com
  • 10. Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. Usually, a finger comes with a hand
  • 13. Flash Platform Overview Applications, Content and Video MULTISCREEN CONTENT AND APPLICATIONS CLIENT RUNTIMES SERVERS & SERVICES TOOLS Adobe® Flash® Media Server Family Adobe® BlazeDS Adobe® LiveCycle® Data Services Adobe® Flash® Player Adobe® AIR® Adobe® Flash® Professional CS5 Adobe® Flash® Catalyst™ Adobe® Flash® Builder™ Adobe® Creative Suite 5
  • 15. Flash Player 10.1 Designed For New Platforms Enhanced Rich Media Support Greater Performance
  • 16.
  • 17. Open Screen Project Technology Partners Content Partners
  • 18.
  • 19. Accelerometer import flash.sensors.Accelerometer; import flash.events.AccelerometerEvent; Accelerometer.isSupported; var accel:Accelerometer = new Accelerometer(); accel.addEventListener( AccelerometerEvent.UPDATE , update); function update(e:AccelerometerEvent):void { e.accelerationX; e.accelerationY; e.accelerationZ; }
  • 20. Gestures cell.addEventListener( TransformGestureEvent.GESTURE_ZOOM , onZoom); function onZoom(e:TransformGestureEvent):void { cell.scaleX *= e.scaleX; cell.scaleY = cell.scaleX; } cell.addEventListener( TransformGestureEvent.GESTURE_ROTATE , onRotate); function onRotate(e:TransformGestureEvent):void { cell.rotation += e.rotation; }
  • 21. Geolocation var geo: Geolocation ; if ( Geolocation.isSupported ) {             geo = new Geolocation();             geo.addEventListener( GeolocationEvent.UPDATE , updateHandler);             geo.setRequestedUpdateInterval(10000); } else {             log.text = "Geolocation feature not supported"; }
  • 22. Hardware Keys stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown, false, 0, true); function onKeyDown(event:KeyboardEvent):void { //Back Key   if (event.keyCode == 94)   {       event.preventDefault(); // to kill event from running default behavior       //do your own back stuff   } //Menu Key   if (event.keyCode == 95)   {       event.preventDefault(); // to kill event from running default behavior       //do your own back stuff   } }
  • 23.
  • 24.
  • 26.
  • 27. AIR Packaging & Distribution Workflow .ipa .air (swf, jpg, mp3) .air .apk .exe .dmg
  • 29.
  • 31.
  • 32. Flash CS5 AIR for Android Extension Create, install and launch an .apk using Flash Professional CS5 .apk
  • 34.
  • 36.
  • 37.
  • 39.
  • 40.
  • 41.
  • 42. Freeing MovieClips Text Alpha? RemoveChild? Visible? Even when removed from the display list, the movie clip still dispatches the Event.ENTER_FRAME event. runningBoy.addEventListener( Event.REMOVED_FROM_STAGE ,deactivate); function deactivate(e:Event):void { e.currentTarget. removeEventListener (Event.ENTER_FRAME,handleMovement); e.currentTarget.stop(); }
  • 43.
  • 44. Video
  • 45.
  • 46. Video encoding format Preferred Alternate Video codec H.264 Constrained Baseline Profile, up to 30 fps On2 VP6 Simple Profile or Sorensen Spark, up to 30 fps Audio codec AAC-LC, 44.1 kHz, stereo MP3, 44.1 kHz, stereo Wi-Fi 3G EDGE/1x-RTT Combined bit rate (audio and video) 500 kbps (350 kbps for On2 VP6 and Sorensen Spark) 350 kbps 100 kbps Max resolution 480 x 320 320 x 240 Max audio bit rate 160 kbps (128 kbps for On2 VP6 and Sorensen Spark)   64 kbps 32 kbps
  • 47.
  • 49.
  • 51.

Editor's Notes

  1. The chart speaks for itself, today there are countless numbers of mobile phones and consumer electronics. As more and more of these devices become connected to the Internet, users of these devices are demanding access to their favourite services and applications online
  2. // Design for immediate access Touch screens allows users to jump from point A to point B with a single tap, influencing the ways we design interactions and screen layouts. Recognizing that the user can move much more quickly through the interface, it is essential to streamline the UI and make core navigation very clear. 2// Keep gestures smart and simple The touch experience is one of direct manipulation — something everyone has experience with. Our physical world is based on direct manipulation and users naturally bring that mindset to a touch experience. Therefore it’s important when implementing gestural controls to make them simple and intuitive. In other words, the foundation of the UI should respond exactly as a user would expect, making taps and flicks essential ingredients. Additional gestures, beyond flicks and taps can certainly be utilized, just recognize that additional gestures may not be naturally discoverable. Use a redundant button and make the gesture a shortcut to the same functionality. These additional gestures require explicit instruction so the user may take advantage. It’s important to distinguish between global, system-level gestures and local, app-level gestures. In many ways, it is the global gestures that are necessary to keep the UI intuitive and straightforward. Once inside an application context, you may educate users about unique gestures that add to the touch vocabulary while in the application, so long as the gestures do not negate or confuse the global gestures. 3//  Leverage clear mental models The touch experience is an intimate interaction with the content and UI space. There is an opportunity to transport the user into an interface world that is governed by common rules of physical motion like inertia, bounce and gravity that build and reinforce expectations when the user touches, flicks, or drags interface elements. Dimensionality and/or a sense of physicality may help offset the experience of interacting with the flat aspect of the screen, when feedback may be minimal. Transition animations used throughout the device experience help confirm that an action has taken place, and may give users a greater sense that they have gone “deeper” into an application context, or shifted over to a parallel task. When used, transitions should recede — they shouldn’t call dramatic attention to themselves. Simple and quick motions keep the user focused on the task at hand, rather than loud or long special effects that move them from point A to point B. There are no focus states or hover states to cue users in, so iconography and other touchable elements should stand out clearly from page content. The notable exception is T-Mobile’s G1, which uses a trackball and touch input. In this instance a hover state can be mistaken for an an active state as users flip between mental models going from trackball to touch input and back. Further, a hardware key used for Home, Back, or Menu may be an effective model to let the user feel they are leaving the current on-screen context to access another. 4// Design for real hand sizes Fingers come in all sizes so ensure that the interface is designed for real people. This has an impact on both the sizing of interface elements and the objects that surround them. For example, when designing for a QVGA resolution, 45-48 pixel hit targets are ideal for the average finger. Tolerances between buttons are driven by the size of the button and the likelihood of accidentally hitting an adjacent element. Generally speaking, the smaller the buttons, the bigger the gaps needed between buttons. Because of this principle, there is usually some tolerance flexibility on the edge of the screen, because the finger is only partially on screen and makes for an easier target. Many in-dash automobile navigation systems successfully use this method. Hit targets are directly proportional to the screen resolution. Therefore on-device testing becomes critical, to measure the actual size of the resulting interface. A common goal for touchable elements is 10 millimeters minimum, regardless of resolution. 5// Touch feedback is key User are mobile, and will often be using their mobile devices under compromised and distracted conditions. Without clear feedback, the user must focus more attentively at the task on screen, which may directly conflict with the real-world task they are simultaneously trying to achieve. All touch is not the same; technology plays a key role. The responsiveness of the UI, and whether the screen uses pressure or capacitive touch will influence the level of feedback needed in the interface. Visual, audible and/or tactile feedback will allow them to more attentively focus on what’s most important. The finger is a blunt instrument, often obscuring the target a user is touching. Creating a visual feedback system that takes this into account is essential, as visual feedback is the one critical type of feedback that is necessary in a touchable environment. Often, visual feedback that is still visible after the user has released their touch may be equally useful to guide a user through an interface. Audible feedback is often used as a secondary mechanism when visual feedback might not be noticed. However one must proceed with caution when adding audible feedback to mobile devices, because these are often turned off by the user. When creating audible cues, specific ranges of sounds are recommended to cut through the din of the user’s natural environment. Haptic feedback can offset the difficulty some users face in transitioning from a key-based device to a flat touchscreen. The haptic response can give the user an illusion that a key has been pressed by utilizing a small vibration under the user’s finger. While vibration technology can account for a spectrum of tactile experiences that are available to the UI designer, one must also recognize that the user may opt to turn off this feedback to conserve battery life.
  3. Why is mobile different? Usage patterns are different: indoors and outdoors, on the go and stationary, interruptions and multi-tasking, Wide range of environment: dark, light, quiet, crowded Apps can be context/location aware...
  4. 44px is a good guideline for the size of hit targets A tap finger is not a click Double click to edit something Make sure to react on tap (highlight, etc…)
  5. Setup your layout so that important elements are not obscured by the finger or the hand.
  6. Think how the keyboard will interact with your UI elements: text field, buttons. Position them so they don’t get covered, or adjust your layout when the keyboard is activated The keyboard will hide part of the screen when sliding
  7. New generations of tools, framework, client and servers enable designers and developers to push the limits of what is possible on the web. Runtimes – consistent, enable authoring once without rewriting many times. Flash Player, AIR across computers and devices
  8. Target mobile operating systems: Android Microsoft Windows Phone 7 Palm webOS Symbian S60 V5 * **. This release also supports Windows 7 and Mac OS X 10.6 (“Snow Leopard”) desktop operating systems.
  9. Target mobile operating systems: Android Microsoft Windows Phone 7 Palm webOS Symbian S60 V5 * **. This release also supports Windows 7 and Mac OS X 10.6 (“Snow Leopard”) desktop operating systems.
  10. OSP partners to date are listed here – close to 70 industry leaders in the mobile, PC, and TV space Span all key parts of the value chain Chipset/silicon vendors World’s leading handset and device OEMs Carriers Content providers We’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.
  11. Mobile text input A virtual keyboard is automatically raised and lowered in response to focus changes on text fields when editing text on mobile devices supporting a virtual keyboard to enable unobstructed and intuitive text editing. The focused text field is centered in the visible region of the page and appropriately zoomed/scrolled to ensure it is not obscured by the virtual keyboard. Upon screen rotation, incoming calls, or other system events, any already existing text input is retained. The virtual keyboard works with TextField but does not currently work with the Text Layout Framework or other Flash Text Engine text. Multi-touch and gestures Create multi-touch aware content for a wide range of devices and multi-touch capable machines running Microsoft Windows 7. Interact with multiple objects simultaneously or work with native gestures, such as pinch, scroll, rotate, scale and two-finger tap. Multi-touch support in Flash Player 10.1 is not available for Android. Accelerometer input A new Accelerometer class allows developers to read acceleration values in X, Y and Z axes from native device accelerometer sensors in ActionScript. Optimized SWF management for mobile (Mobile only) Flash Player 10.1 optimizes SWF loading and playback for mobile CPU and memory limitations to provide a better user experience. Instances are loaded or deferred based on SWF priority, visibility and available memory and CPU resources to enable more immediate browsing experiences without waiting for every SWF on a page to load. Developers can indicate SWF priority through a new HTML parameter, hasPriority. Deferred instances are loaded after the HTML page load is complete, and offscreen and invisible instances are started when they become visible. Flash Player will also automatically pause SWF playback it is not in view or the foreground application, for example when a call is received or alarm goes off, to reduce CPU utilization, battery usage and memory usage. Sleep mode (Mobile only) The Flash Player timer slows down when the mobile device goes into screen-saver or similar mode to reduce CPU and battery consumption on mobile devices. The timer returns to the default setting when a wake-up event is triggered. There is no interruption in audio/video playback. Incoming phone calls pause Flash Player. Graphics hardware acceleration (Mobile only) A GPU-based vector renderer replaces the software renderer on smartphones and other mobile devices, resulting in faster rendering performance for more expressive user experiences while consuming less power. Supports hardware acceleration of all rendering, including vector graphics, bitmaps, 3D effects, filters, color transforms, alpha, device and embedded text, Saffron type, and cacheAsBitmap. Implementation of graphics hardware acceleration will be dependent on the graphics silicon vendor of the device. This feature is not available for Android devices. H.264 video hardware decoding Flash Player 10.1 introduces hardware-based H.264 video decoding to deliver smooth, high quality video with minimal overhead across supported mobile devices and PCs. Using available hardware to decode video offloads tasks from the CPU, improving video playback performance, reducing system resource utilization, and preserving battery life. H.264 video hardware acceleration is not supported on the Nexus One at this time.
  12. Mobile text input A virtual keyboard is automatically raised and lowered in response to focus changes on text fields when editing text on mobile devices supporting a virtual keyboard to enable unobstructed and intuitive text editing. The focused text field is centered in the visible region of the page and appropriately zoomed/scrolled to ensure it is not obscured by the virtual keyboard. Upon screen rotation, incoming calls, or other system events, any already existing text input is retained. The virtual keyboard works with TextField but does not currently work with the Text Layout Framework or other Flash Text Engine text. Multi-touch and gestures Create multi-touch aware content for a wide range of devices and multi-touch capable machines running Microsoft Windows 7. Interact with multiple objects simultaneously or work with native gestures, such as pinch, scroll, rotate, scale and two-finger tap. Multi-touch support in Flash Player 10.1 is not available for Android. Accelerometer input A new Accelerometer class allows developers to read acceleration values in X, Y and Z axes from native device accelerometer sensors in ActionScript. Optimized SWF management for mobile (Mobile only) Flash Player 10.1 optimizes SWF loading and playback for mobile CPU and memory limitations to provide a better user experience. Instances are loaded or deferred based on SWF priority, visibility and available memory and CPU resources to enable more immediate browsing experiences without waiting for every SWF on a page to load. Developers can indicate SWF priority through a new HTML parameter, hasPriority. Deferred instances are loaded after the HTML page load is complete, and offscreen and invisible instances are started when they become visible. Flash Player will also automatically pause SWF playback it is not in view or the foreground application, for example when a call is received or alarm goes off, to reduce CPU utilization, battery usage and memory usage. Sleep mode (Mobile only) The Flash Player timer slows down when the mobile device goes into screen-saver or similar mode to reduce CPU and battery consumption on mobile devices. The timer returns to the default setting when a wake-up event is triggered. There is no interruption in audio/video playback. Incoming phone calls pause Flash Player. Graphics hardware acceleration (Mobile only) A GPU-based vector renderer replaces the software renderer on smartphones and other mobile devices, resulting in faster rendering performance for more expressive user experiences while consuming less power. Supports hardware acceleration of all rendering, including vector graphics, bitmaps, 3D effects, filters, color transforms, alpha, device and embedded text, Saffron type, and cacheAsBitmap. Implementation of graphics hardware acceleration will be dependent on the graphics silicon vendor of the device. This feature is not available for Android devices. H.264 video hardware decoding Flash Player 10.1 introduces hardware-based H.264 video decoding to deliver smooth, high quality video with minimal overhead across supported mobile devices and PCs. Using available hardware to decode video offloads tasks from the CPU, improving video playback performance, reducing system resource utilization, and preserving battery life. H.264 video hardware acceleration is not supported on the Nexus One at this time.
  13. Mobile text input A virtual keyboard is automatically raised and lowered in response to focus changes on text fields when editing text on mobile devices supporting a virtual keyboard to enable unobstructed and intuitive text editing. The focused text field is centered in the visible region of the page and appropriately zoomed/scrolled to ensure it is not obscured by the virtual keyboard. Upon screen rotation, incoming calls, or other system events, any already existing text input is retained. The virtual keyboard works with TextField but does not currently work with the Text Layout Framework or other Flash Text Engine text. Multi-touch and gestures Create multi-touch aware content for a wide range of devices and multi-touch capable machines running Microsoft Windows 7. Interact with multiple objects simultaneously or work with native gestures, such as pinch, scroll, rotate, scale and two-finger tap. Multi-touch support in Flash Player 10.1 is not available for Android. Accelerometer input A new Accelerometer class allows developers to read acceleration values in X, Y and Z axes from native device accelerometer sensors in ActionScript. Optimized SWF management for mobile (Mobile only) Flash Player 10.1 optimizes SWF loading and playback for mobile CPU and memory limitations to provide a better user experience. Instances are loaded or deferred based on SWF priority, visibility and available memory and CPU resources to enable more immediate browsing experiences without waiting for every SWF on a page to load. Developers can indicate SWF priority through a new HTML parameter, hasPriority. Deferred instances are loaded after the HTML page load is complete, and offscreen and invisible instances are started when they become visible. Flash Player will also automatically pause SWF playback it is not in view or the foreground application, for example when a call is received or alarm goes off, to reduce CPU utilization, battery usage and memory usage. Sleep mode (Mobile only) The Flash Player timer slows down when the mobile device goes into screen-saver or similar mode to reduce CPU and battery consumption on mobile devices. The timer returns to the default setting when a wake-up event is triggered. There is no interruption in audio/video playback. Incoming phone calls pause Flash Player. Graphics hardware acceleration (Mobile only) A GPU-based vector renderer replaces the software renderer on smartphones and other mobile devices, resulting in faster rendering performance for more expressive user experiences while consuming less power. Supports hardware acceleration of all rendering, including vector graphics, bitmaps, 3D effects, filters, color transforms, alpha, device and embedded text, Saffron type, and cacheAsBitmap. Implementation of graphics hardware acceleration will be dependent on the graphics silicon vendor of the device. This feature is not available for Android devices. H.264 video hardware decoding Flash Player 10.1 introduces hardware-based H.264 video decoding to deliver smooth, high quality video with minimal overhead across supported mobile devices and PCs. Using available hardware to decode video offloads tasks from the CPU, improving video playback performance, reducing system resource utilization, and preserving battery life. H.264 video hardware acceleration is not supported on the Nexus One at this time.
  14. Mobile text input A virtual keyboard is automatically raised and lowered in response to focus changes on text fields when editing text on mobile devices supporting a virtual keyboard to enable unobstructed and intuitive text editing. The focused text field is centered in the visible region of the page and appropriately zoomed/scrolled to ensure it is not obscured by the virtual keyboard. Upon screen rotation, incoming calls, or other system events, any already existing text input is retained. The virtual keyboard works with TextField but does not currently work with the Text Layout Framework or other Flash Text Engine text. Multi-touch and gestures Create multi-touch aware content for a wide range of devices and multi-touch capable machines running Microsoft Windows 7. Interact with multiple objects simultaneously or work with native gestures, such as pinch, scroll, rotate, scale and two-finger tap. Multi-touch support in Flash Player 10.1 is not available for Android. Accelerometer input A new Accelerometer class allows developers to read acceleration values in X, Y and Z axes from native device accelerometer sensors in ActionScript. Optimized SWF management for mobile (Mobile only) Flash Player 10.1 optimizes SWF loading and playback for mobile CPU and memory limitations to provide a better user experience. Instances are loaded or deferred based on SWF priority, visibility and available memory and CPU resources to enable more immediate browsing experiences without waiting for every SWF on a page to load. Developers can indicate SWF priority through a new HTML parameter, hasPriority. Deferred instances are loaded after the HTML page load is complete, and offscreen and invisible instances are started when they become visible. Flash Player will also automatically pause SWF playback it is not in view or the foreground application, for example when a call is received or alarm goes off, to reduce CPU utilization, battery usage and memory usage. Sleep mode (Mobile only) The Flash Player timer slows down when the mobile device goes into screen-saver or similar mode to reduce CPU and battery consumption on mobile devices. The timer returns to the default setting when a wake-up event is triggered. There is no interruption in audio/video playback. Incoming phone calls pause Flash Player. Graphics hardware acceleration (Mobile only) A GPU-based vector renderer replaces the software renderer on smartphones and other mobile devices, resulting in faster rendering performance for more expressive user experiences while consuming less power. Supports hardware acceleration of all rendering, including vector graphics, bitmaps, 3D effects, filters, color transforms, alpha, device and embedded text, Saffron type, and cacheAsBitmap. Implementation of graphics hardware acceleration will be dependent on the graphics silicon vendor of the device. This feature is not available for Android devices. H.264 video hardware decoding Flash Player 10.1 introduces hardware-based H.264 video decoding to deliver smooth, high quality video with minimal overhead across supported mobile devices and PCs. Using available hardware to decode video offloads tasks from the CPU, improving video playback performance, reducing system resource utilization, and preserving battery life. H.264 video hardware acceleration is not supported on the Nexus One at this time.
  15. Mobile text input A virtual keyboard is automatically raised and lowered in response to focus changes on text fields when editing text on mobile devices supporting a virtual keyboard to enable unobstructed and intuitive text editing. The focused text field is centered in the visible region of the page and appropriately zoomed/scrolled to ensure it is not obscured by the virtual keyboard. Upon screen rotation, incoming calls, or other system events, any already existing text input is retained. The virtual keyboard works with TextField but does not currently work with the Text Layout Framework or other Flash Text Engine text. Multi-touch and gestures Create multi-touch aware content for a wide range of devices and multi-touch capable machines running Microsoft Windows 7. Interact with multiple objects simultaneously or work with native gestures, such as pinch, scroll, rotate, scale and two-finger tap. Multi-touch support in Flash Player 10.1 is not available for Android. Accelerometer input A new Accelerometer class allows developers to read acceleration values in X, Y and Z axes from native device accelerometer sensors in ActionScript. Optimized SWF management for mobile (Mobile only) Flash Player 10.1 optimizes SWF loading and playback for mobile CPU and memory limitations to provide a better user experience. Instances are loaded or deferred based on SWF priority, visibility and available memory and CPU resources to enable more immediate browsing experiences without waiting for every SWF on a page to load. Developers can indicate SWF priority through a new HTML parameter, hasPriority. Deferred instances are loaded after the HTML page load is complete, and offscreen and invisible instances are started when they become visible. Flash Player will also automatically pause SWF playback it is not in view or the foreground application, for example when a call is received or alarm goes off, to reduce CPU utilization, battery usage and memory usage. Sleep mode (Mobile only) The Flash Player timer slows down when the mobile device goes into screen-saver or similar mode to reduce CPU and battery consumption on mobile devices. The timer returns to the default setting when a wake-up event is triggered. There is no interruption in audio/video playback. Incoming phone calls pause Flash Player. Graphics hardware acceleration (Mobile only) A GPU-based vector renderer replaces the software renderer on smartphones and other mobile devices, resulting in faster rendering performance for more expressive user experiences while consuming less power. Supports hardware acceleration of all rendering, including vector graphics, bitmaps, 3D effects, filters, color transforms, alpha, device and embedded text, Saffron type, and cacheAsBitmap. Implementation of graphics hardware acceleration will be dependent on the graphics silicon vendor of the device. This feature is not available for Android devices. H.264 video hardware decoding Flash Player 10.1 introduces hardware-based H.264 video decoding to deliver smooth, high quality video with minimal overhead across supported mobile devices and PCs. Using available hardware to decode video offloads tasks from the CPU, improving video playback performance, reducing system resource utilization, and preserving battery life. H.264 video hardware acceleration is not supported on the Nexus One at this time.
  16. Flash Player 10.1 includes a number of media quality of service improvements and is ready to take advantage of upcoming media delivery technologies to provide new ways to deliver rich media experiences and create new business models. With new HTTP streaming and content protection features, premium audio and video content can be securely delivered within the browser. Streaming performance is enhanced with improved support for live events, buffer control and peer assisted networking. Network context-aware services, like adaptive frame rate, will enable smooth, uninterrupted media playback and improved resource utilization on mobile devices. Content protection (Desktop only; output protection Windows only; requires Adobe Flash Access 2.0 SDK expected to be available the first half of 2010) Media protected using the upcoming Adobe Flash Access 2.0 SDK can be played back securely in Flash Player 10.1 to support a wide range of business models, including video-on-demand, rental, and electronic sell-through, for streaming as well as download. Using industry-standard cryptography, Adobe Flash Access 2.0 and Flash Player 10.1 provides a robust environment to protect content so it remains safe from tampering or capture throughout its lifecycle. Flash Player 10.1 supports output protection on Windows, enabling content providers to specify requirements for protection of analog and digital outputs, providing additional safeguards against unauthorized recording. Note: Encrypted content cannot be hardware accelerated in this release of Flash Player. Peer-assisted networking (requires Stratus ) The RTMFP protocol now supports groups, which enables an application to segment its users to send messages and data only between members of the group. Application level multicast provides one (or a few) -to-many streaming of continuous live video and audio live video chat using RTMFP groups. HTTP streaming (expected in the first half of 2010) HTTP streaming enables delivery of video-on-demand and live streaming using standard HTTP servers, or from HTTP servers at CDNs, leveraging standard HTTP infrastructure and SWF-level playback components. The addition of HTTP streaming will enable expanded protocol options to deliver live and recorded media to Flash Player, including full content protection for HTTP streamed video with Flash Access 2.0. Stream reconnect (Requires FMS 3.5.3 server) Stream reconnect allows an RTMP stream to continue to play through the buffer even if the connection is disrupted, thereby making media experiences more tolerant of short term network failures and enabling non-disruptive video playback. When a connection is re-established the stream resumes playback. Developers can add re-connection logic in ActionScript to re-establish server connection and resume streaming without any disruption in the video. Smart seek (Requires FMS 3.5.3 server) Smart seek allows you to seek within the buffer and introduces a new "back" buffer so you can easily rewind or fast forward video without going back to the server, reducing the start time after a seek. Smart seek can speed and improve the seeking performance of streamed videos and enable the creation of slow motion, double time, or “instant replay” experiences for streaming video. Buffered stream catch-up Buffered stream catch-up allows developers to set a target latency threshold that triggers slightly accelerated video playback to ensure that live video streaming stays in sync with real time over extended playback periods. Fast Switch (formerly Dynamic Streaming enhancements) (Requires FMS 4 server) The Dynamic Streaming capability introduced in Flash Player 10 and FMS 3.5 is enhanced to improve switching times between bitrates, reducing the time to receive the best viewing experience for available bandwidth and processing speed. Users no longer need to wait for the buffer to play through, resulting in a faster bitrate transition time and an uninterrupted video playback experience, regardless of bandwidth fluctuations. Microphone Access (Desktop only) Access binary data of the live and continuous waveform coming from the microphone to create new types of audio applications, such as audio recording for transcoding, karaoke, vocoder voice manipulation, sonographic analysis, pitch detection, and more. Dynamic frame rate (Desktop only) Automatically manage and throttle frame rates and CPU usage for background content to improve performance when multitasking.
  17. Text engine Code snippets panel Spring for bones Builder integration (after FB)
  18. Get the Android SDK: http://developer.android.com/sdk Allows you to create and install apps on your device (Android SDK Manager, ADB, DDMS etc.)
  19. Text engine Code snippets panel Spring for bones Builder integration (after FB)
  20. If the project displays a great deal of individual graphical elements that will never animate, consider replacing them with a pre-rendered bitmap graphic—using a static image to create the desired texture. When a filter is applied to a display object, Flash Player creates two bitmaps in memory. These bitmaps are each the size of the display object. When modifying one of the properties of a filter, both bitmaps are updated in memory to create the resulting bitmap. This process involves some CPU processing and the two bitmaps can use a significant amount of memory. Keep bitmaps as small as possible. Bitmaps that are downsampled at runtime because they are drawn at a smaller size than their native resolution are a waste of speed, memory, and bandwidth. Do not use DisplayObject.cacheAsBitmap on content that changes often, as this practice also causes increased overhead.
  21. Another simple way to optimize memory is to reuse objects and avoid recreating them whenever possible.
  22. Even when removed from the display list, the movie clip still dispatches the Event.ENTER_FRAME event. The movieclip still runs, but it is not rendered. To handle this situation correctly, listen to the proper events and remove eventlisteners, to prevent CPU-intensive code from being executed:
  23. One key to understanding how to improve application performance is to understand how the Flash Platform runtime executes code. The runtime operates in a loop with certain actions occurring each “frame.” A frame in this case is simply a block of time determined by the frame rate specified for the application. Avoid high-rate ActionScript timers; also avoid using many different timers in the same project. Keep SWF frame rate as low as possible. If necessary, set the frame rate of the Stage dynamically as needed. Flash Player 10.1 RC: limitation à 60 FPS.
  24. One key to understanding how to improve application performance is to understand how the Flash Platform runtime executes code. The runtime operates in a loop with certain actions occurring each “frame.” A frame in this case is simply a block of time determined by the frame rate specified for the application. Avoid high-rate ActionScript timers; also avoid using many different timers in the same project. Keep SWF frame rate as low as possible. If necessary, set the frame rate of the Stage dynamically as needed. Flash Player 10.1 RC: limitation à 60 FPS.
  25. FB profiler uses getSize(). Since FP 10. ActionScript 3.0 includes a large set of display objects. One of the most simple optimization tips to limit memory usage is to use the appropriate type of display object. For simple shapes that are not interactive, use Shape objects. For interactive objects that don’t need a timeline, use Sprite objects. For animation that uses a timeline, use MovieClip objects. Always choose the most efficient type of object for your application. All primitive types except String use 4 – 8 bytes in memory. There is no way to optimize memory by using a specific type for a primitive:
  26. Even when removed from the display list, the movie clip still dispatches the Event.ENTER_FRAME event. The movieclip still runs, but it is not rendered. To handle this situation correctly, listen to the proper events and remove eventlisteners, to prevent CPU-intensive code from being executed:
  27. If the project displays a great deal of individual graphical elements that will never animate, consider replacing them with a pre-rendered bitmap graphic—using a static image to create the desired texture. When a filter is applied to a display object, Flash Player creates two bitmaps in memory. These bitmaps are each the size of the display object. When modifying one of the properties of a filter, both bitmaps are updated in memory to create the resulting bitmap. This process involves some CPU processing and the two bitmaps can use a significant amount of memory. Keep bitmaps as small as possible. Bitmaps that are downsampled at runtime because they are drawn at a smaller size than their native resolution are a waste of speed, memory, and bandwidth. Do not use DisplayObject.cacheAsBitmap on content that changes often, as this practice also causes increased overhead.