Subject: Observations on recurrences in existing calendaring systems

From: Jonathan Lennox <[email-masked]>
Date: Wed, 21 Mar 2001 19:15:28 -0500 (EST)

Here are some observations I made of calendaring programs, last September,
when I was originally creating the RRULE subset that went into CPL.

None of them support sub-day recurrence rules.  Some of them, however,
(notably Outlook) support arbitrarily long rule durations.

(The IPTel people have seen this list before.)

I'd be interested in further observations from CalSch folks, especially
people who've implemented iCalendar COS import/export.

-- 
Jonathan Lennox
[email-masked]

Sun cm

Appointment recurrence parameters:
Date
Start time
Stop time
Repeat:
        One Time
        Daily
        Weekly
        Every Two Weeks
        Monthly By Date
        Monthly By Weekday
        Yearly
        Monday through Friday
        Mon, Wed, Fri
        Tue, Thu
        Repeat Every...
                N (days | weeks | months)
For: N (days | weeks | biweeks | months | years)

The stop time can be earlier than the start time -- it asks you if
you want it to continue to the next day.

Time Zone: from /usr/share/lib/zoneinfo/.  In "View" menu, not appointment
setting.

Netcenter WebCalendar

Date
Time (5-minute intervals, 12:00 AM to 11:55 PM)
Duration (5-minute intervals, 0:05 - 12:55)
Repeat:
        * Does not Repeat
        * Repeats (every | every other | every third | every fourth)
                (day | week | month | year | MWF | TuTh | MW | M-F | SaSu)
        * Repeats on the (first | second | third | fourth | last)
                (Su | Mo | Tu | We | Th | Fr | Sa) every month
* No End date, or * End by [date]

Appointments do not carry past midnight -- duration is truncated.

Time Zone: GMT offset only.  In "Calendar Preferences".  Does not seem
to take DST into account?

SDR
How often it takes place: (Once | Daily | Weekly | Every Two Weeks |
        [Monthly By Date] | [Monday through Friday])
        from [Date] at [Time] for (30 minutes | 1 - 12 hours | 1 - 6 days)
Length of this series of sessions:
        (2 - 6 days | 1 week | 8 - 13 days | (2 - 4) weeks)
        [ "Week" parameters only for weekly; "4 weeks" only for biweekly ]

"Monthly by date" and "Monday through Friday" selections are disabled.
Bug list says 'Doesn't handle SDPv2 repeat times with units "M" and "Y"'

Microsoft Outlook

Start time: (Date) (Time) [X] All day event
ENd time: (Date) (Time)
Start - End can be arbitrarily long

Appointment Recurrence
Start:  [Time]    End:  [Time]    Duration: [Interval]
(Remebers dates of parent window, though they cannot be set here)

Recurrence pattern:
* Daily:    * Every [N] day(s)
	    * Every weekday

* Weekly:   Recur every [N] week(s) on:
            [] Su [] Mo [] Tu [] We [] Thu [] Fri [] Sa [] Su

* Monthly:  * Day [N] of every [N] month(s)
            * The (first | second | third | fourth | last) 
               (day | weekday | weekend day | Su - Sa)
               of every [N] month(s)

* Yearly:   * Every (Month) [day]
            * The (first | second | third | fourth | last) (day...) of (month)

Range of recurrence:
Start: [Date]      * No end date
		   * End after: [N] occurences
                   * End by: [Date]

Netscape Calendar

Main tab:
Date, Start Time, end time, duration.  (Duration cannot exceed 24h)

"Repeating..." tab:

Start: [date]
        * Until [date]
        * For [N] (Day(s) | Week(s) | Month(s) | Year(s)

Include: [X] Saturdays [X] Sundays [X] Holidays

Frequency: Daily:
	* Every day
	* Every [N] day(s)

Weekly:
        * Every week
        * Every [N] week(s)
        [Mo] [Tu] [We] [Th] [Fr] [Sa] [Su]

Monthly on date(s):
        * On the [N] of every month
        * On the [1st .. 31st] of every [N] months
                   ^ multi-choice

Monthly on day(s):
* On the (1st, 2nd, 3rd, 4th, last) (Su - Sa) of every [N] month(s)
         ^ multi-choice

Yearly:
* Every year
* Every [N] year(s)