Skip to content

The software development kit provides a library for communicating with a Boogie Board Sync on Chrome.

License

Notifications You must be signed in to change notification settings

kent-displays/boogie-board-sync-sdk-chrome

Repository files navigation

Boogie Board Sync SDK for Chrome

The software development kit provides a library for communicating with a Boogie Board Sync on the Chrome platform. This library allows developers to view, modify and retrieve aspects of the file system on the Sync. It also allows developers to retrieve real-time information including drawn paths, current position of the stylus and button presses.

This SDK uses the chrome.hid, chrome.bluetooth and chrome.bluetoothSocket APIs provided by Google in Chrome.

Note: Using this SDK only works in Chrome either as an app or extension.

Installing

  1. You can install the SDK by including the JavaScript files in the js/sync-sdk.
  2. Inside of your Chrome app or extension, the manifest.json file must include the following:
"permissions" : [
"hid",
{
  "usbDevices": [ { "vendorId": 10516, "productId": 256 }, { "vendorId": 243, "productId": 256 } ]
}
],
"bluetooth" : {
  "uuids": [ "d6a56f80-88f8-11e3-baa8-0800200c9a66", "d6a56f81-88f8-11e3-baa8-0800200c9a66", "1106", "1124" ],
  "socket": true
}

Example App

If you would like to run/edit the included example app, first install all the node modules with npm. If you don't have npm follow the instructions here.

npm install

Install Grunt globally and run the associated task with the project. This task makes all the code CSP compliant more info here.

npm install -g grunt-cli
grunt

Then, load the app by following these instructions from inside of Chrome.

Structure

This is a quick overview on how the entire library and API are structured for use. Highly recommend reading this before starting.

For in depth use, check out the polymer elements of the example project located under the elements folder.

SyncFileTransferManager

Facilitates the communication with a Boogie Board Sync through a file transfer protocol based on OBEX File Transfer. The use of this client allows for files to be downloaded, deleted, traversed and listed on a Sync. The connection must first be made to the file transfer server before executing any other requests.

SyncStreamingManager

Facilitates communication with a Boogie Board Sync through a custom data capture protocol based on HID. The use of this client allows for real time information including drawn paths, button pushes and position of the stylus.

Observer

This SDK uses the Obsever design pattern to inform the developer when calls to the Boogie Board Sync complete or a state change occurs. Background about the design pattern can be found here.

Limitations

  • Chrome >=37 is required for SyncFileTransferManager
  • SyncFileTransferManager only works with Bluetooth connection
  • Chrome >=39 is required for SyncStreamingManager
  • The SyncStreamingManager does not work on Chrome OS. This is due to the chrome.hid API not giving proper access to input devices. Chromium Issue
  • FIXED The SyncStreamingManager does not work on OS X when there is multiple HID devices connected. Chromium Issue

Questions?

For questions or comments email or contact us on Twitter

License

Copyright © 2015 Kent Displays, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

The software development kit provides a library for communicating with a Boogie Board Sync on Chrome.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published