A Digital Calendar That Allows a Single Event on Multiple Calendars
The One-to-One Relationship between Events and Calendars is completely divorced from reality
I remember the first time my wife (then my fiancé) and I had to invite each other to events on our work calendars. Not for actual work (she maintains that we wouldn’t actually work together well, though I disagree), but for personal events. It was the only way we could think to keep our lives straight.
Fast-forward 10 years, and now it’s even worse somehow. We each have to maintain multiple calendars and even with our best efforts at management, things slip through. And this is just for the two of us: I don’t know how people with kids keep things straight as family size grows. I’m dreading that part, and it doesn’t seem like I’m going to get any help from the products I rely on to try to keep my life together.
Multiple Calendars?
I’ve known some people that manage only a single calendar, and that’s usually their work calendar. I tend to change jobs too frequently for that to be a good idea, but if you’re very stable where you work that might be a decent option. But there’s always been something strange to me about having personal events truly live on my work calendar; it breaks what little work-life separation I try to maintain.
But, that block certainly needs to exist on my work calendar. I don’t want doctor appointments fully visible there, but I do want my coworkers to know that they can’t schedule over that time slot. So, most people I know manage at least two digital calendars: one attached to their work email, and another to their personal. And they manage the things that should be on both by creating an event on one and inviting their other address to the event.
In any unified calendar app (like the one that comes stock from Apple) where you have multiple accounts connected, you’ll then see that event twice, next to each other, in different colors. It’s really annoying, and there’s no indication in that visual of which is the “master” that can be edited without causing an issue in the sync.
This gets even worse if you manage any kind of truly shared calendar. My wife and I use the Family calendar option from Apple to act as the master for our truly shared events, and so often my app will show an event 3 times: the Family event, the duplicate I’ve made of that to my personal calendar, and the invitation event from my personal calendar to my work calendar. It’s a mess.
Does This Really Matter?
Not in the grand scheme of things, no. This newsletter will not (usually) set out to solve the the worlds hardest problems that impact people in real ways. But I do think that the “productivity” apps we use should actually help us be more productive and more organized, and the current execution of calendaring is divorced from the reality of our daily, digital lives. Missing an event, or rushing because you forgot to invite yourself to an event you created somewhere else, sucks. It could be better with different architecture, and I think that would be a real improvement for folks.
The One-to-One Relationship is Untouched
Calendars today really aren’t that different than big old paper calendars we’ve used for centuries. The biggest innovations are scaled invitations, subscriptions, and shared mailboxes that allow multiple people to manage the same content. None of these actually address the fundamental fact that an event on a digital calendar still only truly exist on that calendar. They’re no different than big old paper calendars in that way, and each of the innovations claims to address the problem don’t actually address that fundamental issue.
Invites Are Still Messy
I get the sense that most folks think invitations solve the problem of an event existing only on a single calendar; after all, you can invite any other account and it will show there too! But play along with this hypothetical in which you own both Calendar A and Calendar B:
Calendar A invites Calendar B to an event
Calendar B accepts
Event time changes
Adjustment is made to Calendar B
Calendar A and B are now out of sync
In the workflow above, you can solve the issue by only making adjustments to the Calendar A event. But if you own both calendars, it’s hard to remember which one is the “original” unless you stick to a hard and fast rule. Yes you’re often warned that you’re breaking the sync in Step 4, but those are very easy to ignore. And, throughout all of this, in any unified calendar view you have the exact same event showing twice. Which is how you can make the mistake in Step 4 to begin with. It works, but it’s far, far from perfect and even when it works it doesn’t look good.
Subscriptions Don’t Support the Use Case
I love calendar subscriptions, especially for big public calendars like sports schedules. And for work, big company-wide calendars that are just available as a subscription on the side can be very helpful. But the biggest problem with calendar subscriptions for keeping things organized is that events on calendars you subscribe to never show on your true calendar: if you have a time block from a subscribed calendar, it won’t show blocked on your own calendar unless you copy the event over. And if you copy it over, you need to always remember to move it if the subscribed event changes; there’s no link between them except your own manual maintenance.
Shared Calendars Are Really Just Paper
Shared Calendars have all of the same issues with subscriptions above, except they’re even worse. Yes, it’s the solution I use (setting up a subscription isn’t hard but it’s more steps than I want to take), but it’s not a good one.
In addition to all of the subscription issues, something like the below happens all the time. To copy a shared event to your own calendar, the easiest way is to duplicate the shared event and then change the calendar association of the duplicate. That leads to notifications of creation and deletion that you only did in service of a different goal, and that can cause a ton of confusion.
A Cry for Help
It would be easy to say that these problems are because the companies behind the big calendars don’t like each other and don’t want to play nicely together. While there’s truth to that, it’s not the case here. You can tell because every single criticism above applies to calendars managed exclusively on a single platform; this isn’t a platform fight. It’s just an architecture decision. There’s nothing else to it.
That’s not to downplay the complexity of changing that architecture - I’ve never built a calendar app, but I expect that an event being owned by a single account is core to the way they’re built. But here’s something that might work:
When you create a new event, you choose the calendar it’s associated to. If you could select multiple at that point, there could be some kind of tag applied to the metadata of the event that will prevent it from showing multiple times in a single view. That same metadata could be used to ensure that the event is always in sync between calendars - that unique “Event ID” could be the mechanism to enforce the 2-way sync.
The same mechanism could be used as part of a slightly-updated duplication flow. When you choose to duplicate an event, instead of automatically creating it in the same calendar you could choose the calendar to duplicate to, and you could toggle whether or not to keep them in sync with each other.
I’m sure it’s harder than I’m making it out to be, but it seems like there’s a win here that’s been actively ignored by every player in the space. If someone fixes it, I’ll switch immediately.
Summary
Modern calendars still enforce an event being mastered on a single calendar, not much different than paper calendars we’ve used for centuries. This creates messiness and confusion for everyone that manages multiple calendars and tries to keep their life in sync digitally, and no available workaround solves it. The architecture of these things is all old, but an update to tie events together more tightly based on a unique ID might help.
Best I can tell, though, I might be the only person that actually cares enough to spend ~1500 words complaining - which probably means it’s not getting fixed any time soon.