SlideShare a Scribd company logo
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?

More Related Content

What's hot

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 Monitoring
Amazon 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 CLI
Amazon 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 Patterns
Amazon Web Services
 
Serverless presentation
Serverless presentationServerless presentation
Serverless presentation
jasonsich
 
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
Corley S.r.l.
 
Serverless Frameworks on AWS
Serverless Frameworks on AWSServerless Frameworks on AWS
Serverless Frameworks on AWS
Julien 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 Applications
Amazon 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 Platform
Amazon 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 applications
Amazon 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 2017
Amazon Web Services
 
Serverless architecture
Serverless architectureServerless architecture
Serverless architecture
Amazon Web Services
 
Serverless Application Development with SAM
Serverless Application Development with SAMServerless Application Development with SAM
Serverless Application Development with SAM
Amazon 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 SAM
Amazon 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 applications
Amazon 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
 

What's hot (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, ...
 

Viewers also liked

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
Zugara
 
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 Experience
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 Experience
Zugara
 
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
Zugara
 
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
Zugara
 
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
Zugara
 

Viewers also liked (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
 

Similar to 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 Functions
Amazon 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 Bluemix
IBM
 
Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step Functions
Amazon Web Services
 
Flex In Portal Final
Flex In Portal   FinalFlex In Portal   Final
Flex In Portal Final
Sunil Patil
 
Presentation wpf
Presentation wpfPresentation wpf
Presentation wpf
danishrafiq
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web Apps
Timothy Fisher
 
AWS as platform for scalable applications
AWS as platform for scalable applicationsAWS as platform for scalable applications
AWS as platform for scalable applications
Roman 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 AWS
Amazon Web Services
 
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
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
Dennis van der Stelt
 
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
Timothy Fisher
 
Alfresco Development Framework Basic
Alfresco Development Framework BasicAlfresco Development Framework Basic
Alfresco Development Framework Basic
Mario 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 Notes
Timothy 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 Transaction
Amazon 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 sangam17
Vinay Kumar
 
SynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax DevelopmentSynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax Development
Synapseindiappsdevelopment
 
Flex 4.5 jeyasekar
Flex 4.5  jeyasekarFlex 4.5  jeyasekar
Flex 4.5 jeyasekar
jeya soft
 
Aerobatic Introduction
Aerobatic IntroductionAerobatic Introduction
Aerobatic Introduction
David Von Lehman
 

Similar to 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
 

More from Zugara

Angel.co
Angel.coAngel.co
Angel.co
Zugara
 
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
Zugara
 
Augmented Reality and Fashion
Augmented Reality and FashionAugmented Reality and Fashion
Augmented Reality and Fashion
Zugara
 
Augmented Reality Statistics 2009
Augmented Reality Statistics 2009Augmented Reality Statistics 2009
Augmented Reality Statistics 2009
Zugara
 
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
Zugara
 
IAB Poland - Zugara Augmented Reality Presentation
IAB Poland - Zugara Augmented Reality PresentationIAB Poland - Zugara Augmented Reality Presentation
IAB Poland - Zugara Augmented Reality Presentation
Zugara
 

More from 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
 

Recently uploaded

(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
Priyanka Aash
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
Brian Pichman
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
David Wilson
 
Sonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdfSonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdf
SubhamMandal40
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Nicolás Lopéz
 
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
Priyanka Aash
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
Safe Software
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
ldtexsolbl
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
Ivanti
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
Matthias Neugebauer
 
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
alexjohnson7307
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Torry Harris
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
ankush9927
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
AmandaCheung15
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
Zilliz
 
Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17
Bhajan Mehta
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 

Recently uploaded (20)

(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
 
Sonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdfSonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdf
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
 
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
 
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
 
Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10Computer HARDWARE presenattion by CWD students class 10
Computer HARDWARE presenattion by CWD students class 10
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
 
Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 

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

Editor's Notes