Your name (to generate invitation messages; cannot change later)
Number of persons invited (including yourself if plan to attend)
Number of time choices
(1) Enter code of the saved session:
this loads the newest version of the session, as stored in the server.
(2) Upload a session save file (named in the format "schedule_<date>_<time>.dat"):
this allows you to load an earlier version of the session stored in your local machine.
A new session has been created, congratulations! Please store the following code for future access to the session:
Schedule optimization requires the knowledge of invitees' preferences towards the different time choices, and invitees can input their
preferences in a webpage which can be accessed by the links below (a unique link for each person).
For your convenience invitation messages are drafted so that you can copy and paste them to your email client for sending.
You can also generate the invitation messages in the main interface by double-clicking an invitee's name and then choosing "Generate invitation message".
What would you like to do with ?
Please fill in new name.
Enter new name:
because it is the only visible.
The will be hidden from the tables and taken out of the schedule optimization problem, continue? (You can always unhide it later)
How much do you care about having this meeting as soon as possible? How much do you care about having the largest attendance?
How much do you care about attendants not having to move around their other schedules? Tell us the relative weights by moving
the bars, one by one, below. (Default is equal weights among these three objectives).
Some invitees may be more important to this meeting than others. Specify each's importance. Only you have the view of
this screen, invitees will not see this. (Default is equal importance among all invitees).
Do some of the invitees form a subgroup that must be represented in this meeting? Create subgroup memberships by pressing
the boxes below, and indicate how many from each subgroup must be present at the meeting.
The main interface consists of a control bar (on the left) and a panel (on the right).
Control bar: for navigating to different sections of panel and other main functions (compute/save)
Panel: for inputting schedule optimization parameters and displaying optimization results
The controls on the panel can be controlled with the following rules.
Any object that turns blue on cursor hover can be dragged.
Any text label that turns pink on cursor hover can be double-clicked.
Any button that has its border color changed on cursor hover can be controlled by any one of the following:
Left and right mouse click
Scrolling on mouse wheel
Up and Down keys on keyboard (use Tab key to shift focus to another button).
Compute optimal schedule
Input optimization parameters in panel (see explanations of sections below)
Press "Compute Schedule" button in control bar
You will be directed to the computation results
Save current session (current values of optimization parameters)
Press "Save Session" button in control bar
Choose name and location of file to be saved
Next time in loading the program, choose "Load saved session" in initial screen, and upload the saved file
Modify objects (invitees, times or groups; see Presence Constraints)
Place cursor on top of text label of object and double-click
Follow instructions in the box that appear (to close it, click anywhere outside the box or the corresponding button)
Five operations are supported:
Hide: makes the object invisible, and it will not be considered in the schedule optimization problem
Unhide: undoes a "hide" action; to unhide an object, select any visible object of the same type
Create: creates a new object of the same type; the new object is added to the end of list
Shift: swaps object's position with that of previous/next object in list; if meeting times are being swapped, their timeline values (see Timeline) are also be swapped
Note that there are two steps involved in adding a new time choice: (1) Create a time object, and (2) Shift it to the correct position with respect to chronological ordering
Optimization Parameters and Constraints
The program optimizes schedules by maximizing the scores of time choices, with the scoring function tuned by parameters in the following sections of the panel.
Objectives: scoring is a tradeoff between three factors
Timeliness: preference towards earlier meeting times; refer to Timeline
Number of attendees: preference towards times with higher attendance; refer to Time Preferences
Invitee happiness: preference towards times with which invitees are happier; "happiness" is defined in Interpersonal Conflicts and Time Preferences,
and is weighted in Invitee Importance
To set the three weights, set first the weight of "Timeliness", and then that of "Number of attendees";
the remaining weight is set automatically such that the weights sum to a constant.
Timeline: quantifies how much more the meeting organizer prefers one (earlier) time over the other
as the distance between their markers (red triangles) on the timeline bar; for example, if "Monday 10pm" and "Tuesday 8am"
have no difference to the organizer, their markers should overlap
Invitee Importance: allows weighing more important invitees more heavily in computing "invitee happiness"
Interpersonal Conflicts: accounts for the case that certain invitees do not get along well and it is preferrable to avoid
having them attend together (or conversely, try to make invitees who get along well attend together)
Time Preferences: quantifies how much each invitee prefers each time; 0 means unable to attend, and 1 to 3 mean
available with varying levels of preference
In addition, each time choice is determined to be feasible if it satisfies all presence constraints.
Presence Constraints: specifies groups of invitees who must be represented at the meeting, i.e., at least
a certain number of group members will attend; when the minimum number required is smaller than the number of group members, all members
are required to attend
As an example, if a meeting requires at least three persons to attend, the meeting organizer can put all invitees in one group and set its
minimum number to be 3