Navigation auf uzh.ch

Suche

Department of Informatics s.e.a.l

DayO - Optimize Workdays based on Sleep Patterns and Constraints

Workday-Scheduling Assistant

Wouldn’t it be cool if you had a tool that would help you schedule your work day, based on your preferences, how much sleep you got, and the deadlines you have?

Motivation

Modern knowledge workers need to juggle many different tasks in their typical work weeks. For this project you are going to investigate how to support knowledge workers in optimizing their work days based on their sleep quality as well as other aspects and constraints. You will develop an approach that provides recommendations on scheduling the work week / day based on (a) a curated weekly Todo list (similar to a backlog of tasks) as well as (b) work constraints, such as the daily physical condition (e.g. sleep quality, physical activity), meetings, deadlines, morning/afternoon person.

Goal of this Project

The goal of this work is to model the “work day optimization” problem as a constraint satisfaction problem (CSP), involving the attributes mentioned in the motivation, and possibly others you want to include. Knowledge workers should be able to enter important tasks and activities they have to work on in the next week(s), as well as certain constraints (e.g., fixed meetings, length of certain workdays, deadlines).

Tasks consist of difficulty, duration, and deadline/priority. Some constraints are considered as soft constraints, such as workday length, avg time spent on emails, morning/afternoon person, max. focus time. Others are hard constraints, such as fixed meetings and deadlines.

In case you want, you can also think about and implement the approach for new/other scenarios, such as other stakeholders, mobiles/tablets (i.e. touchscreen) use, or an integration into the IDE.

Or, you could think about and implement a way to allow users to answer their questions with natural language input (i.e. as a sentence) and get the response from the tool. Of course, we could also discuss how to integrate your other/own ideas.

Task Description

The main tasks of this project could be:

  • Think about concept/idea and how the problem could be solved with CSP
  • Implement a prototype (and test it with your own tasks; eat-your-own-dogfood
    • The prototype should consist of a task management tool (either create your own or use an API of an existing one such as Wunderlist, Todoist, Google Tasks, etc.).
    • Users should be able to select their workday plan from the list of possible schedules and add it to their calendar (integrate with Google Calendar or Exchange calendar). Manual changes in the calendar (i.e. moving a planned item to the next day) should be logged and used to train the workday-planning-assistant.
  • Evaluate the prototype with real-world users and improve it based on their needs.
  • Present the approach and results in a presentation and final report.

More information

Contact: André Meyer and Jürgen Cito

Posted: 08.12.2016