Data Collection


A JavaScript library, and set of HTML, PHP, and JavaScript templates, for running fully-fledged experiments in the web browser. See here for more.

Web-based Mouse Tracking

As part of PsychScript, I've implemented the mouse tracking paradigm, which I've used to collect data for a number of experiments in my thesis. See the source code here, and an extremely outdated demo here (a lot of work has gone into making things prettier since then).


I've made some (minor) contributions to OpenSesame, an excellent open source experiment builder, complete with graphical interface, written in python. If your lab is paying for E-Prime, SuperLab, etc., you shouldn't be.

OpenSesame for Android

Last year, I spent some time extending the OpenSesame run-time for Android, with a view to providing a platform for researchers to design their experiment in OpenSesame, package it as a standalone Android app, and have participants download it from the Play Store, complete it on their own phones, and send the data back to a server. Unfortunately, I've not been able to devote as much time to this as I would like, and the demonstration experiment is no longer available on the Play Store. I hope to revisit this after my PhD.

If you're interested, you can check out the source code here.

Mouse tracking in OpenSesame

I've implemented the mouse tracking paradigm in python within OpenSesame as part of my thesis. See this blog post for a tutorial, and to download the relevant files.

Data Analysis


I've packaged up the python code I use to analyse mouse trajectory data, and released it as Squeak. Like a lot of things on this page, I haven't had a lot of time to document this software for general use, but hope to do so soon!

Data Visualisation

I'm particularly interested in new tools for dynamically visualising data. I'm a big fan of the wonderful d3 framework, which powers a whole range of web based visualisations. Two tools for my own use I've cobbled together using d3 are Curves, for plotting and exploring the curves predicted by polynomial regression models, or growth curves, and Scatter, for exploring the raw data from mouse tracking experiments - the position of the mouse cursor over time - interactively.

The source code for both of these tools can be found on GitHub, as usual.