Fantastical and BusyCal

Back in December, there was a discount bundle that included both Fantastical and BusyCal. I thought it odd to have two calendar programs in one bundle, but it was actually a stroke of genius marketing, because I bought the bundle specifically to test out both calendar applications as replacements for iCal. I won’t keep you in suspense: Fantastical won.

In theory, I didn’t have to buy both applications to try them out. Each program can be downloaded and used for free for a couple of weeks. In practice, though, a calendar program—unlike, say, a text editor or a web browser—doesn’t get the kind of intense, hours-long use that allows it to be properly judged in a limited time.1 At least that’s the case for me; I’m sure there are heavily scheduled people who can judge a calendar in just a day or two.

So I’ve been using both programs in parallel since late December. I doubt I really need to describe either one—they were both given workouts by several reviewers back when Lion came out and everyone was horrified by the new iCal that came with it—but for completeness, here’s the nickel version:

Both Fantastical and BusyCal read and write iCal’s data files, so you can switch back and forth between all three calendars.

My reasons for wanting an iCal replacement?. Like everyone,2 I find the faux leather look annoying. It’s not the skeuomorphism per se that bothers me—a little skeuomorphism never hurt anyone3—it’s the jarringly ugly color Apple chose: a yellow-brown that brings to mind the phrases “puke” and “baby shit.” There’s also the problem with the dates being too pale for my 51-year-old eyes. And the navigation delays. If you want to look three months ahead, rapidly tapping the right arrow button or typing ⌘→ three times in succession won’t get you to the month you want because iCal waits until its page flipping animation is done before deigns to accept another “next month” command.

Fantastical has a simple month view that pops out of the menu bar when you click its icon or type its hotkey (⌃⌥-Space by default).


The day numbers, although gray, are dark enough for me to read easily, and today’s date is prominently marked.4 The entry field at the top of the window is where you type the sentence fragment that defines a new event. You can scroll forward and backward either by clicking the arrow buttons or typing the → or ← keys. As with iCal, ⌘T brings you back to today from wherever you’ve scrolled to. Clicking the mouse on another window or tapping the Escape key5 puts the window away.

Everything about Fantastical works as it’s described to work. The natural language parsing for event entries has never been confused in the three months I’ve been using it. The fields in the event definition area fill in as you type in the entry field.

Fantastical date entry

If you favor week or days views (I don’t), Fantastical is not for you—it’s month only. The only other downside I’ve noticed is that it has no facility for defining repeating events. You’ll need another calendar program for that or if you need to print your calendars.

Update 3/11/12
As pointed out by Alex Chan in the comments, Fantastical does have a syntax for entering repeating dates. I was confused by the layout of the event definition area, which doesn’t have a “repeat” field until you type one of the key words (like a day of the week or “every”) into the descriptive sentence.

Fantastical with repeating dates

There are examples in Fantastical’s help system (which, of course, I didn’t look at because why would I do that?) for defining yearly and weekly events.

For a while I thought BusyCal would be that second calendar program. It is, basically, iCal without the baby shit. I can see its date numbers clearly, I can tap ⌘→ as many times as I like in rapid succession and BusyCal will scroll that many months forward.

But there are two problems with BusyCal:

  1. It has no AppleScript dictionary. I was surprised to see this, as the folks at BusyMac want to position BusyCal as iCal Plus. Not being scriptable is a definite minus.
  2. It doesn’t sync to iCloud fast enough for me. More than once I’ve added an event to BusyCal on my MacBook Air, waited a few minutes, then closed the lid and headed out of the house. On checking my iPhone later, that last event was nowhere to be found. This has never happened with iCal or Fantastical—they seem to sync new events right away.

I can live without scriptability. After all, I still have iCal for scripting.6 But the uncertainty surrounding iCloud syncing is unacceptable.

