We will use XMPP as the transport layer for the communication between paired devices. Each device will be represented as a node in the XMPP network. Via TCP/IP over UMTS/GPRS/WLAN, the XMPP connection will be established. The ejabberd XMPP server will be used as a patch bay to connect multiple devices. On the device itself we will use the Python and the C programming language to acquire the sensor data, connect the devices to the XMPP network and then excite the vibration motor. Here, we will see what works best to translate acceleration data into vibration. The most basic possibilities comprise: low- or high-pass filtering, pitching up the signal, mapping the absolute value of the samples or the frequency of inflexion points of the signal to the amplitude of the vibration, or of course any combination of the above. The UI on the phone will allow the user to comfortably configure the mapping between devices and quickly manage new and established connections. It will also allow the configuration of the important privacy aspect of this application.

image by Alexis O'Toole

image by Holm Engelbrecht