Ameya and I presented the prototype of TrafficFlow yesterday at ITP for our Spatial Media midterm project. It is an installation-based table which visualizes wireless traffic on a local network as gracefully flowing rivers of light.
Each user on a network has an individual connection to the internet and may have a conceptual model of personalized “tube”. However, all traffic on a typical network shares the same infrastructure and commingles at some point, and if unencrypted, is available to any other member of the network. TrafficFlow aims to make visible this hidden connection.
Connecting to the table’s public network begins the process. The user is directed to a welcome page and asked to place their device on the table, which creates a glowing circle around it. After the table detects the device, they are prompted to confirm that the highlighted device is theirs. As soon as they affirm their connection the circle disappears and their traffic begins to flow.
Reactions to the table varied, but people liked the aesthetic of the flowing light. Several people thought that the lights were too organic to represent digital data. Ameya and I discussed this point but feel that we wanted to stay away from a hard edged, bit-based visual. Instead we are looking to show the data as energy, something almost alive. Another observation is that people really enjoyed manipulating the light with their hands in demo mode without the back end of the data representation. That is certainly something to consider.
The prototype still needs significant work in making the device capturing more robust, but the proof-of-concept is functional – and is demonstrated in the below video. Without getting too technical, the system uses several separate systems to function. A router with a custom Linux firmware based on DD-WRT handles the network connections, captive portal and packet sniffing. A java applet and php script parses the packet output and provides web-based activation which populates a mysql database. The main application is written in C++ using the openFrameworks, openCV and mysql++ libraries. Ameya did the web and database stuff and I focused on the visualization/camera vision software. This is the most extensive software that I’ve written so far, but it’s been worth the work.
The table was custom built by several of us in the Spatial Media class. It has a plexiglass surface with a sheet of mylar for diffusion. It provided for under sensing with an IR camera and under projection, using a mirror to bounce the image off the floor. For most of us it was the first interactive surface that we’ve worked with and was challenging. The results of the prototype table are somewhat frustrating, but I think it could be made much more robust with more refinement. A good learning experience.
Enjoy the videos.