Relating Events to Emails & Vice-Versa

After getting a lot busier over the last year, I live in my calendar. And a lot of events have a pile of other communication behind them, including emails, documents, and more.

You can attach documents to calendar objects. However, what about linking to emails?

Here, I outline a rough idea of what this would look like.

This is a short last post in my series brainstorming calendar features. For the other posts in the series, see here:

The Details

Like my last post outlining XPROJECT, this one is also really simple. The basic idea is that you could set a XRELATED property on any calendar event.

This property would link to a related email. For example:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:uid1@example.com
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
XRELATED: email://whateveruser@imap.example.com/305d9bd2-8016-11ee-85ac-63780565a41b
DTSTART:19970714T170000Z
DTEND:19970715T040000Z
SUMMARY:Bastille Day Party
GEO:48.85299;2.36885
END:VEVENT
END:VCALENDAR

This would allow the calendar client to link to this email when displaying the calendar event, todo, or other calendar object.

Similarly, you could list these in email headers:

To: demo@example.com
Subject: Hello World
X-Related: calobj://whateveruser@caldav.example.com/8407c726-8016-11ee-ae53-efe084ebbd40

Hello World!

In both of these examples, you see URI-style links. So this could be extended to tons of different types of content. Really whatever clients wanted to support could be included here.

However, you’ll also notice that it’s just the user’s identity on the email or calendar server plus the object’s UID! How do you the rest of the data needed to display things?

Well, this highlights the downside of this proposal. It presupposes that your mail and calendar are integrated at some level.

A lot of email and calendar servers are in-fact integrated. So this would be a non-issue for those. However in other cases, you can push this to the client.

For example, the client could show the related objects if it is configured to connect to these services. And if not, it can show “… and N other related messages” or something.

Why?

Ultimately, what this achieves is putting the right information in front of you, instead of leaving you to dig around in your inbox.

As it is, many email clients auto-suggest creating a calendar event from your email content if it sees something that looks like a datetime. What if it also linked these 2 objects together so you have that context?

The email or calendar client could also autosuggest links based on other email content like including the same project name or having the same participants.

There’s probably even greater integration potential in other object types!

Conclusion

It’s interesting to explore what’s possible in these calendar extension features!

Calendars are so central to modern life. And, it’s kinda sad that there isn’t much development or new features happening.

Like my last post, this one is fairly simple to implement and would provide a small quality of life improvement. It’s possible to implement as a custom extension to the standard.

So I guess the main thrust of all my calendar speculation is that I think there is room for a calendar client that experiments with new features to improve the calendar experience.

Though old, the CalDAV / WebDAV protocol has enough there to support all kinds of innovation. It’s just sitting there, waiting for some enthusiasm and love!

Want new articles in your email inbox?