Visualisation of twitter networks

A project I supervised by three undergraduate computer science students that uses the Leap Motion as a navigation and interaction device to explore social media networks in 3D.

Twitter uses form a graph structure through follower and following relationships, we visualised this using a force-directed graph layout algorithm in 3D. A number of gestures were devised in order to interact with the graph:

  • pointing at a user to highlight, then grabbing to select them
  • opening both hands quickly (like a reverse clap) to expand the selected user’s network
  • bringing both open hands together quickly (like a clap) to collapse the selected user’s network
  • moving a single hand up, down, left and right to rotate the graph around the currently selected user
  • pulling back to zoom out, pushing in to zoom in
  • a single fist clenched to stop all motion

A number of features were used to show relationships of the data visually:

  • User’s picture is displayed with size logarithmically proportional to the number of followers for that person – this allows you to visually see how many followers a person has and to make comparisons
  • Red arrow to show following relationships, purple to show follower relationships between users. Reciprocal following relationships thus appear as a red line with red arrows at both ends
  • Width and colour of a follower relationship arrow logarithmically proportional to the number of “interactions” between users (interactions is defined as recent mentions & favourites between two users). This allows you to easily see who is a “fan” of someone they’re following and who are the biggest inter-actors within your network
  • Zooming into a selected user displays information about them from their twitter account: location, information, number of followers, etc.

One of the biggest hurdles in developing the project was getting access to enough twitter data. At the beginning of the project, twitter changed their API to limit the rate at which you can access data. As a result we developed a seperate server and database to cache data and continuously download it at the maximum rate allowed by twitter.

The visualisation system runs under WebGL in any modern browser and is written in Javascript. You’ll need a Leap Motion controller to interact with the data using gestures.

All the code is open source, you can download the project from github: github.com/ecl3ctic/monash-leap-project

More details can be found in the project report.

Twitter visualisation with the Leap Motion

Project team:

  • Keren Burshtein
  • Tyson Jones
  • Nicholas Smith
  • Jon McCormack (supervisor)