I'd like to show events on a calendar for my web service's customers. There are four scenarios possible in regards to timezones for these events:
- An event is local to the customer and is in the same timezone. For example, a meeting with a local business.
- An event is physically located in a different timezone than the customer, but it is a "virtual" event and the customer will be attending it in their own timezone. For instance, the customer may want to watch a concert streamed live over the internet, but the concert is somewhere else in the world.
- An event it purely virtual, and all attendants will be experiencing it from their own timezone. For instance, a conference call.
- An event is in a different timezone than the customer, but the customer will be physically travelling to that location to attend the event. For instance, a conference in another state that they are attending.
To complicate things more, my service is going to send reminders via email or text of these events. I suppose this actually isn't hard -- a 1 hour reminder would be sent to everyone attending that event one hour before the time at the physical location. Eve开发者_StackOverflow中文版ryone will get it at the same UTC time, but their local times might be different.
Because my users will be travelling, they will probably not be in a single timezone. So do I constantly change the times of their events on their calendars based on their current IP number or HTML5 geo location? Won't this confuse the users if an event that was at 4PM now shows at 2PM on their calendar?
Are there any best practices for displaying these timezone complexities?
This SO question is similar, but it doesn't really get into how to deal with travelling users and other aspects of my question.
As a user, I would always welcome seeing events show in my current timezone. I would also love to be able to specify the timezone when creating an event. In Google Calendar, which I'm using, this is not possible and when I'm scheduling a conf call or whatever with participants in a different timezone, this feature would be very useful.
Regarding the UI consider this:
- visually distinguish events whose 'native' timezone differs from the user's current timezone; hence, the traveler will see which events are happening in his timezone (most likely physically close to his position) and which in a different timezone;
- regarding virtual events, another visual cue indicating there's no physical presence required might be helpful;
- allow the user to display time scales for multiple timezones in your calendar UI; for example, Google Calendar allows two, and this is usually not enough if your business happens in several timezones frequently.
If I were you, I wouldn't go to changing time zone based on user's physical location.
You see, the way I see it is (let's assume I am a user of your service): I've got some time set on my mobile phone or a laptop. I see a scheduled meeting. What I expect is, the time shown on the event is related to my medium settings as oppose to my physical location. That way I would know how many minutes/hours/days are left.
BTW. It is also important to format dates and times according to my specific locale, so I won't have to guess if 11/09/10 means 11 day of September 2010 or 9 day of November 2010 or even September 10, 2011.
精彩评论