Purple Robot is a core component of CBITs' mobile offerings.

The app provides the following major features for constructing context-aware interventions and experiences:

  • A full real-time sensor data acquisition platform for collecting information about the user and their immediate surroundings. Purple Robot provides
    • Full access to the Android sensor framework, including the accelerometer, gyroscope, pressure sensor, and more.
    • Access to other device information such as battery level, running software & apps, and hardware information.
    • Options to scan for external devices such as wireless access points and visible Bluetooth devices.
    • Location sensors that use the built-in GPS and cellular triangulation options to map the user’s location.
    • Local environmental data sources such as solar event timing (sunrise & sunset) and weather conditions.
    • Statistical summaries of the user’s communication patterns, including phone logs and text-message transcripts.
    • Cryptographic anonymization of personally-identifiable information before it leaves the device.
  • Robust Javascript & Scheme scripting engines
    • An embedded web server that exposes the scripting engine to put web-based applications on an equal footing with native applications.
    • A complete programming framework that allows other applications (native & web-based) to store data, launch applications, update homescreen widgets, and create customized native prompts and dialogs.
    • The ability to define new sensors & features using standard Javascript.
    • Networked configuration options built around the scripting engine that allow for remote configuration (with proper authorization).
  • A robust store-and-forward architecture for transmitting sensor data and user-provided information to custom data warehouses.
  • A full trigger framework for defining conditions when scripted actions should occur.
    • Date & triggers fire at preselected intervals specified by the standard iCalendar format.
    • Sensor-based triggers fire when a condition matching a predefined pattern occurs.
    • Triggers have access to the full scripting runtime, providing rich interactions.