SlideShare a Scribd company logo
VR API Evolution, Generic
Interfaces and Factoring
Ryan A. Pavlik, PhD
Sensics, Inc.
July-2015
First Level
● Vendor-specific API/SDK
● Everything from one vendor, through one
SDK
● Using more than what the vendor provides
requires mix+match: complexity put on the
app developer
Next Level: Some Genericity
● Commonly invented or re-invented
● Sometimes modeled on a specific
implementation (vs. fully generic)
● Input devices numbered
● Convention (implied or explicit) on the
meaning of those indices
Genericity and Factoring
● Concieve of the most generic form of a kind
of device
● Devices often factor into multiple interfaces
○ Like a multifunction printer: One device is
simultaneously a printer, a scanner, a fax machine…
● Try to keep device-specific aspects out of
the generic interface.
Factoring Decisions
● Careful balance:
○ overly-generic (“series of bits!”)
○ too specific - if each device is its own generic
interface, it’s no longer generic
● Guidance in judgement
○ What applications want this data, and what would it
be interested in?
○ Would an application using an existing interface
want to use this data that way too?
Back to SDKs: Configuration/Aliases
● Configuration often the most painful part of
VR
○ But, for industrial systems, only done a few times in
the life of the system, so it didn’t get a lot of attention
● Among others, the need to map/remap input
devices
○ New device with different buttons
○ So, you assign names to the numbers
Aliases
● Existing practice -> New convention -> new
practice
● So you get aliases like “Button0” or
“YellowButton”
● Effect is that application developers take on
complexity in internally mapping input at
another level
The next step - as found in OSVR
● Aliases with no depth limit
● First level goes from number to device-
specific meaning (button name, etc)
● Intermediate levels
● Application interacts with an interface with a
semantic name
○ A name based on what it means in the app, not on
what hardware provides the information
...
See Path Tree slides for logical
continuation
For additional information:
● OSVR developer portal
○ http://osvr.github.io
● Sensics – Founding contributor to OSVR,
experts working in VR/AR for over a decade
○ http://www.sensics.com

More Related Content

PDF
OSVR Operating System Platforms and Portability
PDF
OSVR Plugin Design
PDF
OSVR Client Application Design
PPTX
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
PDF
Flutter tutorial for Beginner Step by Step
PDF
Unity Tipps and Tricks
PDF
Intro to Flutter
PDF
Visual Studio for IoT Solutions
OSVR Operating System Platforms and Portability
OSVR Plugin Design
OSVR Client Application Design
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Flutter tutorial for Beginner Step by Step
Unity Tipps and Tricks
Intro to Flutter
Visual Studio for IoT Solutions

Similar to VR API Evolution, Generic Interfaces, and Factoring (20)

PPT
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
PDF
COMP 4026 Lecture4: Processing and Advanced Interface Technology
PPTX
Next generation User interfaces
PDF
OSVR presentation at Boston VR meetup Jul 15
PDF
Gesture Based Interaction
PDF
Facets Of Fragmentation by Mark Murphy
PDF
Improving the VR experience - VRST 2012
PDF
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
PDF
Comp4010 Lecture10 VR Interface Design
PDF
Mobile AR Lecture 10 - Research Directions
PPTX
ICS3211 lecture 08
PDF
426 Lecture 9: Research Directions in AR
PDF
"Click to Continue" by Sam Otis, from Content+Design Meetup, Oct. 4, 2017
PDF
ICS3211 Lecture 08 2020
PDF
sdc-2016-gvrf-and-io_public
PDF
Comp4010 lecture11 VR Applications
PDF
Comp4010 lecture11 VR Applications
PDF
Building AR and VR Experiences
PDF
Hands and Speech in Space: Multimodal Input for Augmented Reality
PDF
Introduction to android (and mobile) game development
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
COMP 4026 Lecture4: Processing and Advanced Interface Technology
Next generation User interfaces
OSVR presentation at Boston VR meetup Jul 15
Gesture Based Interaction
Facets Of Fragmentation by Mark Murphy
Improving the VR experience - VRST 2012
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
Comp4010 Lecture10 VR Interface Design
Mobile AR Lecture 10 - Research Directions
ICS3211 lecture 08
426 Lecture 9: Research Directions in AR
"Click to Continue" by Sam Otis, from Content+Design Meetup, Oct. 4, 2017
ICS3211 Lecture 08 2020
sdc-2016-gvrf-and-io_public
Comp4010 lecture11 VR Applications
Comp4010 lecture11 VR Applications
Building AR and VR Experiences
Hands and Speech in Space: Multimodal Input for Augmented Reality
Introduction to android (and mobile) game development
Ad

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Spectroscopy.pptx food analysis technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
cuic standard and advanced reporting.pdf
PPTX
Cloud computing and distributed systems.
Understanding_Digital_Forensics_Presentation.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Machine learning based COVID-19 study performance prediction
Programs and apps: productivity, graphics, security and other tools
Spectroscopy.pptx food analysis technology
Unlocking AI with Model Context Protocol (MCP)
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
sap open course for s4hana steps from ECC to s4
Per capita expenditure prediction using model stacking based on satellite ima...
Building Integrated photovoltaic BIPV_UPV.pdf
Empathic Computing: Creating Shared Understanding
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Weekly Chronicles - August'25 Week I
cuic standard and advanced reporting.pdf
Cloud computing and distributed systems.
Ad

VR API Evolution, Generic Interfaces, and Factoring

  • 1. VR API Evolution, Generic Interfaces and Factoring Ryan A. Pavlik, PhD Sensics, Inc. July-2015
  • 2. First Level ● Vendor-specific API/SDK ● Everything from one vendor, through one SDK ● Using more than what the vendor provides requires mix+match: complexity put on the app developer
  • 3. Next Level: Some Genericity ● Commonly invented or re-invented ● Sometimes modeled on a specific implementation (vs. fully generic) ● Input devices numbered ● Convention (implied or explicit) on the meaning of those indices
  • 4. Genericity and Factoring ● Concieve of the most generic form of a kind of device ● Devices often factor into multiple interfaces ○ Like a multifunction printer: One device is simultaneously a printer, a scanner, a fax machine… ● Try to keep device-specific aspects out of the generic interface.
  • 5. Factoring Decisions ● Careful balance: ○ overly-generic (“series of bits!”) ○ too specific - if each device is its own generic interface, it’s no longer generic ● Guidance in judgement ○ What applications want this data, and what would it be interested in? ○ Would an application using an existing interface want to use this data that way too?
  • 6. Back to SDKs: Configuration/Aliases ● Configuration often the most painful part of VR ○ But, for industrial systems, only done a few times in the life of the system, so it didn’t get a lot of attention ● Among others, the need to map/remap input devices ○ New device with different buttons ○ So, you assign names to the numbers
  • 7. Aliases ● Existing practice -> New convention -> new practice ● So you get aliases like “Button0” or “YellowButton” ● Effect is that application developers take on complexity in internally mapping input at another level
  • 8. The next step - as found in OSVR ● Aliases with no depth limit ● First level goes from number to device- specific meaning (button name, etc) ● Intermediate levels ● Application interacts with an interface with a semantic name ○ A name based on what it means in the app, not on what hardware provides the information
  • 9. ... See Path Tree slides for logical continuation
  • 10. For additional information: ● OSVR developer portal ○ http://osvr.github.io ● Sensics – Founding contributor to OSVR, experts working in VR/AR for over a decade ○ http://www.sensics.com