The present invention describes
mobile phone applications that include methods and systems which automatically schedule tasks from a dynamically-changing
task list for efficient utilization of available time. Unlike the prior personal task scheduling systems, the proposed
system uses optimization algorithms and computer programs when creating a
time schedule of tasks. In order to schedule individual tasks, the
system takes into account multiple constraints controllable by the user. Basic constraints include individual task's deadline, start-time, minimum and maximum time-chunks for task fragments, relative priority of tasks (in case of time-collision), etc. Further constraints may include user's general preferences regarding individual task or group of tasks. Specifically, preferences may include time-of-day (e.g.,
morning,
evening), location (e.g., home, work, particular grocery store or chain, particular gym, park), etc. In order to schedule the tasks, the
system considers the user's calendar information and regards scheduled time-slots in the calendar as unavailable time for task scheduling. The system also considers as unavailable user-defined time periods reserved for such activities as sleeping, eating, resting, etc., unless the task specifically involves such activities. Furthermore, the system is flexible in the sense that the user can choose not to follow the advised task schedule and reprioritize tasks at his / her will. The system contains other interactive features such as issuing various task alerts to the user, allows the user to decline / delegate tasks and
visualization (e.g. based on
color coding) of the task-
list (based on the status of the tasks, for example, close to completion, cannot be delegated etc.). The allocation is adaptive, in that, the schedule is automatically updated as new tasks enter the system, after task completions, when task priorities are modified, and based on other user inputs such as task declining / delegation. Finally, the system can be operated in a networked mode in which joint tasks involving multiple users (and their calendars) can be scheduled. Since the system will store the calendared event times of each user in the
server, a joint task among multiple users can be scheduled based on the superimposed calendars of the users while protecting privacy of individual user's calendars.