UG and MSc Project Ideas

Chris Greenhalgh, 2022-07-18

General topics

In general I am interested in Human-computer interaction, Distributed Systems and Computer-supported cooperative work, in particular

Projects that are not available right now, e.g. already allocated:

I have done a lot of work developing digital technology platforms, web applications, collaborative systems and mobile applications.

Most of my projects combine (to varying extents) software development, interaction design and user studies.

General Requirements / Guidance

Human-Computer Interaction

If you doing an HCI project (i.e. on the MSc HCI, or an HCI project within the BSc/MSci CS) then your project must be "human-centred". This can involve an emphasis on requirements gathering, design and/or evaluation. You will almost certainly need to do some prototyping, but depending on the project it may be possible to use non-functioning prototypes (although I prefer functioning prototypes).

If you want to tackle one of the HCI projects then please write up a brief (one page) summary of the work you would do, including:

Computer Science

If you doing a CS project (i.e. in the MSc, BSc or MSCi CS) then your project must involve a significant practical (programming) element. It may also involve some HCI elements and prototyping, but at least some will need to be functional.

If you are tackling a web-based project then you should be prepared to use a technology stack with something like Angular+Bootstrap (and Typescipt) as the front-end and a well-defined HTTP API to any back-end. Note, you may not need to implemented your own back-end services, for example a static back-end may suffice or you may be able to use a cloud service such as Firebase.

If you want to tackle one of the CS projects then please write up a brief (one page) summary of:

AI, Data Science

Sorry, I'm probably not able to supervise projects in these areas. Also I do NOT have suitable existing datasets to work with.

Suggested Projects

These specific projects are all potentially suitable for HCI or CS - see the general guidance above for course-specific requirements.

Card-sort task framework for Minno js

CaTS is a physical card-sorting task that has been developed and used with young people who self-harm (i.e. injure or poison themselves). CaTS uses 117 cards with evidence-based self-harm related thoughts, feelings, events, and behaviours on them. These cards are placed along a timeline at the timepoint(s) they occurred. To date CaTS has been used to conduct small in-person studies but an online or ‘app’ version of CaTS is needed to collect data from much larger numbers of young people (i.e. 100s).

Minno js is "an open-source free platform for conducting behavioral studies on the web." It was developed for project implicit, with an emphasis on timed response tasks. It is essentially a framework (including a web server and various front-end elements) for getting people to complete tasks on the web that are similar to surveys but with more complicated interaction.

CAT1: The aim of this project is create an extension to MinnoJS to support card sorting tasks such as CaTS.
The system should be configurable and extensible, for example to work with different sets of cards and different specific card-sorting tasks. It should report data into the standard Minno server/framework, for export and analysis. As with minnoJS in general, it is important that researchers will limited programming expertise are able to create and tailor card sort tasks as easily as possible.

Psycho-educational and Behavioural intervention web platform

Psycho-education, i.e. structured teaching materials, and behavioural interventions, i.e. associated activities and support, can be helpful for a range of mental health concerns or diagnoses. For example ORBIT is an online therapist-supported invention for children with tics. The resarch platform used to trial ORBIT is closed source and not available for further trials or deployment, so a new web platform is needed.

BIP1: The aim of this project is to design and prototype a web-based platform that can be used to deliver online behavioural interventions like ORBIT.
The platform should be general purpose, i.e. not limited to ORBIT only, but easily tailored for other interventions. It should also work well on mobile devices including smartphones.

Musical documents

This project requires knowledge and experience of digital music-making. The Jupyter notebook is an interactive web-based notebook that interleaves readable text, executable code and the output(s) of that code. It is often used with python, but supports other programming languages too. Python has extensive support for data analysis, machine learning, etc.. It also has quite extensive libraries for sound and music. There are many examples online of music (especially music analysis) in jupyter. Duncan MacLeod is a composer in the Department of Music who has started to explore this approach to support his compositional practice, initially with an exploratory work based on historical weather data and climate change.

