Research Software

Some of the software we use or have used for teaching and research is custom-written. We're making some of it available for free use by non-profit, non-commercial organisations, but note that these are presented as-is and in several cases, software development has ceased. As a department, we advocate the use of PsychoPy for experimental software generation and have a users support group to help. We also support more specialist software for particular projects.

Supported Software

Smartphone Location Tracking (PEG log)

As described in Geyer, Ellis and Piwek (2019), this smartphone application was developed to securely collect location (GPS) data at pre-determined intervals. The application runs locally on the majority of Android devices and doesn’t require a server. Source code and R scripts to analyse data are freely available from GitHub.

Download from GitHub

Shiny Apps for Dynamic Data Visualisation

This site provides an overview of work concerning the development and deployment of dynamic data visualisations for psychology and behavioural science more generally. These can assist with the dissemination of research and/or the teaching of statistical concepts to small or large groups of students. R code and interactive examples are freely available.

Download Shiny Apps

Tutorial For Making Classification Trees in R.

This classification tree shiny tutorial was created to help researchers who have no to little experience in R, build a simple classification model. The tutorial is interactive, whereby you can run code in virtual R consoles and see live outcomes.  The tutorial also links to a pre-existing open source data set, described in Shaw, Ellis, Kendrick, Ziegler & Wiseman (2016) which is used to provide a walk-through example.

Shiny Apps Tree Models tutorial

HTML colour shower

A tiny JavaScript app that allows you to type an HTML colour code and see a big area of that colour.

Download HTML colour shower

Classification Tree Web Apps

These two apps provide an environment whereby a researcher can upload their data temporarily to the applications, and in return, automatically generate a classification tree alongside its statistics. The Tree Shiny app lets you choose between 4 common classification tree algorithms, whereby the Fast and Frugal Shiny app lets you build Fast and Frugal Decision Trees. Data is available to download within the apps to help inform researchers how to structure their data before uploading.

Tree Shiny
Fast and Frugal Shiny


Description: a Julia module to compute signal detection theory measures. It includes functions to compute d' for several psychophysical tasks (e.g. ABX, same-different, Yes-No)

View on GitHub


This is a Python-based platform to run a number of pre-made psychoacoustics experiments (e.g. tone frequency discrimination, tone intensity discrimination), and/or build your own experiments with minimal effort.

Visit the website
Download the source code


This is a new version of PsyScript which runs in a web browser.

This is a complete re-write of PsyScript with the objective of allowing users to develop scripts using any HTML5-compliant browser and run experiments not just on Macs but also Windows, Unix, Linux, and tablets and smartphones which have web browsers. Experiments can be put on a web server, participants supplied with a URL, and the results gathered on the web server.

Download PsyScript3


This is a Julia module to read/write BIOSEMI 24-bit BDF files (used for storing electroencephalographic recordings)

Get the source code

Text To PNGs

This small web application was written to reduce the tedium of making picture files of text for experiment generator packages. You enter a list of words or phrases, one per line, and it makes one image file (in PNG format) for each line of text you supplied. You can set your preferred typeface, size, colour, etc.

Download Text to PNGs

Working memory test battery

As described in Stone & Towse (2015), a battery of measures to test working memory is available. This java-based collected of tests can be installed as-is, or configured for particular use, or can be developed from its open-source GitHub base. The memory span tasks provided are; digit span, matrix span, arrow span, reading span, operation span, rotation span, and symmetry span.

Download Working memory test battery

Travelling Salesman Problem toy

This is a JavaScript toy which attempts some naive solutions for the travelling salesman problem. It implements two iterative solutions, neither of which are very good, and a third which combines them together, which is surprisingly effective. You can enter your own coordinates or it will come up with them randomly.

Download Travelling Salesman Problem toy


This small web application obscures a certain proportion of an image with little clear squares allowing a background to show through. You can use it in experiments where you want to conceal different proportions of an image (e.g. a logo) and see whether the participant can still tell what the image is.

Download Obscure


A web app which implements the old psychology experiment where you try to draw something but your hand moves left when you try to move it right. Sets the participant a maze task and scores them on how long their route is and how much of it is on the route. Includes all sorts of other rotations and reflections, too. Requires HTML5 so it won't work under Internet Explorer.

Download MirrorDraw