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

Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 

Recently uploaded (20)

Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 

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