So after three months of testing, I’m able to declare Fantastical a success. It’s not a complete replacement for iCal, but it does enough that I can keep iCal off most of the time. Even if Apple comes to its senses and reskins iCal in Mountain Lion (I’ve heard that some of Address Book’s problems have been fixed, but nothing about iCal) or some later version of OS X, I’ll keep using Fantastical for its fast and simple event entry method.

  1. I should clarify: it’s easy to judge in a short time whether a program is completely wrong for you. But it’s hard when a program is nearly right. 

  2. It really is everyone, isn’t it? I haven’t seen a single person step up to defend iCal’s new look. 

  3. Many design experts came out of the woodwork when Lion’s iCal and Address Book came out. These latter-day Corbusiers, armed with a new word, took to the ramparts to decry ornamentation in their computer user interfaces. None of them, oddly enough, have argued against the Trash or folder icons. 

  4. In a skeuomorphic way, which doesn’t seem to bother anyone. 

  5. There’s a symbol for the Escape key, ⎋, but I tend not to use it because I don’t think it’s as obvious as the others. 

  6. Surprisingly for a menubar application, Fantastical is scriptable. Its main command is parse sentence, which takes as its sole argument the string that you’d type in the entry field:

    tell application "Fantastical"
      parse sentence "Test Event on 3/13 at 2:45p"
    end tell

    Unfortunately, I haven’t found a way to query it for existing events. 

8 Responses to “Fantastical and BusyCal”

  1. Claude says:

    Thanks for the AppleScript and the tips as always

  2. Alex Chan says:

    I’m fairly sure Fantastical does support repeating events. The release notes say that it’s been improved, and I’m sure I’ve entered repeating events in the past.

    I don’t have my Mac in front of me, but I’ll try to check later.

  3. Dr. Drang says:

    Alex, you’re right, as usual. I was thrown by the fact that a “repeat” field doesn’t appear until you type a key word like “every.” Making a correction now.

  4. Ryan Gray says:

    Why doesn’t anyone talk about the natural language event entry that iCal in Lion actually does have? Is it that they can’t stare past the skeuomorphism to try it, or did the buzz over Fantastical draw all attention away from iCal so that no one spent any time with it?

  5. Dr. Drang says:

    A fair point, Ryan, but in my testing iCal’s system wasn’t as good as Fantastical’s for two reasons:

    1. It waits until you’ve typed everything in to show you the event it’s about to create. Fantastical enters the info as you type, which allows you to correct mistakes quickly and gives you more confidence that you’re being understood.
    2. iCal’s system doesn’t seem as natural. The example above, Lunch with Janet on 3/13 at 11am at Panera, doesn’t set the correct date or the location in iCal.

    I suspect iCal could understand that sentence if I phrased it a different way, but Fantastical understands it with all sorts of reorderings of the the date, time, and location.

  6. mhoutman says:

    I went a couple of years ago (since MobileMe) from BusySync to BusyCal between mutual Macs. Now I use both iCal and BusyCal and on iOS BusyToDo.

    I also have license for Fantastical and Today but stopped using them as their screens are too small for my liking.

    I agree with you on the bad looks of iCal; here BusyCal is so much better and reminds me of the old iCal.

    BusyCal has a great list view but lacks searching. It also has great support. ( the guys developed Now Up-to-Date/Contact in the past which I used for so many years.

    At the end there is nu ultimate Calendar app but iCal/BusyCal suits me.

  7. Clark says:

    I didn’t know BusyCal wasn’t scriptable. That sucks. Although since I use Contactizer Pro as an iCal - Address Book alternative I’ve found it’s lack of scriptability not to be a problem normally as I can just script Apple’s apps. The data is shared so this normally works.

    Still one thing that’s frustrated even more than Apple’s recent (last 6 - 8 years) lack of concern about scripting is that so many indie developers have abandoned it. One thing that I always liked about the Mac more than Microsoft’s VBA was that more applications on OSX supported scripting than on Windows. (Beyond that I always found Microsoft’s DOM style of scripting superior to Applescript)

    As I’ve said a few times I’m hoping Apple’s just coming out with an alternative rather than abandoning this rather key feature for pro users. It’s embarrassing that Microsoft’s apps have far superior scripting to Apple’s on Apple’s own OS.

  8. MatM says:

    Thank for most-full-comparison-ever of two beautiful calendar helpers. I stick with Fantastical, (I love this app first time I saw how it works). What interesting for the last three month I see a ‘boom’ of beautiful and irreplaceable menu bar tools like Fantastical, Numi, Dropbox. (I just wonder if wide of my MacBook Pro’13 will be enough for the next application).