Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a constraint-based scheduling/calendar application?

This application would be used to coordinate multiple people's schedules. Two basic use cases:

  • Multiple people need to schedule a time to meet together. Everyone is busy at different days/times. Each person enters blocks of days/times they cannot meet, and the application suggests the best times to meet given a desired time range.
  • Multiple people need to use some common resources for a specific length of time (over some time span like a week), but the exact date/time does not matter. These people enter the resources and time needed, and the application suggests the best way to share these resources. This use case still accounts for people's blocks of busy time.

I imagine this program would be graphical, but other interfaces would be acceptable. Also preferable if web-based/works on both PC's and Mac's, but PC-only/Mac-only solutions are acceptable.


  • This paper [PDF] from 1991, "The Development of SYLLABUS—An Interactive, Constraint-Based Scheduler for Schools and Colleges," describes a system amazingly close to what I need. Unfortunately, I have been unable to find anything besides a description of the software.
  • Based on this description MS Project seems like it should fit my requirements well. However, I have tried to use it before, and it ended up being easier to just figure it out by hand...


  • I tracked down the author of the SYLLABUS paper mentioned above. He pointed me to the current version of SYLLABUS: Unfortunately, the software seems too enterprise-level (i.e. too complex and expensive)
  • Also, finding the optimal schedule given constraints is NP-complete. That means the problem grows so fast not enough computers exist to solve it in a reasonable amount of time. Stackoverflow discussion here, which points to a list of software that attempts to tackle this problem..
share|improve this question

For case 1 I like WhenIsGood. It's free to use, graphical, and web-based. Folks I schedule with seem to like it, which is a big plus to me.

share|improve this answer

Taskjuggler has its own language to describe who is available when, but if you don't find the language deterring it will give you a timing that conforms the conditions. It will not list you however the possible time points, it will only give you the first solution it finds. I find Taskjuggler easier to use than MS project.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .