Building better reminders: Quick to-dos and audible alerts
Lion’s iCal and Mountain Lion’s Calendar applications have made creating events easier by way of the Create Quick Event feature, which allows you to use natural language such as “lunch with Dan tomorrow” to set up an event. But more convenient still is the ability to create an event or reminder from within any application with the press of a couple of keys. I’ll show you how to do both. Even better, I’ll describe how to enhance one of those methods to make it even more useful…and audible.
Create reminders quickly
Mountain Lion's to-do items no longer live in Calendar, having earned a spot in their own Reminders application. Yes, you can click Reminders in the Dock and then click the plus-sign (+) to make a new reminder. But with the help of an easy Automator workflow, you can keep your hands on the keyboard and make reminders using a keyboard shortcut. It works this way:
Launch Automator, and from the workflow chooser that appears, select Service. Click the Choose button. Configure the pop-up menus in the top portion of the window so that it reads Service receives no input in any application.
Select Calendar in the Library pane, and then drag the New Reminders Item entry that appears in the second column into the workflow area. Click the Options button, enable the Show this action when the workflow runs option, press Command-S to save the workflow, give the service a name such as
Quick Reminder, and click the Save button.
Move to the Finder, choose Finder > Services, and select your Quick Reminder service from the menu. A New Reminders Item window will appear. Here you can provide a title, add the reminder to a new or existing list, assign a priority, and assign a due date. Click Continue to create the reminder.
To assign a keyboard shortcut to the service, launch System Preferences, choose the Keyboard preference, and click the Keyboard Shortcuts tab in the resulting window. In that window, select the Services item and, at the bottom of the list on the right side, choose your Quick Reminder service. Click the add shortcut button and enter a shortcut—Command-Control-R, for example. When you next press that keyboard shortcut, a New Reminders Item window should appear regardless of which application you’re currently working in.
Make custom audio alerts
The one unfortunate gotcha in this workflow is that although the New Reminders Item allows you to enter a due date for the reminder, you can’t assign a time to it. And that means you might dismiss an alert that pops up hours before you intend to act on that reminder, resulting in your forgetting about it entirely. For this reason a reminder isn’t the best way to receive alerts for events that will happen at a specific time of day. Instead, you should use a calendar alert. But don't use just any calendar alert—use one that propels you out of the “Yeah, yeah, dismiss” mindset and moves you to immediate action.
Last year I discussed how to use Automator to quickly create a calendar event from outside iCal. This technique saves you the bother of opening your calendar program and running through the many steps usually required to create an event. Let's now enhance that workflow to make it more audibly interesting. Mountain Lion lets you choose to play a sound when you receive a Calendar notification, but you don’t have the option to use a custom sound. Are we going to stand for that? No we are not!
Get noisy: To create your custom calendar audio alerts, first you need to record the sound. Launch QuickTime Player (/Applications) and choose File > New Audio Recording. In the Audio Recording window that appears, click the red Record button. Shout “Hey! This is important!” into your Mac’s microphone, and then click the Stop button. Choose File > Export; in the window that appears, enter
Important! as the file name. In the Format pop-up menu underneath, choose Audio Only. Choose the desktop as the location to save your file, and click the Export button. QuickTime will export a 256-kbps AAC file.
(If that seems like too much bother, feel free to use this file. Be sure to change its name to
Begin to build your workflow: Now it's time to make your workflow. Launch Automator, select Service from the workflow chooser, and then click Choose. Click the Calendar library, and drag New Calendar Events into the workflow area. Click the Options button and enable the Show this action when the workflow runs option.
Add audio with an AppleScript... You have two ways to add your audio alert to the workflow. First up, AppleScript: Open AppleScript Editor (/Applications/Utilities), and in the Untitled window that appears enter
do shell script "afplay /Users/yourusername/Desktop/Important!.m4a"where
yourusernameis, of course, the short name of your user account (“chris,” for example). Choose File > Export; in the sheet that appears, enter
Important Alertas the file name, and from the File Format menu choose Application. Choose to save the file to the desktop, and click Save.
In the New Calendar Events action, click the Alarm pop-up menu and choose Open file. Drag your Important Alert AppleScript application to the second pop-up menu (see the screenshot above). Save your workflow. If you like, assign a keyboard shortcut to it as explained previously.
...Or, create a system sound instead: If you’d rather not mess around with AppleScript, you can add audio to your reminders another way, but this method also requires a few steps. Launch iTunes, and choose iTunes > Preferences. Select the General tab and then click the Import Settings button. In the Import Settings window that appears, choose AIFF Encoder from the Import Using pop-up menu, and click OK.
Now drag the audio file you created in QuickTime Player into iTunes. Select it and choose Advanced > Create AIFF Version. iTunes will make a copy of the file. Drag this copy from your iTunes library to the desktop. Click the file’s name and change its extension from .aif to .aiff. (This conversion from AAC to AIFF is necessary because the Mac will play only AIFF-encoded sound files as alerts.)
In the Finder, select Go > Go To Folder and type
/System/Library/Sounds in the text field; click Go. Drag your Important!.aiff file into the Sounds folder that appears. In the resulting window, click Authenticate, enter an administrator’s username and password, and click OK. The file will be added.
Go back to the Automator workflow you began earlier. In the New Calendar Events action, choose Message with sound in the Alarm pop-up menu; in the pop-up menu to its right, select your Important! sound. Save the workflow.
Assign a keyboard shortcut to this workflow as described earlier. Now, when you wish to create a calendar event with the Important! audio alert, just invoke the service with your keyboard shortcut. In the New Calendar Events window that appears, you’ll be prompted to enter the details for your event. When the alert for that event kicks in, you’ll hear your custom alert sound rather than just another beep, boop, or pop.