In its current form, our software is provided as a Chrome Browser Extension that must be installed on each user’s computer.
All processing is performed locally, on the user’s computer.
The browser extension provides a user interface and manages integration with compatible web pages. To understand the capabilities and limitations of a Browser extension, you may find the Chrome documentation helpful. We use the HTML5 media & camera interface in the browser to connect to a camera.
The xLabs software does not connect to the camera except when in a mode that requires image processing. Note that Chrome allows multiple pages and extensions to connect to the same camera simultaneously.
High-performance image processing is achieved using Google Native Client, which accepts C and C++ code. The Native Client module is supplied with the browser extension.
All system state is stored within the Native Client module, which is loaded once per browser process instance (except on extension reload). Therefore, our system is able to continue operating seamlessly through page navigation events. The system configuration is shared by all open tabs.
At the current time there is no system for managing conflicts between tabs, in the event that multiple tabs interact with the xLabs Browser Extension. Conventionally, the active tab can be assumed to control the xLabs Browser Extension.
Note: We also offer a native C++ library, with HTTP interfaces, for offline use as an SDK. If you would like to use this library, please contact us.
Options Page Config Tab
To visit the debug page, click the ‘X’ to open the Popup Menu and then click the Options button. When the Options Page appears, click the “Config” tab. You will see the current state of the system. If the system is not Off, the state will be updated at 10Hz. To see the state change, use the Popup Menu to set the state to “Head”. Some of the values will change. You can also modify the configuration from the Options page.
For example, if you enter: Key: