Gumband Exhibits

Gumband Exhibits

What is an Exhibit?

The Gumband platform is centered around building and maintaining Exhibits, interactive experiences built with a combination of software and hardware components.

Specifically, an Exhibit contains a computer that runs software to orchestrate the user experience. This software is typically a full stack web app with output to one or more screens, but could also just be backend code to control electromechanical I/O.

The following diagrams demonstrate a few ways to build an Exhibit. In each case, the Exhibit developer leverages a Gumband SDK to communicate with the platform and enable various features.

Example exhibit comprised of a computer and multiple Bundles (Gumband-native microcontrollers) to control external hardware

Example exhibit comprised of a computer and an Arduino to control external hardware

Example exhibit comprised of a Raspberry Pi controlling external hardware directly

Exhibit Manifest

The Exhibit manifest is a JSON file that defines relevant Exhibit information for Gumband, including Statuses, Controls, and Settings. When the Exhibit SDK is initialized, it automatically uploads the manifest and Gumband synchronizes the Exhibit with this list of capabilities.

Exhibit Real Time Signals

Exhibit statuses, controls, and settings are properties of an exhibit and can be manipulated by the Exhibit SDK or through the Gumband web UI. These signals are pushed in real time between the Exhibit and Gumband.

Statuses

Statuses are one-way values that are set from the Exhibit SDK and displayed on the web UI. They are used to surface relevant un-editable properties of an Exhibit. See how to create, update, and read a status.

Examples:

  • Exhibit IP address

  • Last interaction time or result

  • Exhibit state

  • Serial connection status

Controls

Controls are one-way triggers that are fired from the web UI and received in the Exhibit SDK. They are used to execute local code or start some Exhibit functionality. See how to create and receive a control.

Examples:

  • Reload a user interface

  • Reset an internal counter

  • Trigger an animation

  • Run a test sequence

Settings

Settings are key-value pairs that can be updated from either the web UI or Exhibit SDK. They are used to control behavior of the exhibit, both digitally and physically. See how to create, update, and receive a setting.

Examples:

  • Third-party API URL (string)

  • Dev, stage, or production endpoint (dropdown)

  • Interactive mode (toggle)

  • Color scheme (hex color)

  • Inactivity timeout duration (number)

Exhibit SDK Sidecar

A sidecar application is available that allows projects that use other languages / technologies (Python, C, TouchDesigner, etc) to leverage Gumband functionality. This sidecar runs alongside the main application and the two communicate via Redis or websockets.

Monitoring Exhibit PCs

For exhibits that have already been developed and cannot integrate the Exhibit SDK, a custom approach using a precompiled executable is possible. This tells operators if the PC is online, displays CPU, memory, disk usage, and allows for remote reboots of that machine. For additional information on this solution, talk to your Gumband rep.