“Is this a good time?” – how ImprompDo can tell when you’re busy

Posted by a.hay on 16 September 2014 - 10:00am

By Liam Turner, PhD student at Cardiff School of Computer Science & Informatics.

This article is part of our series: a day in the software life, in which we ask researchers from all disciplines to discuss the tools that make their research possible.

Growth in smartphone technology has led to the traditional trawl for information to be devolved down to an individual level. This presents a challenge as traditional methods of making information available depend on when it is ready available, rather than when it is most convenient for a busy user.

Currently users have to work out the best way to get information while still managing their other commitments at the same time, but it would be more useful if this could be managed proactively. This predictive estimation would analyse and arrange itself around its user’s behaviour before it sent them the new information. This forms the backbone of our project in using the technical capabilities of the smartphone to infer interruptibility and so make a decision as to whether to deliver or delay.

The ImprompDo project saw us create an Android application to identify correlations between context and the level of response you can expect from a user at various given times. Our objective was to better understand if an individual can be interrupted or not at a particular time by exploring how they respond, which differs from existing approaches which survey users for their opinions. This involved repurposing the data available on smartphones, such as sensors and software states, to capture context-awareness. Machine learning techniques, such as logistic regression, were then used to learn proper context and response behaviour, so that the chances of a success can be predicted.

Using the smartphone for context-aware presentation of information can be seen in commercial applications such as Google Now, which uses location to infer information needs. Our work compliments this by exploring when to present information using additional data and a finer level of granularity.

We pitched the ImprompDo app to users as a productivity tool that pushes prompts to complete to-do list items to more opportune moments. When these occur depends on a number of triggers. After setting up the application with a few manual constraints, such as frequency and a range of available hours, the user interacts with the application by responding to push notifications. The feature extraction and machine learning then occurs in situ, creating a progressive and evolutionary learning process.

As we want to assess suitability at a particular moment, push notifications expire after 30 seconds. This is to give the user enough time to respond, but not so long that context changes are more likely. Whilst leaving the notification active until seen may be suitable for some notifications, our objective is to cater for situations that do require immediate response and to avoid pushing at unsuitable moments.

To enable context awareness, we created a library to wrap Android's data collection idiosyncrasies between asynchronous (sensors) and synchronous (volume and battery statistics) data sources. This allowed for a series of snapshots to be taken before and throughout the notification's duration. From these snapshots, features were extracted to represent the context of the moment they were taken in and the response behaviour captured from events in the series.

We are now in the process of analysing the anonymous data collected by ImprompDo. In particular, whether we can present evidence that response behaviour can augment the learning process. By inferring why a user can be interrupted or not through how they respond, we aim for this work to contribute to applications in areas such as behavioural intervention and m-learning.