Mandatorily attaching a time zone to an event is the design defect. When a person in the real world is given the times of events, he is given those in the time local to where the event is happening. And when that person gets there, his phone will acquire that local time.
So why on earth should anyone have to tediously select the destination time zone (which is not shown by default in appointments on iOS or Mac) for EVERY appointment, every time, when you nearly always want to refer to the time SHOWN ON THE PHONE? Come on, this scenario is absurd.
You don’t travel much for work do you? If your calendar is just for you, then fine. But if you have to coordinate with anyone else, you can’t be so sloppy. The phone doesn’t know what you mean unless you tell it.
Clock time without a time zone is underspecified. It might refer to the users current timezone? Or at the time of the event? But what if you invite a user in another timezone? You’re going to miss each other by hours.
So why on earth should anyone have to tediously select the destination time zone (which is not shown by default in appointments on iOS or Mac) for EVERY appointment, every time, when you nearly always want to refer to the time SHOWN ON THE PHONE? Come on, this scenario is absurd.