A better Apple Calendar

Franklin Schamhart
The Startup
Published in
4 min readJun 30, 2019

Working in a large, dynamic and Mac-heavy environment, Apple Calendar is amongst the most used tools in my toolkit. Unfortunately, the lack of certain features make it into a suboptimal, sometimes even frustrating experience. So I thought about a way to fix it.

Traditionally, calendars where used for logging date and time bound events. The user flow was simple; when scheduling an event, you consulted your calendar to see if nothing else was planned on that date and time. In other words, calendars followed a ‘date-and-time-first’ orientation.

Check time and date → Write down event name

This concept translated perfectly to the digital domain, providing additional functionalities like access to other people’s calendars, searching for specific events and verifying people’s availability, making the process quicker and easier.

Select time and date → Input event name → Invite people

However, today’s business setting adds more variables to the mix. Next to much denser calendars, we often deal with more invitees, different office locations and the need to book meeting rooms in advance. Here is where Apple Calendar starts to show some problems.

Select time and date → Input event name → Invite people → Check availability → Adjust appointment → Switch to Google Calendar → Pick available meeting room(s) → Hope no one declines…

The fundamental problem here is that the date is the leading variable, while the availability of the invitees is often more important. It makes more sense to first check when someone is available and then pick from those options instead of the other way around, right? In order to make that happen, we need to enhance a couple of features.

Working locations

Some people (like myself) work from different office locations throughout the week. Unfortunately, Calendar doesn’t natively allow me to communicate where I am situated on a specific day, although this can be essential information for anyone that wants to schedule an appointment with me.

I currently solve this by planning an ‘all day’ appointment for myself, with my location as the subject. However, calendar doesn’t recognise it as such. And besides, this space is already used for actual all day appointments. More importantly, manually looking up someones location when needing to schedule a meeting is a very inefficient process. Therefore, having a dedicated feature for location is essential to improving the calendar’s functionality.

A dedicated location section

Native meeting room support

At Dept, we use Google for e-mail, SSO and calendar exchange. Whenever I want to schedule a meeting with a meeting room (which is pretty much 95% of the time), I need to switch to either calendar.google.com or to the Google Calendar app on my phone to add one, because Calendar has no native support for it.

There are workarounds, such as subscribing to all meeting rooms calendars and then manually assigning a meeting room to the appointment (hoping to get lucky). But with over 30 meeting rooms in our two dutch offices, this is practically unworkable.

It would be better if users could easily label new appointments as ‘In person’ meetings. This way, calendar can automatically add an available meeting room of the appropriate size.

The new popover layout

Context-aware rescheduling

When one of the invitees declines, users have to reschedule the meeting which forces them to repeat the earlier mentioned, lengthy sequence. This is currently solved with the ‘find times’ button; but the interface is hard to use and still requires input and thinking.

A smart rescheduling button when one ore more invitees decline

By knowing the invitees, their locations and if a meeting room is needed, calendar is able to smartly reschedule the appointment by itself. In other words, the calendar can automatically suggest new dates and times to the user, taking into account the following:

  • All invitees are available on that date and time
  • Everybody is on the same location (in case of an in person meeting)
  • There is a (similar) meeting room available
System generated rescheduling options

Smarter quick events

With all of the above features in place, calendar would now allow for a much smarter way of quick-adding appointments as well. Instead of the ‘pick-a-time-and-adjust’ approach, users can now start by adding invitees and let calendar figure out what is the next best possibility.

Add event → Input event name → Invite people → Set meeting type + Room requirement → Select from suggested dates

Smarter quick events

I believe that these optimisations would greatly improve the Apple Calendar experience and save millions of users minutes every day.

I realise that some of the issues need to be fixed in the CalDAV protocol rather than just in Calendar as a client. The point of this article is not to formulate a conclusive technical solution, but as an exercise of working backwards from the experience to the technology.

--

--