This echoes how my calendars are organised (and thoughts I had on calendars for the bits that cannot be implemented, Fantastical gets close... yet so far)<p>Expanding on these "key moments", sometimes I wish I could create such durationless events (i.e a single datetime), but for these to show up properly I have to set a certain duration so that the label is readable at every sensible zoom level.<p>In addition some time blocks I create represent not a block of a specific duration but a bracket where a specific durationless event will happen, e.g a delivery that was communicated by the delivery company as happening between 08:00 and 10:00.<p>Regarding the past, I liberally edit to create a record of what really happened: there are recurring events for specific tasks or meetings, and if they happen earlier, later, shorter, or longer than was set I edit the event to reflect reality. This allows me to look back at e.g the past week and adjust expectations for the coming week accordingly instead of trying to bend reality to an idealised version that cannot happen and then wondering why things seem hectic when they appear so regular (e.g why do I feel like I'm always running late vs that block should really be 20 min instead of 10 min). I also love the music playing and health/fitness tracking integrations, similarly Fantastical puts in 10 day weather forecasts, I do wish it would turn into hourly when possible + having history of weather (think about the defunct Dark Sky UI).<p>Then there's future turning into present, and present turning into past: I also wish that integration with other bits of software would work better: an AFK block in my work calendar should change my Slack status and phone Focus mode (iOS), and me manually changing these should also automatically be recorded in my calendar.<p>The above is mostly about me (scheduling, recording), which can be dispatched across many calendars one can create, but calendars serve another purpose, communication: from third parties e.g flights, trains, hotels booked; and to third parties e.g I am available, we'll be meeting, I am focusing, I am AFK but can still efficiently respond over Slack, I am not available at all, I am off for a day, I am off for half a day. The latter is stupidly interesting because the only ways to say that is either a full day event that a human has to parse or a solid block of time (and don't get me started on timeless (non-day events) that span multiple days, for which the UI is fantastically poor for every single implementation out there).<p>Trouble starts because for each calendar account implementation out there there is only one main calendar that is considered "yours" and from which free/busy time is inferred.<p>Trouble doubles down when "this main calendar" is actually <i>these</i> main calendars, a simple example being personal account and work account. I want to be able to tell my SO that I am not available during this specific block because I have an important work meeting, and I want to tell my coworkers that I am not available during this specific block because I have something personal to attend to, <i>without having to manually duplicate the events</i>.<p>I said duplicate but sometimes it's triplicate or quadruplicate because to work around things like that some teams implement shared calendars, and you have to fill those in as well, on top of changing Slack status and focus mode. (BTW props to Fantastical for thinking about making such duplicates appear as a single merged event with a hatched border or something)