Project Six

Six is an experiment to look at how proximity over time affects an assumed 'connection'.

You can view a live version of Six and read a more detailed explanation of our journey on the project blog. If you're looking for code head over to Github.

Project Six Arduino setup

The basic premise is a wearable two way solution, that tracks location to analyse how often and for how long a user is within close proximity to any other user. Relationships between users build over time to create a visual network (viewable online in real time), a user is represented via a node and its connection to others via a line. The Size of a node increases as that users maximum connection increases, each relevant connection is shown and the largest connection becomes the central node. Users receive haptic feedback through a vibration belt that can distribute a number of different patterns based on specific scenarios. Our current demo runs with four active users based on four creators of the project, we plan to expand the user base as we continue production.

Please be aware Six has not been receiving data and has slipped into minus figures making our 'nodes' appear larger than usual.

A Team Effort

Six was a collaboration between students studying Digital Art and Technology. Six is hosted on a sub domain of my site as we needed shell access for Node. Chris worked primarily on Arduino for our wearable solution and Phil working with Three.js to create our visual display. My role consisted of constructing our back-end system, being my first Node.js project I had a lot to learn. I benefited greatly from simultaneously working on a sockets solution for another project Lucid. You can find more on individual roles on the project blog.

Key Concepts

To make Six a reality we integrated a number of different technologies. Our wearable solution built using the Arduino platform contains 4 vibration motors, a GPS unit and a WiFly-shield to connect to a wireless hotspot provided by a mobile device. GPS locational data is sent via MQTT to a Node.js App thats providing an MQTT broker as well as a sockets server and centralised location to perform logic. Locational Data is checked against all other users in the system, if a relevant match is found connections and relationships are altered and values are stored using MongoDB. Using Three.js and web socket functionality we were able to create real time 3D visuals to represent our data.