
The start screen of the sharedrobotics.com data visualization application
I was naturally delighted when Jørgen Skogmo of shiftcontrol studios got in touch with me about the possibility of interning for them over the course of the summer. I knew Jørgen from my third semester project, where we contacted him and his founding partner of shiftcontrol, Patrik Svensson. The initial contact was made because they had done work of similar nature to what we were pursuing at the time. We were invited to visit them at their offices in Copenhagen, and they really came through for us with some well placed guidance and feedback. Jørgen even went on to show special interest in our project and took on something of a mentor role, visiting us on site at the university to test and comment on the finished product. After my previous inside look at the work and people of shiftcontrol I did not need any convincing to join up for a summer of collaboration.
The project that I was asked to be a part of was commissioned as an interactive wall showcasing robotic history. It was to play a central part of the robotic art exhibition, Shared Robotics, for RoboDays 09. The shiftcontrol team consisted of Jørgen Skogmo, Marcin Ignac, Emile Kjæhr and myself.
There were several key parts to this production: the physical wall, with the planning and construction of a 4×1 meter multitouch screen; a database of robots that needed to be dynamic and open to the extent that anyone could participate with their own robots and data; and the data visualization application, presenting the robots contained in the database in an interesting way visually, with emphasis on showing interesting connections and patterns in the data.
My main role during the production was on the software side, specifically the development of the data visualization application.
Core to the representation of each robot in the database is user definable media items like pictures, youtube videos and text. To make this form of a user driven database work it naturally had to be web based. In light of that, it made good sense that the actual visualization would be available online as well, which made going with Action Script a natural choice of programming language for deployment. Since the number of developers and the time available was somewhat limited, the adaption of an existing framework for data visualization was seen as a good entry point. The Flare library fit the bill both in terms of maturity (it’s a continuation of the prefuse visualization toolkit for Java) and features.
The interaction paradigm developed for the actual installation called for splitting the wall’s screen estate into multiple spaces. This was done to accommodate multiple user scenarios as well as allow for interaction with multiple facets of the application at the same time. As a result of this, the application was built around the concept of separate plugins that would share a state, in terms of current filtering and focus.
The most interesting filtering criteria for the data set of robots was thought to be that of time, location and relation. This led to the development of three main plugins: a timeline, a map (using the excellent Mercator library) and one that showed connections between the different robots. The ability to show a broader spectrum of correlation than location and time was made possible through an extensive use of categories (for overall placement e.g. art or fiction) and tags (for a more defined classification like toy or autonomous) as part of the data entry required for robots as they were entered into the database. The categories classification was also used actively in the visuals of the robot nodes in the visualization; with each category being represented by a colored circle, thus making it possible to see overall patterns of classification, without filtering, in both the timeline and map view. Separate plugins were also created for text, video and images and lastly a plugin for the actual filtering on time, category, tag or any combination of the three.
Some screenshots and pictures documenting the process from early prototypes to the final result:

Early proof of concept look into visualizing relations between robots

Idea of using simplistic robot heads as the visual representation of nodes

Force directed mess of nodes

Circular tree relations

Relations through colors and text

Simple circular nodes with individual colored circles representing related categories

Map and relations plugins

Time centric plugin combination

Relation layout

Screen construction

The 4 x 1 multitouch wall

Interesting lesson in robotic history? Photo: Patrik Svensson, shiftcontrol
The finished application can be experienced at sharedrobotics.com/app while the database of robots can be browsed and expanded at sharedrobotics.com.
Be sure to also check out Jørgens write-up on the project at the shifcontrol website.
Internship Impressions
To get the opportunity to work with dedicated, skilled and likeminded individuals is always a privilege. This feeling can certainly be seen as something of red thread through my summer long experience with the guys at shiftcontrol studios. While the workload was often intensive, and the days typically long with many screen hours and little sunshine, it all seems worth it looking back.
Being offered the chance to work mainly with my preferred expressive medium these days, namely code, certainly helped. This also made it possible to work from home to a large extent, which always helps in preserving some of the holiday feeling, despite a workload. This was made possible through routine Skype meetings and the dedicated use of online project management. There was, of course, plenty of face-to-face time in the planning phase and during the actual deployment and construction.
Working on an actual project for a real client, and especially on something with such a physical presence and heft to it, was a great experience. As most school projects never go very far beyond the prototype stage due to limited time, it was nice to be able to see something grow from a conceptual idea to a finished article in the form of a huge wall of interactivity.
Even some lingering technical problems with the physical wall, that were certainly taking their toll at the time, can in retrospect, be seen as a realistic insight into the importance of always being prepared and flexible enough to adapt in order to make things work right in the end.
I would warmly recommend spending a summer in a similar manner if you have the chance.

Great writeup!
[...] you would like to get more insight into the project, do have a look at Tor Guttormsen’s internship report from working at Shiftcontrol on the Sharedrobotics [...]