Discover ImprompDo

The productivity tool for your to-do lists

Smarter Reminders

Syncs with Existing Services

Interruptibility Learning

Time Management

Battery Friendly

Developed using research undertaken at Cardiff University


Get things done impromptu, without scheduling.

The productivity tool for your to-do lists. ImprompDo bridges the gap between your to-do list/task manager and finding suitable moments to complete tasks. Creating time-management schedules to help complete to-do lists isn't for everybody, ImprompDo adopts a fresh approach of impromptu productivity by getting things done at more opportune moments, rather than working to strict time limits. ImprompDo uses several metrics and machine learning, utilising onboard sensors, to determine suitable moments to push notifications about completing tasks.

ImprompDo doesn't replace your existing to-do list service, instead it adds another layer of functionality alongside their time or location based reminders. The design also minimises disruption of responses, by allowing responses to be made without switching applications and also expiring after a short time to avoid getting in the way.

FAQ and Troubleshoot


What is the purpose of the app?

The App intends to be a tool for increasing productivity in both: maintaining to-do list / task managers and completing to-do lists by pushing prompts to complete items. Instead of a user manually creating reminders and putting the effort in to update and maintain the to-do lists.

What does it do?

The App, given a range of available hours and frequency of notifications, periodically pushes notifications to complete to-do list items that are gathered from your existing services.

The exact moment that these notifications are pushed is calculated from learning reaction behaviour in order to create 'smart' reminders. Therefore the longer you use the app, the smarter the reminders.

Manage the items presented by accepting to do the task, delaying for a day or checking it off if it is already completed.

How does this aid research?

The app reports anonymised data used in the learning process, for the purpose of aiding research into interruptibility.

The reported data is not personally identifiable, account credentials with to-do list services and to-do list information (e.g. what the task is) is not disclosed. Please refer to the: Disclaimer, EULA and Privacy Policy for full details.

What about battery life?

Minimising impact on battery life was a key design consideration, ImprompDo runs in short bursts rather than permanently running in the background. Our observations suggest that this policy does not have a noticeable effect more than the average app.

What versions of Android does it support?

Stable support for Android 4.0 (Ice Cream Sandwich) and above; although please report any issues.

Does it work with other task manager services?

Google Tasks and Todoist are the the only APIs used to fetch tasks currently, this may change if demand is there.


How do I install it?

Install the app from the Google Play Store listing.

It doesn't seem to be doing anything, what do I do?

Notifications should be firing off during each prompt interval, unless:

  • The 'Notifications' switch is off.
  • Both 'Google Tasks' and 'Todoist' switches are off.
  • There are no tasks, only empty tasks or all the tasks have either been delayed or completed.
  • The only tasks available have a deadline beyond 7 days from the current day.
  • Some triggers attempt to capture the end of acceleration or have a probability of being suitable based on various factors, if the criteria isn't met then that notification is skipped.
  • There has been no network connectivity.
  • Android decides to kill the running service(s) required. Try restarting the device.

If none of the above seem like appropriate reasons, i.e. nothing has happened in 24 hours, please let us know.

I don't currently use Google tasks or Todoist.

If you currently use a task manager, it may already support auto-syncing to Google Tasks or Todoist. If you don't use a task manager, Google Tasks can be managed from the web or through third-party Android applications. Todoist can be managed from their website, official Android app or third party apps that support Todoist.

Adding Todoist tasks:

Adding Google tasks through web interfaces:

  • Gmail - By clicking on the red Gmail text and selecting 'Tasks'.
  • Google Calendar - By clicking on the space to create day event and clicking 'Task', with the due date set to that day.

Some examples of third party Google Task Android apps:

Why can't I manage tasks from ImprompDo?

The intention is to avoid users having to switch from their current Apps, with ImprompDo adding a layer of functionality on top of your existing tools and services.

The notifications are getting annoying, what can I do?

The settings activity allows you to change the hours in which you are available to receive notifications and the frequency of notifications within that period, ranging from 1 an hour to 1 a day on average.

It crashed or I spotted a bug, what should I do?

Whilst the app has undergone beta testing issues may still remain, if you do notice bug please report it via email.

Third Party Libraries Used

Android Permissions

  • "draw over other apps"

    After tapping on a notification, rather than opening a new application activity window, task information and buttons to prioritise or complete tasks are displayed in a small box which appears on top of whatever you were doing. In a similar way to the Android volume bar. This allows for quicker display of the box and return to your previous activity.

  • "find accounts on the device"

    Required to list the Google accounts on the device, for you to select which account to authorise the sync of Google Tasks or Todoist from.

  • "use accounts on this device"

    Required to allow the sync of Google Tasks or Todoist by Google sign in.

  • "add or remove accounts"

    Required for the functionality to sync Google Tasks, before the authorisation consent prompt, you can select or if you wanted to add a new Google account before doing so.

  • "view network connections"

    Required for checking whether an active Wi-Fi connection is active, for efficiency before attempting any network call.

  • "view Wi-Fi connections"

    Required for checking whether an active Wi-Fi connection is active, for efficiency before attempting any network call.

  • "full network access"

    Required for interacting with Google Tasks and sending data.

  • "run at startup"

    If you have the service set to active in the application's settings before the device was turned off, this will activate the service again when turned on. If the setting was off, then this does nothing.

  • "retrieve running apps"

    The application package and activity name of the current application in view is collected. This does not contain any personally identifiable information, e.g. "", "".

  • "stop the device from sleeping"

    Required to allow for some background processing, this is only used where neccessary and only for seconds at a time.