The SenseWorld DataNetwork is a fast and flexible way for collaborators to share data, whether from sensors or internal processes, in interactive media contexts. From a central server which collects all the data, clients can subscribe to data nodes and use their output in their own processes. Clients may also publish data to the network by creating their own nodes. Registered clients can also query the network as to which nodes are present on the network and are informed when new nodes appear on the network.
A DataNode, or a node, is a collection of data streams which somehow belong together.
For example it can represent:
- A SenseStage MiniBee hardware sensor node with sensors attached
- All the parameters of a sound process (amplitude, frequency, etc)
- A group of (DMX) light channels
- Showtime information (hours, minutes, seconds, frame)
- All the light sensors in a space, collected in a logical order
- All the parameters of a graphical object (dimensions, color)
- All the data from a gaming device, such as a joystick
An expected Node is a DataNode that is prepared to be added to the network, but may not contain any data yet.
A DataSlot, or a slot, is one data stream. Corresponding to the examples of nodes above a slot would represent:
- A light sensor attached to a MiniBee
- One axis of an accelerometer attached to a MiniBee
- The amplitude of a sound process
- One DMX light channel
- The seconds of the showtime
- The x-dimension of a graphical object
- The y-axis of a joystick
Client: the programming environment of a collaborator hooked up to the network. E.g. Joe using PureData, or Marije using SuperCollider, or Vincent using Processing, or Brett, using Max/MSP.
Subscription: a client can subscribe to a node to receive its data, or subscribe to a single slot of a node. These are called the client’s subscriptions.
Setter: a client can provide data to the network by creating a DataNode. The client then becomes the “setter” of the node. Other clients can not set data to the same node.