Contextual Software

Lead Research Organisation: University of Glasgow
Department Name: School of Computing Science


This work aims to advance an area of computer science called ubiquitous computing (ubicomp), which aims to make mobile computers, such as mobile phones, do new and useful things for the people using them - and yet fit so well with the context of each individual user that he or she hardly needs to think about using them. For example, a tourist who often visits museums might, when visiting a new city, use a local map on his phone. When he walks past a new museum, his map might show that his phone has found software showing the museum's current exhibitions, and got it ready for him to run.However, a real problem for ubicomp is that people's interests and contexts change all the time. People use such technology in their everyday lives, in places they choose, for their own purposes and in their own ways. This makes evaluation difficult because it is hard to observe and understand users' changing behaviour. In turn, this hampers the usual way that evaluators advise programmers about users' behaviours, problems and needs. For example, the tourist might decide that he has had enough of museums for now and jump on a bus to a viewpoint high above the city, so as to view a fireworks display. Ideally, then, ubicomp software should be able to adapt - or be adapted to - such new contexts of use, i.e. it should be 'contextual software'. Generally, adaptation is too unpredictable to be done automatically and too complex for users to do alone. The tourist is unlikely to make new software tailored to his interests, the viewpoint, the fireworks display and the software already on his phone. We believe that this requires advances in users' software, in visualisations and tools for evaluators and programmers, and in connecting them all together so that user, evaluator and programmer can better interact with each other. We have made some first steps that give us a head start:1. Domino is a system that lets ubicomp users share small pieces of software directly between mobile computers. It gives recommendations as to what new software might fit with what is already on one's computer. It works rather like the Amazon book recommender: 'people who bought the books you've bought also bought... these'. Such software recommendations are as easy to handle as an Amazon book recommendation. We want to refine Domino, though, so that it bases recommendations on more of one's context, e.g. where one goes as well as the software one has. 2. Replayer is a system that lets evaluators and programmers visualise how a ubicomp system ran and how it was used in the past. It 'replays' logs of what the system did, synchronised with evaluators' video, audio and textual notes. We want to extend it to visualise information streaming in from mobile computers, showing what users are doing now. We also want to integrate Replayer with the tools programmers use to write new software. Then, they can see the details of their current software, along with past and current contexts of use, as they respond with new software to fit users' current contexts and potential future contexts. They can then send the software out to the people in those contexts, for recommendation via Domino.Imagine the tourist reaching the viewpoint for the fireworks display. He might be recommended new software from other people in this new location (via Domino), and then let it run on his phone. It might explain the fireworks display, and show where to look to see the places that he visited before. If there's no such new software, or if he has problems with it, evaluators and programmers could be informed. They could then use Replayer to analyse the context and the system on the tourist's phone, and to respond with new software that fits with them. In our project, we will demonstrate contextual software showing such responsiveness and adaptation for the first time in ubicomp - all within an hour of the user entering a location previously unknown to the evaluator/programmer team.


10 25 50
Description The project developed a new method for adapting software dynamically, i.e. while deployed on people's phones, so that recording data for our evaluation could be changed so as to answer new questions arising in the course of a user trial. We also developed methods for users to swap or share software components between phones, so that they could choose to add new features to an app based on the experience of people they talked to and interacted with. In addition, the project established and advanced methods for doing research at scale via 'app stores', exploring ethical issues of such deployments (e.g. people understanding terms&conditions, and what data is collected about them) as well as analytic ones.
Exploitation Route The project set out some basic guidelines for people wishing to support people in changing their apps 'on the fly'. This could be done on some phone platforms (e.g. Android) much more easily than others such as Apple's, because of security constraints. However, given the management of such constraints, we demonstrated some initial exemplars of techniques and people's reactions to them. Larger scale deployments of research software have also become relatively commonplace, and the 'mass participation' methods we developed might (and have been) used by others to guide and deepen their study of apps 'in the wild'.
Sectors Digital/Communication/Information Technologies (including Software)

Description EPSRC
Amount £3,253,414 (GBP)
Funding ID EP/J007617/1 
Organisation Engineering and Physical Sciences Research Council (EPSRC) 
Sector Public
Country United Kingdom
Start 12/2011 
End 11/2016
Description Scottish Funding Council Horizon
Amount £600,000 (GBP)
Funding ID Horizon 
Organisation Government of Scotland 
Department Scottish Funding Council
Sector Public
Country United Kingdom
Start 05/2011 
End 04/2014
Description University of Glasgow
Amount £77,438 (GBP)
Funding ID 56859/1 
Organisation University of Glasgow 
Sector Academic/University
Country United Kingdom
Start 01/2011 
End 01/2012
Description University of Glasgow
Amount £19,987 (GBP)
Funding ID 56051/1 
Organisation University of Glasgow 
Sector Academic/University
Country United Kingdom
Start 10/2010 
End 04/2011