There seems to be varying opinions of how events that will occur in other time zones should be shown in the calendar and how alarms should be triggered as the phone moves between time zones. A lot of this is because there are two types of events/alarms people are entering and it's tough to create one solution that handles both. Turing on/off the time zone setting and network time change setting will help in one case or the other, but
not both.

The first type is an event that occurs at an exact time regardless of your location (e.g. football game kickoff, solar eclipse, etc.). Let's call this a 'moment in time' event. For these types of events, the user enters the local time that the event will occur and as he moves to a new timezone he expects his alarm to adjust to the new local time so that he doesn't miss the event.

The second type is an event that occurs at the same time of day regardless of your location (e.g. wake-up alarm, reminder to go for a jog, etc.). Let's call this a 'time of day' event. For these types of events, the user enters the local time that the event will occur and as he moves to a new timezone he expects his alarm will notify him at the same time of day.

Could the solution for the 'moment in time' events be as simple as adding a time zone entry box when creating a calendar event or task? It could default to the owner's home time zone as this would be correct for the majority of events, but give them the option of setting it differently in the case that the event will occur in a different region. That way the calendar will know the real time for the event and will alarm at the appropriate time depending upon the current network time the phone has - i.e. you will still know when the football game starts.

Could the solution for the 'time of day' events be as simple as adding a check box that prevents an event from changing when the phone moves to a new time zone? This way the phone will not perform time zone shifting on those events and the alarm will be triggered when the phone time matches the event time - i.e. you will still be woke up at 7am.

It seems to me that this would solve a lot of confusion that occurs because the phone assumes that all entries are entered in the local time zone where the phone will be when the event occurs. Users wouldn't have to do the adjustment in their heads when entering the time because the phone could do that for them based on the time zone they will input and the time zone that the phone is in when the entry is created. The way I see it, to ensure accuracy, calendars MUST keep track of the exact moment of time that the user indicates, but it can't do that by only asking for the time of day without also asking what timezone that time refers to.

Another feature that might be handy for some users is an option within the calendar which sets which time zone the calendar events will be displayed in. Some people seem to want to always see their events in their home time zone regardless of what time zone they are currently in. Others want the calendar events to appear in the local time where they currently are.

I know that a lot of the issues may come from limitations in the google calendar api, which I admittedly know nothing about. Just trying to start a discussion which would hopefully result in a patch that resolves this issue for all of us.