MSc and UG Project Ideas

Chris Greenhalgh, 2014-12-19

I am interested in:

Most of my current work is in mobile and ubiquitous computing (including mobile games and cultural experiences), and I have done a lot of work developing mobile applications on Android as well as web applications and collaborative systems.

Most of my projects combine (to varying extents) software development, interaction design and user studies. Here are some project ideas; I'm happy to discuss your own proposals.

Open Sharing Toolkit

For many people in the world today their first, and often only, access to computing technology is a mobile phone. In principle this gives access to a plethora of digital content and media, such as documents, videos, speech and music. However realising this access in practical everyday situations can be very difficult: network access may be unreliable, unavailable or prohibitively expensive, content may be incompatible with a particular handset or may be too slow or awkward to use with that particular kind of device (e.g. display size and quality, device performance, storage size, speed or nature of input), it may be hard to locate specific content of interest or relevance, and so on.

A number of research project have begun to look at supporting this kind of "grass-roots" content sharing (and creation). For example, StoryBank (Frohlich et al., 2009) allows multimedia presentations to be authored on Android smart-phones, shared via a dedicated tablet device, and downloaded to other others or uploaded to the Internet. BigBoard (Maunder et al., 2011) allows feature phone users to "post" and shared digital media on a small smart-phone-based server embedded in a physical noticeboard.

The OpenSharingToolkit is a similar project which I have started to create a set of tools to make mobile phones and tablets (especially Android ones) more useful for everyday sharing of content, information and resources. The first development target has been to create a "kiosk"-type device using an Android tablet (opensharingtoolkit-kiosk), initially for distributing selected content on and off the Internet. The second development has been a Content Management System (CMS), Wototo (opensharingtoolkit-mediahub), for creating simple HTML5-based web apps.

The following project suggestions are all extensions to the current OpenSharingToolkit elements. There are lots of other things you could do aswell...

Support for User-Generated Content

The first version of the OpenSharingToolkit Kiosk and Wototo editor support authoring and distribution of web-style content, but have very limited support for end-users to contribute their own content back, e.g. text, photos, audio. The goals of this project are to design, implement and do initial evaluation of one or more extensions to the kiosk and/or editor that make it very simple for end-users to contribute content from their own mobile device(s) so that this content can be shared, curated and/or incorporated into new downloads for them and other end-users.    

Support for Feature Phones

The first version of the OpenSharingToolkit Kiosk targets smart phones with HTML5 support and WiFi as end-user devices, and assumes that the kiosk device will typically be unattended, for example in a visitor information centre or reception area. The goals of this project are to design, implement and do initial evaluation of a version of the Kiosk that is specialised to support content distribution to feature phones over Bluetooth. This may also require automated ways of converting content to a suitable format.

Support for Co-located Collaboration

The goals of this project are to design, implement and do initial evaluation of one or more extensions to the kiosk and/or editor that support collaborative creation and sharing of content in a face-to-face (co-located) situation. For example, this might be a creative group activity, a workshop, a meeting or a classroom. Particular consideration should be given to how the collaboration is supported, for example through the use of one or more large shared screens, in addition to whatever mobile device(s) participants may have with them.  

Support for Rich Interactive Experiences

The first version of Wototo, the OpenSharingToolkit web-app editor, supports simple "passive" content, including text, images and simple audio playback. The goals of this project are to design, implement and do initial evaluation of one or more extensions to the editor and the web-app framework that allow more interactive experiences to be created, such as simple games or quizes. The aim of the project is to balance simplicity of authoring content and experiences (in general by non-programmers) and the richness of interaction that is supported.

Support for Events

The first version of Wototo, the OpenSharingToolkit web-app editor, supports simple "passive" content, including text, images and simple audio playback. Many events, such as concerts, festivals, open days and tours, have similar characteristics: they comprise potentially many timed activities spread over potentially many physical location and featuring potentially many topics and artists/presenters. The goals of this project are to design, implement and do initial evaluation of an extension to the editor and the web-app that provides specific support for events of this kind. In particular it should be simple for the author to specify an event schedule, while the web app should allow the end-user to browse, search and organise the schedule in a range of different ways (e.g. by time, location and subject).

Support for Souvenirs

During a visit to a cultural site or other experience someone might use an app created with Wototo and/or other digital tools and services to support their on-site experience. They may also want to take away with them some form of souvenir or momento of their visit or experience. The goals of this project are to design, implement and do initial evaluation of one or more extensions to the toolkit that will allow digital souvenirs, in the form of customised web apps, to be quickly and simply created, based on the digital traces (logs, etc.) generated during the visit.

WordPress Integration

Several of the early users of the OpenSharingToolkit also use WordPress blogs or sites for their web presence. Typically they want to incorporate content (text, images, etc.) from their WordPress site into their Wototo web apps, and if they make updates to the WordPress site (e.g. updating the schedule for an event) then they want the same changes to be propagated to their web apps. The goals of this project are to design, implement and do initial evaluation of an integration between WordPress and Wototo, so that WordPress content and updates can be easily included in Wototo web apps.

Support for Creating Installable Apps

Wototo currently generates HTML5 web apps that can be viewed in a standard mobile browser. The goals of this project are to design, implement and evaluate an extension to Wototo that generates installable apps rather than web apps, i.e. apps that can be distributed via a standard app store. A promising technical approach would be to use Apache Cordova/PhoneGap.

Support for Mobile Authoring

Wototo, the editor, is currently based on CouchDB and node.js and is typically hosted on a virtual server somewhere on the Internet. The goals of this project are to design, implement and evaluate an alternative version of Wototo which will run as an app on an Android smart phone or tablet. This might make use of parts of the existing Kiosk app. This might also be extended to allow users of the app to easily exchange fragments of content directly.

Offline Map Toolkit

Creating applications and sites that use maps on mobile devices is relative simple when you have a good Internet connection. But when you don't then a range of more specialist services are required. The goal of this project is to add off-Internet support for maps to the OpenSharingToolkit kiosk. Initially this would be for viewing pre-cached map data, but ideally would extend to include authoring and updating maps without an Internet connection.

Authoring Multi-Display Content

In any given location many of the people present will have their a smart or tablet with them, in addition to the other devices and displays that may be present. The goal of this project is design, build and test a system for authoring and showing content that is synchronized across several nearby devices (e.g. mobile phones and tablets). There are lots of existing tools and applications for creating content to show on a single screen (e.g. Powerpoint, Flash), but the goal here is to make it relatively easy to specialise content to work across more than one screen at the same time. For example, each device might provide a particular perspective on the content. Content could be relatively passive (like a presentation) or interactive (like a simulation or game). One option for the underlying technology would be node.js on Android.

Interacting with Invisible Local Servers

A range of small embeddable computers are now widely available (e.g. raspberry pi, cubieboard). These can be set up to run a range of embedded services and be accessed over a local WiFi connection. But they often have no directly connected display. The goal of this project is design, prototype and evaluate different means of managing, discovering and interacting with this kind of "invisible" service within a specific physical location.