Fantastical 2.4

Michael Tsai - Blog - Fantastical 2.4 for Mac

It’s like they read my mind and implemented my four most-wanted features. Great update. Hopefully attachments and travel time will also come to the iOS version soon.

Fantastical at this point is simply the best calendar application on both macOS and iOS. It is one of the handful of apps that I absolutely must install right away when I get a new device. It has come a long way from the first version, when it was essentially a clever menu bar widget for fast iCal (later Calendar) entry.

When Fantastical 2 first came out, I still kept both Apple’s Calendar app and Fantastical in the dock. Some things were better displayed on Calendar than Fantastical. As Fantastical has improved, I found increasingly fewer reasons to open Calendar, and eventually I removed it from the dock. On iOS, I still (technically) use Calendar. Calendar’s widget is better than Fantastical’s for showing the coming block of time, so I have both widgets enabled in Notification Center.

I have been using URIs, and later Dropbox-sharing URLs, as a workaround for attachments in iCal for a very long time, probably nearly as long as it has been in the spec. This works but has never been very elegant. Since I’ve got those habits and some automation built around it, in practice I’ve found I don’t use actual attachments often, though the implementation in Fantastical 2.4 is well done.

The combined calendar display is clever, and it’s both useful and reasonably attractive. I set up a Zapier-to-Google-Calendar workflow to start certain timers on Toggl sometime after I started doing time tracking full-time at the end of 2016. This update makes it possible to leave that calendar visible as an indicator that those events are properly mirrored, without the calendar view feeling crowded and cluttered. Like many good software innovations, it feels so obvious once you see it that you wonder why no one ever did it that way before.

Undo and redo are features that I would have benefitted from literally only hours before the update was released. The extended month view is a good compromise to deal with the problem of high information density in limited space.

Daring Fireball

It really is a great update. I’m not even sure what to ask for at this point. No app is ever “done”, but at this point Fantastical feels feature complete.

Gruber may think Fantastical is feature-complete, but I’ve had something on my wishlist for years. No software on the market offers the ability to set odd intervals or perform date calculations. I’ve had some recurring duties that are supposed to be done every 10 days, not counting holidays.

I can’t simply enter an event like this in any calendar software with a preset reminder and forget about it until I get an alert. Instead, I have to enter dozens of entries at odd intervals; or enter a repeating event, check every single future event, and move ones that conflict, with cascading changes necessary further on.

Supposedly, the automation of detailed repetitive tasks that are easy to screw up if you do them manually is what computers were made for, but no one seems to have filled this niche. This kind of interval is a really common case for educators and students. Though it might be more rare for regular office workers in many places, it’s quite common in Japanese offices to have duty rosters that don’t follow a normal weekly schedule, like my 10 day rotating schedule.

Most calendar programs don’t even have a way to set something like “the third Saturday of every month”. Fantastical gets this right on either macOS or iOS. But I wish someone would build support for entering arbitrary intervals that could be cross-referenced with another calendar, like a subscribed holiday calendar, for conflicts and automatically enter events so that they fall on the appropriate date.

I was so frustrated with having to enter so many of these kinds of events by hand at the beginning every new work year, that I investigated scripting my own solution. Which is like being annoyed by a single mosquito and deciding to eradicate malaria.1

Also, while Fantastical’s natural language parsing is really good, there should be a way to specify a note for the event as part of your entry. You can set notes using the URL scheme on iOS,2 and both iOS and macOS versions will recognize and appropriately handle anything that looks like a URL in the input, but there’s no way to enter a note through the input box without having to click and drop down into the extra info section. A single basic alert can be set by typing something like alert 1 day but neither something like note foo nor note:foo work for setting notes.

Still, these are relatively minor gripes. Fantastical lives up to its name. It is a true Calendar replacement, and it is simply the best calendar for entering new events, which is something I have to do on a near-daily basis.


  1. Sure, no problem. I’ll just whip up a sterility-inducing retrovirus in my spare time. How hard could it be to learn genetic engineering when you figured out basic bio?  ↩

  2. There’s an excellent guide for using Fantastical’s URL scheme at Geeks With Juniors.  ↩