I\'m looking for better understanding of the following user story:
John works in Sidney. At 9:00 in the morning, he logs an event in a web app that runs on a server
Here I'm giving suggestions for best usability without bothering much about implementation feasibility.
1. For first issue of storing events in db, everybody would agree to store it in UTC
2. To give the best user experience, save the history of timezone of user. If you could save timestamp of time zone change, even better. This will enable us to give freedom to user to query without specifying timezone explicitly each time.
So with these features, let see how search query of just "9.00" by John will be handled:
With above mentioned features, now I know that John has been in 2 timezones till date(or get timezones list for mentioned period) . So I'll covert 9.00 from Sydney time zone to UTC, fire a query. Also convert 9.00 from NewYork time zone to UTC, fire a query. In result I'll show 2 rows to John displaying what he did at 9.00 in sydney and at 9.00 in new york. New york line will be blank in this case, but I think still should be shown to user , just to inform him that we searched for this time zone too.
3.What is a good way to ask the user for a timestamp that might include the time zone?
If his timezone is recently changed, whenever he logs in application, a notification should be given that, your default timezone is changed to native timezone.
While creating event, lets say user selects timezone from drop down.Lets not burden user by giving options of all timezones of world.First option of dropdown should be current time zone of user's device. after that timezones from his history of timezones, then UTC and then remaining timezones which he has never used till date.
4.How to display the results, if teams from all over the globe need to discuss the event:
I would like to divide this use case between number of teams 2 or more than 2.
For just 2 teams, I would prefer that each team sees timestamp in its local time zone and other team's time zone. (I personally prefer to talk in timezone of person at other end for his convenience while scheduling a meeting). For more than 2 teams, its better to consider more common timezone i.e. UTC. So in this case, every user should see timestamp in 2 timezones, in UTC and in his default timezone.
These suggestion are given with intention that user need not do any calculation in his local time but at the same he should be able communicate with other users fluently in their preferred time zone.