Each August user declares different roles (or groups), e.g., friends, family members, colleagues, etc., and defines the members of these roles. Users may use delegation in defining role members. For example a user may specify that "my family members' friends are also friends." This adds many users to a rule, using a single policy statement.
Each calendar consists of activities. Each activity has a category, a time period, an importance level, and a creator, in addition to other information about the specific activity. A user can define calendar categories and the time periods in which activity of each category can be scheduled. The time periods need not be mutually exclusive - a user could specify that either work or meetings may be scheduled between 1PM and 4PM.
A user can assign read and write permissions to roles. A read permission is parameterized by a category. A write permission is parameterized by a category and an importance level, which limits the maximum important level someone who possesses this permission can schedule. An activity may override an existing one provided that the new activity's importance level is at least two levels higher than the existing activity.
August can be used as a single-user calendar program or a distributed calendar program for a group of users. It is written in Java, using Swing and RMI.
August needs JDK (or JRE) 1.3 (or higher) to run.
If you are running Windows
If you are running Unix
When a client starts, one need to enter the host address during registration or login process. The host address could be empty if the server is on the same computer. To use a server on another computer, the host address should have the form "//hostname.domainname".
When the server first starts, it automatically populates with users from Sopranos, including Tony, Carmela, Jennifer Melfi, Livia, Junior, Chris Moltisanti, Meadow, Anthony Jr., Paulie Walnuts, and Jackie Aprile. For each user, the password is the same as the user name. (Not so secure, obviously.)
I often run a server at "//silky.stanford.edu", you can use this if you don't want to run a host.
Please send any comment or question about August or this instruction to ninghui.li@cs.stanford.edu