SlideShare uma empresa Scribd logo
1 de 47
Best Practices For Webcam AR
Blake Callens




                                      The Importance of Practicality
                                                  Using the Flex SDK
                                    Speeding Up Data Structure Use
                Integration with Preexisting CMS and HTTP Services
                                          Integrating Motion Capture
                           Flash AR Engine Porting and Development
About Me
                                                         Blake Callens
                                         Sr. Software Engineer, Zugara
                                                        @blakecallens




Sr. Developer on:
WSS, Fashionista, ZugMo, ZugSTAR, ZBR (in development)
Creator of ARtisan - Flex FLARToolkit and Papervision3D Manager
The Importance of Practicality
The Importance of Practicality



• Nobody reuses a gimmick
The Importance of Practicality



• Nobody reuses a gimmick
• Over-saturation of services
The Importance of Practicality



• Nobody reuses a gimmick
• Over-saturation of services
• Stagnation of the industry
The Importance of Practicality



• Nobody reuses a gimmick
• Over-saturation of services
• Stagnation of the industry
• Sustainable business models
The Importance of Practicality



• Nobody reuses a gimmick
• Over-saturation of services
• Stagnation of the industry
• Sustainable business models
• Emergence of the NUI
Using the Flex SDK

                                                                   MXML Components
AS3
var loader:Loader = new Loader();
loader.load(new URLRequest(”http://yoursite.com/image.png”));
loader.x = 10;
loader.y = 10;
loader.addEventListener(MouseEvent.CLICK, onClick);
addChild(loader);




                                                                                              Flex
 <mx:Image id=”image” source=”http://yoursite.com/image.png” x=”10” y=”10” click=”onClick(event)”/>
Using the Flex SDK

                                        “Programmer’s Flash”
Flash IDE
              Flex SDK
                         • Standard application components
                         • CSS Integration
                         • Command line compilation
                         • Full Adobe support
                         • 100% free to use
Using the Flex SDK

                                                                                                                                                             Brevity of Code
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:artisan="com.onezerothrice.artisan.* "xmlns:local="*" backgroundColor="#000000" preloader="Preloader" width="640" height="480"
layout="absolute" clipContent="false" applicationComplete="init();">
	     <mx:Script>
	     	     <![CDATA[
	     	     	     import com.onezerothrice.artisan.calculations.ReturnType;
	     	     	     import com.onezerothrice.artisan.events.ARtisanSettingsEvent;
	     	     	
	     	     	     private function init():void
	     	     	     {
	     	     	     	     artisan.addEventListener(ARtisanSettingsEvent.AR_PARAMETERS_LOADED, onARParametersLoaded);
	     	     	     }

	    	     	     private function onARParametersLoaded(event:ARtisanSettingsEvent):void
	    	     	     {
	    	     	     	     sceneHolder.init(event.extraInfo);
	    	     	     }

	     	     	      private function onARtisanOutput(result:Array):void
	     	     	      {
	     	     	      	     sceneHolder.updateObjectPositions(result);
	     	     	      }	    	
	     	     ]]>
	     </mx:Script>
	     <artisan:ARtisan id="artisan" outputFunction="{onARtisanOutput}" returnType="{ReturnType.XYZ}" smoothing="true" scaleX="-1" x="{width}"/>
	     <local:SceneHolder id="sceneHolder" scaleX="-1" x="{width}"/>
</mx:Application>
                                                                                                                                                        Flex FLAR examples at:
                                                                                                                                                        code.google.com/p/artisanmanager
Speeding Up Data Structure Use
aka (speed tweaks)
Speeding Up Data Structure Use
aka (speed tweaks)

     •   Use as few event listeners as possible
Speeding Up Data Structure Use
aka (speed tweaks)

     •   Use as few event listeners as possible

     •   Pass related variables through custom events
Speeding Up Data Structure Use
aka (speed tweaks)

     •   Use as few event listeners as possible

     •   Pass related variables through custom events

     •   Use subscriber functions whenever possible
Speeding Up Data Structure Use
aka (speed tweaks)

     •   Use as few event listeners as possible

     •   Pass related variables through custom events

     •   Use subscriber functions whenever possible

     •   Arrays should only be used for holding multiple object types
Speeding Up Data Structure Use
aka (speed tweaks)

     •   Use as few event listeners as possible

     •   Pass related variables through custom events

     •   Use subscriber functions whenever possible

     •   Arrays should only be used for holding multiple object types

     •   Initialize arrays as: array:Array = [];
Speeding Up Data Structure Use
aka (speed tweaks)

     •   Use as few event listeners as possible

     •   Pass related variables through custom events

     •   Use subscriber functions whenever possible

     •   Arrays should only be used for holding multiple object types

     •   Initialize arrays as: array:Array = [];

     •   Use state constants to switch between dynamic layouts
Speeding Up Data Structure Use
aka (speed tweaks)

     •   Use as few event listeners as possible

     •   Pass related variables through custom events

     •   Use subscriber functions whenever possible

     •   Arrays should only be used for holding multiple object types

     •   Initialize arrays as: array:Array = [];

     •   Use state constants to switch between dynamic layouts

     •   Manually use System.gc();
Integration with Existing
CMS and HTTP Services
Integration with Existing
                      CMS and HTTP Services

•   Pass relative and absolute URLs through FlashVars
Integration with Existing
                      CMS and HTTP Services

•   Pass relative and absolute URLs through FlashVars

•   Create a custom class(es) to handle all communications
Integration with Existing
                      CMS and HTTP Services

•   Pass relative and absolute URLs through FlashVars

•   Create a custom class(es) to handle all communications

•   Flex HTTPService class
Integration with Existing
                       CMS and HTTP Services

•   Pass relative and absolute URLs through FlashVars

•   Create a custom class(es) to handle all communications

•   Flex HTTPService class

•   Parse all data before sending it to the main application
Integration with Existing
                       CMS and HTTP Services

•   Pass relative and absolute URLs through FlashVars

•   Create a custom class(es) to handle all communications

•   Flex HTTPService class

•   Parse all data before sending it to the main application

•   Utilize SWC library creation whenever possible
Integration with Existing
                       CMS and HTTP Services

•   Pass relative and absolute URLs through FlashVars

•   Create a custom class(es) to handle all communications

•   Flex HTTPService class

•   Parse all data before sending it to the main application

•   Utilize SWC library creation whenever possible

•   Maintain embeddability whenever possible
Integrating Motion Capture
Integrating Motion Capture




              •   Technically AR
Integrating Motion Capture




              •   Technically AR

              •   Moving the user away from the keyboard
Integrating Motion Capture




              •   Technically AR

              •   Moving the user away from the keyboard

              •   Potentially processor intensive
Integrating Motion Capture




              •   Technically AR

              •   Moving the user away from the keyboard

              •   Potentially processor intensive

              •   Pushes applications towards NUI
Integrating Motion Capture
Integrating Motion Capture




• Working in 2D
Integrating Motion Capture




• Working in 2D
• Make room for the user
Integrating Motion Capture




• Working in 2D
• Make room for the user
• Keep everything in Reach
Integrating Motion Capture




• Working in 2D
• Make room for the user
• Keep everything in Reach
• Easy to understand controls
Integrating Motion Capture




• Working in 2D
• Make room for the user
• Keep everything in Reach
• Easy to understand controls
• Motion speed calculation
Flash AR Engine
Porting and Development
Flash AR Engine
            Porting and Development

•   Take advantage of ActionScript features
Flash AR Engine
            Porting and Development

•   Take advantage of ActionScript features
    •Descriptive variable names
Flash AR Engine
            Porting and Development

•   Take advantage of ActionScript features
    •Descriptive variable names
    •Fast drawing functionality
Flash AR Engine
            Porting and Development

•   Take advantage of ActionScript features
    •Descriptive variable names
    •Fast drawing functionality
    •BitmapData manipulation
Flash AR Engine
            Porting and Development

•   Take advantage of ActionScript features
    •Descriptive variable names
    •Fast drawing functionality
    •BitmapData manipulation
    •Extensive third party libraries
Flash AR Engine
            Porting and Development

•   Take advantage of ActionScript features
    •Descriptive variable names
    •Fast drawing functionality
    •BitmapData manipulation
    •Extensive third party libraries

•   Think outside of the box
Flash AR Engine
            Porting and Development

•   Take advantage of ActionScript features
    •Descriptive variable names
    •Fast drawing functionality
    •BitmapData manipulation
    •Extensive third party libraries

•   Think outside of the box

•   Know when to stay vigilant and when to move on
Flash AR Engine
            Porting and Development

•   Take advantage of ActionScript features
    •Descriptive variable names
    •Fast drawing functionality
    •BitmapData manipulation
    •Extensive third party libraries

•   Think outside of the box

•   Know when to stay vigilant and when to move on

•   Think about how other developers will interact with your engine
Questions?

Mais conteúdo relacionado

Mais procurados

Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...Amazon Web Services
 
Distributed Serverless Stack Tracing and Monitoring
Distributed Serverless Stack Tracing and MonitoringDistributed Serverless Stack Tracing and Monitoring
Distributed Serverless Stack Tracing and MonitoringAmazon Web Services
 
AWS Power Tools: Advanced AWS CloudFormation and CLI
AWS Power Tools: Advanced AWS CloudFormation and CLIAWS Power Tools: Advanced AWS CloudFormation and CLI
AWS Power Tools: Advanced AWS CloudFormation and CLIAmazon Web Services
 
(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture Patterns(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture PatternsAmazon Web Services
 
Serverless presentation
Serverless presentationServerless presentation
Serverless presentationjasonsich
 
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resourcesJavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resourcesCorley S.r.l.
 
Serverless Frameworks on AWS
Serverless Frameworks on AWSServerless Frameworks on AWS
Serverless Frameworks on AWSJulien SIMON
 
Building CI-CD Pipelines for Serverless Applications
Building CI-CD Pipelines for Serverless ApplicationsBuilding CI-CD Pipelines for Serverless Applications
Building CI-CD Pipelines for Serverless ApplicationsAmazon Web Services
 
Migrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless PlatformMigrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless PlatformAmazon Web Services
 
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
 Automating your Infrastructure Deployment with CloudFormation and OpsWorks –... Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...Amazon Web Services
 
Raleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applicationsRaleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applicationsAmazon Web Services
 
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Amazon Web Services
 
Serverless Application Development with SAM
Serverless Application Development with SAMServerless Application Development with SAM
Serverless Application Development with SAMAmazon Web Services
 
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Amazon Web Services
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Julien SIMON
 
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...Amazon Web Services
 
Authoring and Deploying Serverless Applications with AWS SAM
Authoring and Deploying Serverless Applications with AWS SAMAuthoring and Deploying Serverless Applications with AWS SAM
Authoring and Deploying Serverless Applications with AWS SAMAmazon Web Services
 
Raleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsAmazon Web Services
 
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...Serverless Microservices - Real life story of a Web App that uses AngularJS, ...
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...Mitoc Group
 

Mais procurados (20)

Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...Productionize Serverless Application Building and Deployments with AWS SAM - ...
Productionize Serverless Application Building and Deployments with AWS SAM - ...
 
Distributed Serverless Stack Tracing and Monitoring
Distributed Serverless Stack Tracing and MonitoringDistributed Serverless Stack Tracing and Monitoring
Distributed Serverless Stack Tracing and Monitoring
 
AWS Power Tools: Advanced AWS CloudFormation and CLI
AWS Power Tools: Advanced AWS CloudFormation and CLIAWS Power Tools: Advanced AWS CloudFormation and CLI
AWS Power Tools: Advanced AWS CloudFormation and CLI
 
(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture Patterns(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture Patterns
 
Serverless presentation
Serverless presentationServerless presentation
Serverless presentation
 
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resourcesJavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
 
Serverless Frameworks on AWS
Serverless Frameworks on AWSServerless Frameworks on AWS
Serverless Frameworks on AWS
 
Building CI-CD Pipelines for Serverless Applications
Building CI-CD Pipelines for Serverless ApplicationsBuilding CI-CD Pipelines for Serverless Applications
Building CI-CD Pipelines for Serverless Applications
 
Migrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless PlatformMigrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless Platform
 
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
 Automating your Infrastructure Deployment with CloudFormation and OpsWorks –... Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
 
Raleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applicationsRaleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applications
 
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
 
Serverless architecture
Serverless architectureServerless architecture
Serverless architecture
 
Serverless Application Development with SAM
Serverless Application Development with SAMServerless Application Development with SAM
Serverless Application Development with SAM
 
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
Getting Started with Serverless Architectures with Microservices_AWSPSSummit_...
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)
 
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
 
Authoring and Deploying Serverless Applications with AWS SAM
Authoring and Deploying Serverless Applications with AWS SAMAuthoring and Deploying Serverless Applications with AWS SAM
Authoring and Deploying Serverless Applications with AWS SAM
 
Raleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applications
 
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...Serverless Microservices - Real life story of a Web App that uses AngularJS, ...
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...
 

Destaque

Augmented Reality: From Marketing Buzzword to Better Consumer Experience
Augmented Reality: From Marketing Buzzword to Better Consumer ExperienceAugmented Reality: From Marketing Buzzword to Better Consumer Experience
Augmented Reality: From Marketing Buzzword to Better Consumer ExperienceZugara
 
Commoditization to Automation: WTF Do We Do?
Commoditization to Automation: WTF Do We Do?Commoditization to Automation: WTF Do We Do?
Commoditization to Automation: WTF Do We Do?Zugara
 
Netexplorateur - The Future of Communication + Augmented Reality 8 hours ago
Netexplorateur - The Future of Communication + Augmented Reality 8 hours ago Netexplorateur - The Future of Communication + Augmented Reality 8 hours ago
Netexplorateur - The Future of Communication + Augmented Reality 8 hours ago Zugara
 
Augmented Reality: From Marketing Buzzword to a Better Consumer Experience
Augmented Reality: From Marketing Buzzword to a Better Consumer ExperienceAugmented Reality: From Marketing Buzzword to a Better Consumer Experience
Augmented Reality: From Marketing Buzzword to a Better Consumer ExperienceZugara
 
Augmented Reality: From Marketing Buzzword To A Better Consumer Experience
Augmented Reality: From Marketing Buzzword To A Better Consumer ExperienceAugmented Reality: From Marketing Buzzword To A Better Consumer Experience
Augmented Reality: From Marketing Buzzword To A Better Consumer ExperienceZugara
 
IHAF- Blurring the Lines with Augmented Reality
IHAF- Blurring the Lines with Augmented RealityIHAF- Blurring the Lines with Augmented Reality
IHAF- Blurring the Lines with Augmented RealityZugara
 
Augmented Reality Data: The Webcam Social Shopper
Augmented Reality Data: The Webcam Social ShopperAugmented Reality Data: The Webcam Social Shopper
Augmented Reality Data: The Webcam Social ShopperZugara
 
Building Business Models Around E-Commerce and Augmented Reality
Building Business Models Around E-Commerce and Augmented RealityBuilding Business Models Around E-Commerce and Augmented Reality
Building Business Models Around E-Commerce and Augmented RealityZugara
 

Destaque (8)

Augmented Reality: From Marketing Buzzword to Better Consumer Experience
Augmented Reality: From Marketing Buzzword to Better Consumer ExperienceAugmented Reality: From Marketing Buzzword to Better Consumer Experience
Augmented Reality: From Marketing Buzzword to Better Consumer Experience
 
Commoditization to Automation: WTF Do We Do?
Commoditization to Automation: WTF Do We Do?Commoditization to Automation: WTF Do We Do?
Commoditization to Automation: WTF Do We Do?
 
Netexplorateur - The Future of Communication + Augmented Reality 8 hours ago
Netexplorateur - The Future of Communication + Augmented Reality 8 hours ago Netexplorateur - The Future of Communication + Augmented Reality 8 hours ago
Netexplorateur - The Future of Communication + Augmented Reality 8 hours ago
 
Augmented Reality: From Marketing Buzzword to a Better Consumer Experience
Augmented Reality: From Marketing Buzzword to a Better Consumer ExperienceAugmented Reality: From Marketing Buzzword to a Better Consumer Experience
Augmented Reality: From Marketing Buzzword to a Better Consumer Experience
 
Augmented Reality: From Marketing Buzzword To A Better Consumer Experience
Augmented Reality: From Marketing Buzzword To A Better Consumer ExperienceAugmented Reality: From Marketing Buzzword To A Better Consumer Experience
Augmented Reality: From Marketing Buzzword To A Better Consumer Experience
 
IHAF- Blurring the Lines with Augmented Reality
IHAF- Blurring the Lines with Augmented RealityIHAF- Blurring the Lines with Augmented Reality
IHAF- Blurring the Lines with Augmented Reality
 
Augmented Reality Data: The Webcam Social Shopper
Augmented Reality Data: The Webcam Social ShopperAugmented Reality Data: The Webcam Social Shopper
Augmented Reality Data: The Webcam Social Shopper
 
Building Business Models Around E-Commerce and Augmented Reality
Building Business Models Around E-Commerce and Augmented RealityBuilding Business Models Around E-Commerce and Augmented Reality
Building Business Models Around E-Commerce and Augmented Reality
 

Semelhante a Best Practices for Webcam Augmented Reality

Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAmazon Web Services
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixIBM
 
Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAmazon Web Services
 
Flex In Portal Final
Flex In Portal   FinalFlex In Portal   Final
Flex In Portal FinalSunil Patil
 
Presentation wpf
Presentation wpfPresentation wpf
Presentation wpfdanishrafiq
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web AppsTimothy Fisher
 
AWS as platform for scalable applications
AWS as platform for scalable applicationsAWS as platform for scalable applications
AWS as platform for scalable applicationsRoman Gomolko
 
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWSAWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWSAmazon Web Services
 
Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011Timothy Fisher
 
Alfresco Development Framework Basic
Alfresco Development Framework BasicAlfresco Development Framework Basic
Alfresco Development Framework BasicMario Romano
 
AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)Amazon Web Services
 
Unconference Round Table Notes
Unconference Round Table NotesUnconference Round Table Notes
Unconference Round Table NotesTimothy Spann
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)Amazon Web Services
 
Distributed Traceability in AWS - Life of a Transaction
Distributed Traceability in AWS - Life of a TransactionDistributed Traceability in AWS - Life of a Transaction
Distributed Traceability in AWS - Life of a TransactionAmazon Web Services
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Vinay Kumar
 
Flex 4.5 jeyasekar
Flex 4.5  jeyasekarFlex 4.5  jeyasekar
Flex 4.5 jeyasekarjeya soft
 

Semelhante a Best Practices for Webcam Augmented Reality (20)

Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step Functions
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
 
Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step Functions
 
Flex In Portal Final
Flex In Portal   FinalFlex In Portal   Final
Flex In Portal Final
 
Presentation wpf
Presentation wpfPresentation wpf
Presentation wpf
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web Apps
 
AWS as platform for scalable applications
AWS as platform for scalable applicationsAWS as platform for scalable applications
AWS as platform for scalable applications
 
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWSAWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
 
Building SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.jsBuilding SPA’s (Single Page App) with Backbone.js
Building SPA’s (Single Page App) with Backbone.js
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011
 
Alfresco Development Framework Basic
Alfresco Development Framework BasicAlfresco Development Framework Basic
Alfresco Development Framework Basic
 
AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)
 
Unconference Round Table Notes
Unconference Round Table NotesUnconference Round Table Notes
Unconference Round Table Notes
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
Distributed Traceability in AWS - Life of a Transaction
Distributed Traceability in AWS - Life of a TransactionDistributed Traceability in AWS - Life of a Transaction
Distributed Traceability in AWS - Life of a Transaction
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
 
SynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax DevelopmentSynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax Development
 
Flex 4.5 jeyasekar
Flex 4.5  jeyasekarFlex 4.5  jeyasekar
Flex 4.5 jeyasekar
 
Aerobatic Introduction
Aerobatic IntroductionAerobatic Introduction
Aerobatic Introduction
 

Mais de Zugara

Angel.co
Angel.coAngel.co
Angel.coZugara
 
Changing The Future: Emerging Technologies That Will Blow Customers Away
Changing The Future: Emerging Technologies That Will Blow Customers AwayChanging The Future: Emerging Technologies That Will Blow Customers Away
Changing The Future: Emerging Technologies That Will Blow Customers AwayZugara
 
Augmented Reality and Fashion
Augmented Reality and FashionAugmented Reality and Fashion
Augmented Reality and FashionZugara
 
Augmented Reality Statistics 2009
Augmented Reality Statistics 2009Augmented Reality Statistics 2009
Augmented Reality Statistics 2009Zugara
 
Zugara SIME 2009 Stockholm Presentation - Augmented Reality
Zugara SIME 2009 Stockholm Presentation - Augmented RealityZugara SIME 2009 Stockholm Presentation - Augmented Reality
Zugara SIME 2009 Stockholm Presentation - Augmented RealityZugara
 
IAB Poland - Zugara Augmented Reality Presentation
IAB Poland - Zugara Augmented Reality PresentationIAB Poland - Zugara Augmented Reality Presentation
IAB Poland - Zugara Augmented Reality PresentationZugara
 

Mais de Zugara (6)

Angel.co
Angel.coAngel.co
Angel.co
 
Changing The Future: Emerging Technologies That Will Blow Customers Away
Changing The Future: Emerging Technologies That Will Blow Customers AwayChanging The Future: Emerging Technologies That Will Blow Customers Away
Changing The Future: Emerging Technologies That Will Blow Customers Away
 
Augmented Reality and Fashion
Augmented Reality and FashionAugmented Reality and Fashion
Augmented Reality and Fashion
 
Augmented Reality Statistics 2009
Augmented Reality Statistics 2009Augmented Reality Statistics 2009
Augmented Reality Statistics 2009
 
Zugara SIME 2009 Stockholm Presentation - Augmented Reality
Zugara SIME 2009 Stockholm Presentation - Augmented RealityZugara SIME 2009 Stockholm Presentation - Augmented Reality
Zugara SIME 2009 Stockholm Presentation - Augmented Reality
 
IAB Poland - Zugara Augmented Reality Presentation
IAB Poland - Zugara Augmented Reality PresentationIAB Poland - Zugara Augmented Reality Presentation
IAB Poland - Zugara Augmented Reality Presentation
 

Último

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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...apidays
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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 2024The Digital Insurer
 
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...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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.pdfUK Journal
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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?Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Último (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Best Practices for Webcam Augmented Reality

  • 1. Best Practices For Webcam AR Blake Callens The Importance of Practicality Using the Flex SDK Speeding Up Data Structure Use Integration with Preexisting CMS and HTTP Services Integrating Motion Capture Flash AR Engine Porting and Development
  • 2. About Me Blake Callens Sr. Software Engineer, Zugara @blakecallens Sr. Developer on: WSS, Fashionista, ZugMo, ZugSTAR, ZBR (in development) Creator of ARtisan - Flex FLARToolkit and Papervision3D Manager
  • 3. The Importance of Practicality
  • 4. The Importance of Practicality • Nobody reuses a gimmick
  • 5. The Importance of Practicality • Nobody reuses a gimmick • Over-saturation of services
  • 6. The Importance of Practicality • Nobody reuses a gimmick • Over-saturation of services • Stagnation of the industry
  • 7. The Importance of Practicality • Nobody reuses a gimmick • Over-saturation of services • Stagnation of the industry • Sustainable business models
  • 8. The Importance of Practicality • Nobody reuses a gimmick • Over-saturation of services • Stagnation of the industry • Sustainable business models • Emergence of the NUI
  • 9. Using the Flex SDK MXML Components AS3 var loader:Loader = new Loader(); loader.load(new URLRequest(”http://yoursite.com/image.png”)); loader.x = 10; loader.y = 10; loader.addEventListener(MouseEvent.CLICK, onClick); addChild(loader); Flex <mx:Image id=”image” source=”http://yoursite.com/image.png” x=”10” y=”10” click=”onClick(event)”/>
  • 10. Using the Flex SDK “Programmer’s Flash” Flash IDE Flex SDK • Standard application components • CSS Integration • Command line compilation • Full Adobe support • 100% free to use
  • 11. Using the Flex SDK Brevity of Code <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:artisan="com.onezerothrice.artisan.* "xmlns:local="*" backgroundColor="#000000" preloader="Preloader" width="640" height="480" layout="absolute" clipContent="false" applicationComplete="init();"> <mx:Script> <![CDATA[ import com.onezerothrice.artisan.calculations.ReturnType; import com.onezerothrice.artisan.events.ARtisanSettingsEvent; private function init():void { artisan.addEventListener(ARtisanSettingsEvent.AR_PARAMETERS_LOADED, onARParametersLoaded); } private function onARParametersLoaded(event:ARtisanSettingsEvent):void { sceneHolder.init(event.extraInfo); } private function onARtisanOutput(result:Array):void { sceneHolder.updateObjectPositions(result); } ]]> </mx:Script> <artisan:ARtisan id="artisan" outputFunction="{onARtisanOutput}" returnType="{ReturnType.XYZ}" smoothing="true" scaleX="-1" x="{width}"/> <local:SceneHolder id="sceneHolder" scaleX="-1" x="{width}"/> </mx:Application> Flex FLAR examples at: code.google.com/p/artisanmanager
  • 12. Speeding Up Data Structure Use aka (speed tweaks)
  • 13. Speeding Up Data Structure Use aka (speed tweaks) • Use as few event listeners as possible
  • 14. Speeding Up Data Structure Use aka (speed tweaks) • Use as few event listeners as possible • Pass related variables through custom events
  • 15. Speeding Up Data Structure Use aka (speed tweaks) • Use as few event listeners as possible • Pass related variables through custom events • Use subscriber functions whenever possible
  • 16. Speeding Up Data Structure Use aka (speed tweaks) • Use as few event listeners as possible • Pass related variables through custom events • Use subscriber functions whenever possible • Arrays should only be used for holding multiple object types
  • 17. Speeding Up Data Structure Use aka (speed tweaks) • Use as few event listeners as possible • Pass related variables through custom events • Use subscriber functions whenever possible • Arrays should only be used for holding multiple object types • Initialize arrays as: array:Array = [];
  • 18. Speeding Up Data Structure Use aka (speed tweaks) • Use as few event listeners as possible • Pass related variables through custom events • Use subscriber functions whenever possible • Arrays should only be used for holding multiple object types • Initialize arrays as: array:Array = []; • Use state constants to switch between dynamic layouts
  • 19. Speeding Up Data Structure Use aka (speed tweaks) • Use as few event listeners as possible • Pass related variables through custom events • Use subscriber functions whenever possible • Arrays should only be used for holding multiple object types • Initialize arrays as: array:Array = []; • Use state constants to switch between dynamic layouts • Manually use System.gc();
  • 20. Integration with Existing CMS and HTTP Services
  • 21. Integration with Existing CMS and HTTP Services • Pass relative and absolute URLs through FlashVars
  • 22. Integration with Existing CMS and HTTP Services • Pass relative and absolute URLs through FlashVars • Create a custom class(es) to handle all communications
  • 23. Integration with Existing CMS and HTTP Services • Pass relative and absolute URLs through FlashVars • Create a custom class(es) to handle all communications • Flex HTTPService class
  • 24. Integration with Existing CMS and HTTP Services • Pass relative and absolute URLs through FlashVars • Create a custom class(es) to handle all communications • Flex HTTPService class • Parse all data before sending it to the main application
  • 25. Integration with Existing CMS and HTTP Services • Pass relative and absolute URLs through FlashVars • Create a custom class(es) to handle all communications • Flex HTTPService class • Parse all data before sending it to the main application • Utilize SWC library creation whenever possible
  • 26. Integration with Existing CMS and HTTP Services • Pass relative and absolute URLs through FlashVars • Create a custom class(es) to handle all communications • Flex HTTPService class • Parse all data before sending it to the main application • Utilize SWC library creation whenever possible • Maintain embeddability whenever possible
  • 28. Integrating Motion Capture • Technically AR
  • 29. Integrating Motion Capture • Technically AR • Moving the user away from the keyboard
  • 30. Integrating Motion Capture • Technically AR • Moving the user away from the keyboard • Potentially processor intensive
  • 31. Integrating Motion Capture • Technically AR • Moving the user away from the keyboard • Potentially processor intensive • Pushes applications towards NUI
  • 34. Integrating Motion Capture • Working in 2D • Make room for the user
  • 35. Integrating Motion Capture • Working in 2D • Make room for the user • Keep everything in Reach
  • 36. Integrating Motion Capture • Working in 2D • Make room for the user • Keep everything in Reach • Easy to understand controls
  • 37. Integrating Motion Capture • Working in 2D • Make room for the user • Keep everything in Reach • Easy to understand controls • Motion speed calculation
  • 38. Flash AR Engine Porting and Development
  • 39. Flash AR Engine Porting and Development • Take advantage of ActionScript features
  • 40. Flash AR Engine Porting and Development • Take advantage of ActionScript features •Descriptive variable names
  • 41. Flash AR Engine Porting and Development • Take advantage of ActionScript features •Descriptive variable names •Fast drawing functionality
  • 42. Flash AR Engine Porting and Development • Take advantage of ActionScript features •Descriptive variable names •Fast drawing functionality •BitmapData manipulation
  • 43. Flash AR Engine Porting and Development • Take advantage of ActionScript features •Descriptive variable names •Fast drawing functionality •BitmapData manipulation •Extensive third party libraries
  • 44. Flash AR Engine Porting and Development • Take advantage of ActionScript features •Descriptive variable names •Fast drawing functionality •BitmapData manipulation •Extensive third party libraries • Think outside of the box
  • 45. Flash AR Engine Porting and Development • Take advantage of ActionScript features •Descriptive variable names •Fast drawing functionality •BitmapData manipulation •Extensive third party libraries • Think outside of the box • Know when to stay vigilant and when to move on
  • 46. Flash AR Engine Porting and Development • Take advantage of ActionScript features •Descriptive variable names •Fast drawing functionality •BitmapData manipulation •Extensive third party libraries • Think outside of the box • Know when to stay vigilant and when to move on • Think about how other developers will interact with your engine

Notas do Editor