TITLE:  Viral

CATEGORY:   Interactive real-time data visualization

DATE:   December, 2014

TOOLKITS:   Processing, Temboo API, Twitter, Leap Motion Controller


Viral is a real-time data visualization tool for Twitter, built with Processing.  The project was created at a time when the 2014 global Ebola crisis was at its peak, and was intended to depict how information, and misinformation, spreads across social media, much like a living virus might spread through a host.  The application makes periodic requests to Twitter, via the Temboo API, searching for any and all tweets that contain the hashtag #ebola.  The user is then able to interact with the data using a leap motion controller.  Each cell in the visualization represents a tweet that contains the hashtag, and cells (tweets) that share other common hashtags are connected by lines.  A tweet that has been retweeted more than a certain number of times is highlighted with the colour red, indicating that it is "infected".  When these cells come in contact with other cells, they too become infected.  The user takes on the role of lab technician, using the Leap Motion controller to examine cells under the microscope.  When a user places a cell in the active zone, represented by the microscope, the information about the tweet is displayed.  A list in the upper left hand corner of the screen shows a real-time queue of tweets waiting to be injected into the system, allowing users to tweet and see their data introduced into the system in real-time.

PRESS:   The project was featured on the Temboo Blog ( HERE ). 

Viral: A real-time data visualization tool for Twitter

If we take a minute to stop and think about what we mean when we say that something on the Internet has ‘gone viral,’ it becomes apparent that a comparison is being drawn between the way in which information spreads and the way an infectious disease might: presumably at an exponential rate. I thought it would be an interesting idea to represent visually how the spread of information, through a network like Twitter, resembles the spread of an infectious disease through the human population.

I wanted to show the way in which information spreads across a network, likening it to the way a virus might spread from cell to cell in the human body. For this reason, I chose to represent the data I extracted from Twitter as cell-like organisms, moving independently of one another while still forming part of a larger system. Each particle stores data specific to that Tweet, such as the user’s ID, the actual Tweet text, the number of times it’s been retweeted, and a list of the other hashtagged words the Tweet contains.

I decided to try and simulate the meticulous and calculated feel of a laboratory environment, where movements are small and delicate. I wanted the user to have a feeling that they were physically interacting with the data in much the same way a lab technician would handle live virus samples. To mimic a sterile environment, I wanted the user to have no actual physical contact with the application (further reinforcing the theme of disease and how it spreads). As a result, I decided on using the Leap Motion controller, as it provides a high degree of accuracy, has a well documented library for Processing, and allows for delicate and precise gestures like the pinching of thumb and forefinger.