Faceted Views of Varying Emphisis

Data analysts must often attend to several perspectives on a dataset concurrently. A common example is when the data have many attributes that carry spatial, temporal and other descriptive characteristics. Analysts need approaches that enable these many perspectives to be considered concurrently, so that they can build a comprehensive, multi-faceted understanding of phenomena. In this work, we propose a design framework for producing composite faceted views that incorporate different levels of visual abstraction for multiple perspectives. Fluid transitions and selective varying of these abstractions encourages concurrent analysis across perspectives. The software, which can be seen in the video below, was developed in Java using the Processing.org graphical library.

Using the MDX Powerwall to engage with students during the National Student Survey

The display wall was moved from the lab to the main reception/meeting area of the University for two weeks as part of a drive to get students to complete the National Student Survey. I developed three applications to run on the wall during this time: (i) an image and video slideshow (developed in JavaScript and running in a browser), (ii) an interactive Twitter visualisation that shows live tweets and lets students interact via a Microsoft Kinect (developed in Unity3D, with feeds sent from a .NET Kinect application and Java Twtter steam via an ActiveMQ broker) , and (iii) a scrolling banner that runs across the top (also developed in Unity3D).

MDX Powerwall during NSS

Saif Hossenbaccus, a final year student who I’m supervising for his dissertation, is investigating high resolution gaming and developed the Generic Space Shooter game. Saif used these two weeks to get feedback on an early prototype.


In an attempt to improve my web programming skills, I have developed Snake in JavaScript. It’s a simple DHTML version, and uploads the score via a simple PHP script.

You can interact with the game below (which is in an iframe) by clicking on the green area to get focus, then use w, a, s & d to move the snake. Alternatively you can play it here.

High-Resolution Gaming

To test whether I could get Unity3D applications working smoothly on the MDX Powerwall, I used a car racing demo (https://www.assetstore.unity3d.com/#/content/10, created by Morten Sommer). I modified the demo such that the user input was synchronised across three instances of the application (one running on each graphics card). The end result is a racing game running at a resolution 15360×4220 pixels (~66 million) and well over 60 frames per second. You can see some jitter on the right had side of the car where the synchronisation isn’t quite working properly.

Now that we know Unity3D applications work, we can use it as a platform for building bespoke, high-resolution, interactive, 3D environments. For example, to visualise geographic or astronomy data.

P.s. The silhouette of my very static head is there for you to get a sense of scale.

MDX Powerwall Display

The MDX Powerwall is a 64 million pixel display that I have designed and build at Middlesex University. It is constructed of 18 Dell 27″ monitors, each with a resolution of 2560×1440, giving a total of 1536×4320. It is powered by a single PC thanks to three AMD Radeon 6870 Eyefinity graphics cards.

In the image below, you’re actually looking at three Firefox windows running in full screen mode. I’ve synchronised the instances using some Javascript and a Java Web Servlet. The imagery is from Google, and I’m in the process of overlaying different datasets such as live tweets or flight data.

MDX Powerwall

Command Post Training Tool

The CRISIS project aimed to deliver both field exercise and command post exercise training. The XVR simulation tool allows us to do the former, and I was required to create the latter. It was developed during a two-week post at E-Semble, where we were able to collaborate on the interactions between XVR and the command post tool, including the sending of streaming video data and enter/exit command post events.

The tool is developed in Java, and makes use of a Swing UI, the Processing graphics library, and an ActiveMQ connection for communicating with XVR and synchronising multiple instances of the command post (in a multi-user training environment). You can see the tool in the video below.

What R these data about? – An introduction to R

During the 3rd Visual Analytics Summer School, hosted at Middlesex University, myself and Rick Walker gave a 2 hour tutorial on R, an Open-Source environment for statistics and graphics. The aim was to demonstrate the capabilities of R to those that haven’t used it before. Feel free to try the tutorial. All the material you need can be found here.

A slide from the presentation

Interacting with XVR using the Microsoft Kinect

After spending two days working on a conference paper submission to IEEE VAST, I decided to give my myself a Friday afternoon project. I took some of the earlier Microsoft Kinect work I had done and connected it to the XVR simulation software that we’re using as part of the FP7 CRISIS project.

The XVR software is built in Unity 3D, which means we can’t directly use the Microsoft SDK. As a workaround I produce/consume Kinect messages through an ActiveMQ broker. This means we
could also make use of the voice recognition software that Microsoft offer.

CRISIS Communicator

The end users of CRISIS project made it clear that voice communication was a key requirement for the final training system. The primary reason being that trainee communications needed to be made available for analysis during after action review. For that reason, I was required to develop a bespoke voice communication tool. It was developed in C# using the .NET framework, and made use of socket connections for the voice data, a Restful service client for storing the data, an ActiveMQ producer for sending real-time events, and a WCF service for receiving push-to-talk events. The images below show the client and server interfaces, and the tool being used by Icelandic airport emergency response teams during a training event in June, held at Reykjavik airport. The tool has also been deployed to the Portuguese airport authority, based at Lisbon airport, and British Transport Police, based in London.

Comms tool deployed at ISA

An Android Tablet App for Observing Trainees

Collecting data for trainee debriefs in the field of emergency response can be a long and tedious task. As part of the FP7 CRISIS project, I developed an Android application for instructors to use when observing trainee performance during a training exercise. The simple user interface allows them to make text and photo observations, and mark performance measures from a pre-defined list of competencies. The data is sent/retrieved from a restful service running on the training system database.

Android Observer App