As Apple's calendar app for iOS and Mac OS X moved across recent releases from inconsistent, inadequate, and irritating to more or less just fine, the market for replacements grew and matured. Fantastical for iOS, now in its second release, filled a gap there by not just presented a clean list and offering strong support for different calendar systems, but also its natural-language processing. Type in a semblance of an event, and Fantastical would parse it and place it for you without fuss.

Fantastical's makers, Flexibits, brought a kind of snippet of Fantastical to OS X in its first version: a drop-down day view closely reminiscent of the iOS version. With the release today of version 2, Fantastical on the Mac is now a full-fledged replacement for Apple's Calendar and a strong competitor to similar products. The previous version now appears as the Mini-Window, an optional system menu bar pop-down that gives a capsule view.

The guiding philosophy for the program is that it's a calendar app that focuses on upcoming events in a list view, keeping that view active no matter whether you're looking at a graphical layout of day, week, month, or year. I live in the week view, and the combination of the upcoming list and a glance at the current week tends to work well together.

Type in something that’s very nearly a descriptive sentence and Fantastical 2 parses out the event information.

Fantastical can pick up existing accounts and calendars set in the Accounts system preferences pain, or stored locally or via Exchange, as well as let you manually add other iCloud, Google, Yahoo, and Fruux accounts, or any CalDAV-compatible calendar link.

For me, its weak point is that it feels like a smartly designed events list with broader views attached, but for many users this may be its strength.

Speak freely

Flexibits has always stressed its natural-language aspect, and it works as well or better in OS X than in iOS. (I've used the iOS version for years.) You can typically type a narrative sentence like, "Meet Laci at 10:15 am at 123 Every Street, New York, NY for two hours on Tuesday and set an alarm an hour before," press return, and you're done. The date is set by default to the current one selection; the address added to the location field; the end point figured out; and the alarm turned on.

This lets you include the kitchen sink when you make an appointment instead of needing to tap buttons and flip levers later, though those options are available to modify later. You can also add entries in the drag-and-release model on the calendar layout, but even then Fantastical takes your mouse movements and fills in the parameters related to them and moves the text-entry focus to its fill-in field.

The supported vocabulary is quite large, though it's easy to stump it. For instance, entering, "eat bitter green every night at 8 pm" works just fine, but "eat bitter greens at 8 pm nightly forever" does not. Flexibits says it will be responsive to feedback and expand the vocabulary based on user requests, and even did so during the beta-testing phase.

Reminders have more limited parameters, and you can preface your to-do sentence with "reminder" or "remind me to" or the like. If in the process of creating a reminder or event, you can click a switch to flip to the other kind of entry. That's the one click you might find useful during item creation.

As with most mature software, Fantastical rewards you by experimenting or becoming a more sophisticated user. While it appears at first glance that you have to choose a calendar from the popup entry rather than type it in, Flexibits hit the shortcut of using a slash followed by the unique part of a calendar name--like "/Office public" -- and the appropriate one appears in the calendar field for the entry in progress.

Or you might notice that days and times are entered in a literal format when you drag and drop, and thus enter the current date in full, like 3/25/15, to create an all-day event.

Work the mouse and keyboard

An app that grew from an iOS sensibility definitely believes in minimizing the number of "touches" with a mouse as well. This generally works to its advantage. In the year view, for instance, often a somewhat wasted view in other calendar programs that provides too much information and too little functionality, Fantastical uses shading to indicate the intensity of a day from yellow (least) to red (most). Hovering over a day for a moment reveals a floating summary; clicking a day scrolls the list at left to that day's activities.

Clicking an event in the list sidebar or in the Mini-Calendar list or double-clicking an event in the weekly or monthly view brings up an editable pop-over with the same options found when you initially create an event. This also appears when selecting an event in the day view, although in a separate right-hand pane.

In its drive to keep its approach clutter-free, options besides the basics are hidden while creating or when editing an event or reminder. Tapping a down arrow reveals items, such as invitees, URL, and notes, as well as time zone and repeat in the default area if they haven't already been set for an event.

You can start typing an address, and Fantastical offers suggestions from Google Maps, including items you’ve stored there, such as Home.

For frequent travelers, Fantastical supports fixed and floating time zones for events: the former used for events occurring at a specific time (an appointment or a flight) and the latter that should happen at a given time of day (such as taking a medication) regardless of zone. Enter a time zone in natural language or the word "float" or "floating" and Fantastical places it correctly.

Time zones are supported in reminders, but not floating times, and the time zone isn't shown for reminders, though it is set correctly. The current time zone is derived from the system, but can be overriden in the Advanced preferences. I've found time-zone controls maddening in Apple and other apps; Fantastical has the best controls to set and events, though it does lack a visual reminder in the list and datebook views that an appointment's time is non-local.

Flexibits uses Calendar Sets to manage which of your calendars appear. I've wound up with about 25 personal, family, hobby, and work calendars across seven accounts, and I typically don't need to see all of them. Rather than constantly display a list of all calendar, active or otherwise, Fantastical offers a Calendars preference to build sets which can be selected among in a pop-up menu at the bottom of the list view. It goes further, too, by using geofencing to choose which set should appear when arriving or leaving at a set location.

While this is good in theory, in practice Flexibits needs to take it further, because it lacks a way to create a set of calendars that always displays or to duplicate a set. As a result, you have to re-create your choices every time you create a new one, even if the difference is a single calendar. I definitely miss the ability to toggle one calendar on and off, but I also appreciate that I use this so infrequently that I prefer having the screen space back for useful information I refer to all the time.

Every day, I remind myself to write the book

Fantastical still has room to grow. Its treatment of reminders puts them into a second-class citizen category, which may be appropriate for most people, but doesn't match how I use them. Reminders that have a due-date attached appear in the list with a checkbox to mark them completed, along with exclamation points for higher-priority tasks.

However, you have to press Cmd + R to reveal all reminders, which flips the monthly calendar and list to show to-dos. The list is sort by newest-to-oldest, then priority, then alphabetically. I'd prefer more granularity for dividing up future tasks and dragging undated items, but Fantastical's approach may suit other users just fine.

When simultaneous events occur, Fantastical doesn’t do a great job of making them visually legible.

The weekly view is the one I tend to keep open at all times, and Flexibits didn't appear to factor in the notion of two or more simultaneous events occurring as with shared calendars. Other programs adjust an event's width or typeface dynamically to provide more of a cue in the graphical layout. The company says that it will add a font-size option for views in a future release, but expects the left-hand list view to be consulted more frequently than labels on the datebook layout.

For a program that has a lot of synchronization options for calendars, it lacks one important one: you can't sync account information or other settings, like Calendar Sets, between multiple computers running Fantastical (I have two), or shared feature settings between iOS and OS X. This means setting up Fantastical from scratch on each device and, when a change occurs, managing it on each device as well. The company opted to not use iCloud for syncing, as it offers the software in the Mac App Store and directly as well, but there are many other sync options for these kinds of configuration details.

A powerful replacement

Fantastical's overt simplicity and hidden depths may not be for everyone. But the company made distinct choices based on years of developing its iOS version and previous OS X release. Making design choices instead of throwing everything into the mix produces both good software and sharp contrasts--it's less likely to be for everyone, but more likely to serve quite well those who find the choices appealing.

If you find Fantastical's event-list centric approach, in which upcoming events are nearly to-do items alongside actual reminder entries, matches the way you want to manage your calendar, and the natural-language entry an appealing way to avoid adding events, it's the right program to pick.