Hi,

Thinking about this a bit I was wondering if the real issue is that the Dashboard is lacking the notion of a time bracket (like the calendar has because of its nature) while, indeed, it's all about time (Now, Later or Done). I know those are "triage status" but they are truly related to a rubbery notion of user time as their monikers indicate.

Proposal: For recurring events, expand and individualize occurrences in a limited time frame centered on "today" (say one month on both side, future and past, just to get a picture). Thus using the same mechanism we currently use for calendar.

Rationale: From a user standpoint, displaying all possible occurrences or just the master seems inadequate. Displaying only the next one is weird too since the user may want to manipulate different instances differently (Mimi outlined a couple of scenarios). Since the dashboard objective is trying to focus the user on what needs to be done Now or not too far from now, it makes sense to display a time bracket. Also users act on instances of events so displaying them instead of the master seems more adequate.

Implementation: We could use the same expansion mechanism we're using currently in the calendar view. Manipulating any of those occurrences would be no different than manipulating one in the calendar today. If I'm not mistaken, this mechanism indeed creates individual events in the repository. We should make sure that those events and the ones created by the calendar are one and the same (I see no reason why not but just pointing to the possible issue).
The differences with calendar are:
. for non recurring events, we would not bracket them in time. Seeing that trip to NY in 3 months from now for a conference is still important. So the way we create the collection will be different from what's done by the calendar. . we need to change the bracket (go to the "next" one) every so often (once a day apparently...).

Consequences:
. We edit only occurrences so we don't have the problem of creating modifications out of the master we're having now (at least, the problem is no different to the one we have with calendar and we have a pretty good solution there). . This solves the issue of triaging several near occurrences of the same event (say the meeting in 2 weeks in a weekly meeting of which 1 occurrence shows up in Now and 3 in Later). . Occurrences that are not marked Done will simply fade out of view. Is that really bad? I don't think so (at least, most of my recurring meetings don't need to be actively triaged to become Done: their time simply pass...). . Long range recurring events won't come into focus before they enter the time window (say birthday won't be shown before the month before). Might be bad... Not sure... Could we have a "variable time frame" depending on the recurrence frequency? On the other hand, if the dashboard is about "focusing on Now", not having "Christmas shopping" showing up in Later all year long is not that bad if you ask me. . The Dashboard is not really a "view all" sort of view anymore since some temporal masking is added for events. Should we have a true "All" view with only master events (no occurrences) and no triage then?

Thoughts?

- Philippe

Bryan Stearns wrote:
Mimi,

Our recurrence implementation doesn't allow individual occurrences to have their own values for attributes (that is, values different from the master's) unless the occurrence is a "modification", which means it inherits *no* attributes from the master (and won't change if an "all events" or "this and future" modification is made to the series). (Alternatives to this have been proposed, but aren't going to be implemented soon.) ... so (see below)...

Mimi Yin wrote:
Hi Bryan,

On Sep 12, 2006, at 3:47 PM, Bryan Stearns wrote:

Grant interprets the spec (I think) to call for showing modifications. However, I'm not sure what constitutes a modification. Philippe suggested, and Mimi +1'd, that triageStatus changes should be considered modifications, but triage status changes with the passage of time, so every event that's gotten bumped to Now and is now in the past would be a modification.

I think the user has to manually set an event from NOW to DONE. It doesn't automatically become DONE just because the event end date/time is in the past.
Right - but when an event's startTime is reached, it automatically becomes "now", which doesn't work right for recurrence series because occurrences can't have their own attribute values without becoming modifications.


(Yesterday, I got fed up with thinking about these recurrence issues, so I implemented the mechanism to set the "read" attribute when an item is displayed in the detail view - it works great for ordinary items, but guess what happens when you display a recurring event? You get the All/This/ThisAndFuture alert, and get to create modifications. Clearly that's wrong: even if we didn't put up the alert, it'd mean that any occurrence you've looked at suddenly became a modification!)

It might make sense for individual instances to be Read or Unread. For example, if I edit and update the Agenda for the 3rd instance of a weekly lecture series and send it to you, shouldn't you see that particular instance of the recurring event as unread?
Except that individual occurrences can't have their own attribute values without becoming modifications.

Although now re-reading what you wrote, I'm not sure I understand what you mean by: "any occurrence you've looked at suddenly became a modification".

...Bryan
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Design" mailing list
http://lists.osafoundation.org/mailman/listinfo/design

Reply via email to