MD1: The aim of this project is to create and evaluate a set of resources and extensions for the jupyter notebook system to better support composers developing new works that draw inspiration from data and/or algorithms.
It may be possible to work directly with Duncan, or the student might develop their own motivating examples.

Extensions to Cardographer, a web-based multi-user ideation card system

The Cardographer project is exploring the use of activities based on (physical or virtual) playing cards to help generate ideas, and learn about and explore ethical and legal issues for new technologies and applications. The project has (early-2022) developed a first version of the Cardographer Platform, a web-based digital platform for creating cards, managing shared session using cards and analysing card use, and a first version of a Unity-based 3D virtual table top simulator, similar to Tabletop Simulator. The system also integrates with Miro, an online shared whiteboard tool. There is still plenty of scope to extend and add to this platform; a number of suggestions are given below.

CX1: The aim of this project is to create a flexible analysis and report-generation facility for the Cardographer platform, to help users to analyse and reflect on past card use sessions.
The platform already supports recording the final state of a session and provides a limited number of interactive visualisations. But it would be useful to also be able to generate tailored printable reports and associated visualisations, and also to compare different related sessions (e.g. follow-on sessions).
CX2: The aim of this project is to extend Cardographer to support Time-based capture and analysis for card sessions (and evaluate this).
This means capturing step-by-step information about card sessions in place of or in addition to the current final snapshot, and prototyping visualisations or other analytical tools to help users analyse what happened in those sessions.
CX3: The aim of this project is to prototype and evaluate a 2D browser-based interface for online card sessions, integrating with Cardographer.
This is to be an alternative to the 3D virtual tabletop and miro. For example, this might be more similar to playingcards.io.

Digital interaction explorer

Many people experience challenges with their mental health and wellbeing. Digital technologies such as apps and websites are sometimes helpful and sometimes harmful to people's wellbeing. Existing studies of the impacts of e.g. spending time online are very limited, e.g. just considering how many hours are spent online or using apps. From everyday experience we know that sometimes it is a very specific thing (e.g. a single message) that we find helpful or hurtful. At other times it is a more general pattern of activity, for example browsing social media late at night and not getting enough sleep. One way to chart the relationships between digital technology use and mental wellbeing is to collect sufficiently detailed data from people about their uses of digital technology and to help them to explore and reflect on their use and their responses.

DX1: The aim of the project is to design, prototype and evaluate software that will allow someone who is using apps/websites on their phone (e.g. social media) to reflect on their use and their responses to that use.
In this version of the project you would need to identify existing/third party apps and/or services that record mobile phone use, and then work on analysing and/or visualising and reflecting on that data.
DX2: The aim of the project is to design, prototype and evaluate software that will allow someone who is using apps/websites on their phone (e.g. social media) to collect rich data about that activity, that would be suitable for subsequent analysis/reflection.
This might be done as an Android app, for example leveraging the Android Accessibility API/support.

Support for sound mixing by a sight-impaired user

OPAD (Open Source Assistive Devices) is a group (based in Engineering) that supports students in doing project that provide assistive technology, often to address specific health or well-being needs.

When using a mixing desk the level of signals are typically shown by VU meters - analog or digital feedback devices which show the average and/or peak audio signal. If the signal is too low then there is a lot of noise; if it is too high the signal may distort. It is difficult or impossible for a sight-impaired user to see the normal VU meters on a physical or virtual mixing desk (e.g. in a DAW application such as ProTools). However it should be possible to create a software plugin or extension that will monitor the levels and provide some feedback to a sight-impaired user. This feedback could be audio and/or haptic.

OPAD1: The aim of this project is to design and develop a plugin or other extension to either a physical or digital mixing desk that will allow a particular hearing-impaired user to monitor peak levels and clipping while mixing.
The project would include working with the particular user to understand their requirements, testing the feasibility of possible implementation options, and prototyping and evaluating one solution. This project requires both programming and some understanding of audio and mixing.