Hi Katie,
Perhaps as a way to address some of the concerns that Jeffrey and
others have voiced (which are very real), we can provide a prompt to
users both on the publishing and the subscribing ends of the sharing
workflows.
If an user doesn't not have timezones turned on in Chandler and is
trying to publish a collection or free-busy calendar, we can pop-up a
dialog saying:
===
Will you be sharing this collection with someone in a different
timezone than you? If you are, we recommend that you assign a
timezone to your events and alarms.
[Ignore] [Okay]
Clicking Okay will turn on timezone support and assign a default
timezone to their calendar canvas that the user can change.
===
On the subscribing end of the workflow (and this would work for both
Chandler and Cosmo CC users with accounts, we provide a notice that
says:
This collection contains timezone information, we recommend you turn
on timezone support for optimal viewing.
===
This addresses several concerns at once:
1. It makes the way timezones work transparent to the user (no hidden
timezones that the user can't see).
2. It provides the do-the-math-in-your-head people a way to keep
their lives timezone-free ;o)
2. It alerts users when they're about to engage in anti-social
sharing behavior.
Is this feasible for Preview?
Mimi
On Dec 6, 2006, at 4:38 PM, Katie Capps Parlante wrote:
Hi Mimi,
Thanks for the summary. I'm going to restate some of what you and
others have said -- to make sure that I understand. All y'all can
correct me if I'm off here.
As I understand it, we have two cases where floating events/
timezone events/sharing collide and potentially create problems.
Floating view of timezoned events case:
+ The *calendar canvas* (or view, in the mvc sense of view) does
not have timezones turned on.
+ Events in the calendar being shared have multiple timezones.
Events don't show up with the proper relationship to each other,
which could have unintended consequences.
This case could show up in either Cosmo and Chandler, but it is
more likely in our casual collaborator scenario because the
starting point for the casual collaborator is that they are looking
at someone else's calendar, and that calendar might have timezones
turned on. If the default is that the casual collaborator doesn't
have timezones turned on, we might be setting up a problem.
I'd observe that as long as the canvas/view *does* use timezones,
we don't really have the above problem. It doesn't matter which
timezone is used, events show up in proper relationship to each other.
I'd argue that the reasonable solution here is to turn timezones on
in the Cosmo UI if the shared calendar uses any (non-floating)
timezones. Any timezone will avoid the problem, and the Cosmo user
could change the timezone to fit the one they wanted to view the
calendar with. (I guess this is either your (B) or (C) proposal).
Freebusy case:
+ A user does not have timezones turned on, all floating all the
time. The user is tracking timezone changes in their head.
+ The user shares their collection as free-busy.
+ Other users might not know what is in the first user's head.
(Then again, if they work/live closely together, the subscriber
might actually know how to interpret the times). If free-busy
subscriber has timezones turned on, the system needs to make some
guess at the first user's timezone.
+ CalDAV free-busy *requires* a timezone associated w/the calendar
to use for floating events.
This case isn't a barn burner for Preview. That said, presumably we
can pick the user's local timezone and associate it with a
published free-busy collection. You could also require the free-
busy creator to pick a timezone when publishing free-busy.
I am sort of concerned about introducing per-collection timezones
and what they are meant to mean and how they would interact with a
UI that displays multiple collections. Some thoughts...
Mimi Yin wrote:
Issue #2 is more complicated. I'm not even sure what a collection
timezone would do. + What does it mean for a collection to have a
timezone which in turn contains individual items that have
different timezones?
I assume the individual item's timezone defines the item's time.
The collection's timezone is a suggestion for the view, or *is* the
view's timezone. It is used to pick the timezone when a new event
is created.
I understand from Grant that even when items are floating, some
timezone is needed to make a decision about what events get
included for a given day/week. If I understand correctly, right now
Chandler defaults to use the system/local time for floating events.
One could use a collection timezone here, but that sounds hairy to
implement for not much benefit to get some edge cases right.
+ How do we overlay collections that have different timezones in
the calendar view?
You could use the timezone of the "top" collection, just as we do
for picking a color (Grant's idea). As you pointed out to me, this
approach could have the downside of the timezone jumping around as
you switch collections, which might not be what you really want.
+ What is the timezone of an individual item if it belongs to
multiple collections, all with different timezones?
The timezone of the individual item should be the timezone that is
used to define the item.
I'd be concerned about supporting different timezones for different
calendars/collections for Chandler in Preview. Its hard for me to
see how we're not opening up a can of worms if we add the timezone
to the calendar, but perhaps someone can help me here.
Cheers,
Katie
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Design" mailing list
http://lists.osafoundation.org/mailman/listinfo/design
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Design" mailing list
http://lists.osafoundation.org/mailman/listinfo/design