Chances are, you use Mac OS X’s iCal calendaring program, the calendaring component of Microsoft’s Entourage or Outlook program, or an online calendar for your scheduling needs. But how often do you actually require the huge calendar view? If you’re at all like me, most of the times you open your calendar program, it’s to see what events are coming up in the next few days or to quickly create an appointment. And given the convoluted interfaces of these programs, “quickly” is often not that quick.
Over the past few years, I’ve covered a number of programs that aim to take the place of a full-blown calendar program for these types of tasks, including Today, FlexCal, MagiCal, and MenuCalendarClock. Each still works well, but the newest kid on the block, Fantastical ($15; Mac App Store link) aims to combine some of the best features of these applications, along with some impressive event-creation technology, in an attractive and easy-to-use package.
When running, Fantastical appears in your menu bar as a small calendar icon displaying, by default, the current date (providing a much-requested OS X feature on its own). Unfortunately, unlike MagiCal, you can’t force Fantastical’s icon to appear at the far-right-hand side of the menu bar. I hope the developer, Flexibits, includes this capability in a future update.
Click the Fantastical icon, and a beautiful calendar appears that shows the current month, with the current day circled. Dates with events—based on your chosen calendar program—display a small bullet, and upcoming events are listed below the calendar. Click an event to view its full details.
Fantastical works with any calendar you've set up in iCal, Entourage, or Outlook, including MobileMe, Google Calendar, and Yahoo Calendar accounts. If you’re using iCal, iCal doesn’t even need to be running—Fantastical can communicate directly with CalDAV servers, which is a feature unique among similar utilities. Fantastical can also read from and write to calendars stored on your Mac; however, when using Outlook or Entourage, you’ll need to have that calendar program open, as Fantastical communicates with Outlook and Entourage using AppleScript. (Fantastical will automatically launch Outlook or Entourage if needed.)
Fantastical works with the excellent BusyCal, although with a couple limitations. The first is that new CalDAV events created in Fantastical won’t appear in BusyCal until BusyCal’s next scheduled sync, and vice versa—so there’s often a delay between the time you create or edit an event in one program and when that change appears in the other. Second, in order for Fantastical to “see” a new calendar, it must be added to, or created in, iCal—if you add a new calendar only to BusyCal, Fantastical won’t know it exists. The developers of Fantastical and BusyCal are working together to address these limitations.
(I tested Fantastical with MobileMe and Google calendars and with iCal and BusyCal.)
You can choose whether Fantastical’s upcoming-events list displays events for today; today and tomorrow; or the next 7, 14, or 31 days. Alternatively, you can choose to show the next five, 10, or 20 events, regardless of the time frame. If you have multiple calendars configured in your main calendar program, you can also choose which of those calendar’s events appear in Fantastical; events are color-coded to match their calendars.
You can, of course, browse to any date and click it to view that date’s events (along with however many subsequent events, or days’ worth of events, you’ve chosen). Alternatively, if you hover the cursor over a date, that day’s events are displayed in a tooltip. Fantastical’s search field lets you quickly find events that match your search string, displaying results in the events list, with the the closest upcoming event selected. I wish you could quickly jump to a specific month and year, but you’ll need to use the next- and previous-month buttons to browse instead.
Just as useful as Fantastical's event display is that you can create new events without having to open your main calendar program. You can double-click a date to create a new event on that date, manually filling in the event’s details, but Fantastical’s standout feature is its natural-language event creation.
Click Fantastical’s icon, or press the new-event keyboard shortcut, and type (in English) a conversational description of the event; Fantastical parses your description to fill in the details accordingly. Press Return, and the new event is created, Fantastical closes, and you can get right back to work.
For example, if I type
Macworld Staff Meeting Friday 10a SF office, Fantastical creates a new event with Macworld Staff Meeting as the subject, the upcoming Friday as the date, SF office as the location, and 10am to 11am as the time. (Events without an end time are assumed to last one hour; those without a time specified are assumed to be all-day events.)
Vacation July 5-12 Maui creates an all-day event called Vacation, with the location as Maui, from July 5 through July 12. Fantastical deftly parses your descriptions, getting the details right the vast majority of the time. It even knows that “lunch” means noon.
A subtle but useful touch is Fantastical’s animation: As you type your event description, your letters and numbers float smoothly from the text-entry field to the appropriate fields in the event-details form. This makes for cute visuals, but it also lets you see exactly where Fantastical is getting each bit of information which, over time, helps you tailor your descriptions to Fantastical’s text-parsing logic.
If you include in your event description the name of an Address Book contact, Fantastical will let you add that person to the event’s invite list and, when the event is created, send them an invitation. (If a contact has multiple e-mail addresses, you’ll need to choose the address to which you want the invitation sent.) If you’re using Outlook, one limitation here is that you’ll need to manually confirm, from within Outlook, the sending of the invitations.
New events are created in your default calendar, although you can choose a different calendar for any event. You can even include the calendar name in your event description, letting Fantastical set the calendar for you, by preceding the calendar name with
Vacation July 5-12 Maui /personal.
Unfortunately, you can’t edit or delete an event from within Fantastical; you’ll need to open the event in your calendar program, which you can do by double-clicking the event in Fantastical. (Flexibits says event editing is coming in a future update.)
One other feature I’d like to see is the capability to “tear off” Fantastical’s window and leave it on your screen—Second Gear’s Today can remain on the screen to display your schedule and tasks, which is a useful option. You can can lock Fantastical so it stays open in its current location, but this usually leaves Fantastical blocking other windows.
Fantastical doesn’t include every feature of every other calendaring add-on, but it’s a great package that handles—with an attractive interface and some impressive options—most of the things you use your “big” calendar program to do. And it makes it much easier and more convenient to quickly create new events. I’ve been using Fantastical for a while now (I started during the program's beta period) and the only time I actually open iCal or BusyCal—my calendar programs of choice—is when I'm trying to find a time for an event and I need to see a detailed view of my schedule.
Note: Fantastical's $15 introductory price is good until June 1; the standard price has yet to be determined.
Updated 5/20/2011, 8:30am, to clarify price and BusyCal-compatibility improvements.