• calendar applications;
  • individual task modeling;
  • scheduling;
  • intelligent personal assistants

This article presents SelfPlanner, a deployed Web-based intelligent calendar application that helps a user schedule in time and space her individual tasks. Contrary to other intelligent calendar assistants that concentrate on automating meeting scheduling, SelfPlanner emphasizes on scheduling individual tasks and events, leaving meeting arrangement for external handling. The two key features of SelfPlanner, also critical factors for its potential broader adoption, are problem modeling and user interface. SelfPlanner supports simple, interruptible and flexible periodic tasks, arbitrary temporal domains, constraints over the parts of an interruptible task, binary constraints between tasks and preferences over their temporal domains, location references, classes of locations, time zones, etc. As for user interface, SelfPlanner integrates with Google Calendar and a Google Maps based application, whereas it introduces an innovative way to define temporal domains, based on a combination of user-defined reusable templates and manual editing. The core of the system is based on the Squeaky Wheel Optimization algorithm, with efficient domain-dependent heuristics. The article is accompanied with an extensive evaluation of the system, comprising an analytic and an exploratory part. Evaluation results are very promising and suggest that SelfPlanner constitutes a step toward the next generation of intelligent calendar applications.