At a Glance
There are many ways programs can try to get your attention in Mac OS X. They can place a small badge on their Dock icon; (annoyingly) bounce that Dock icon; make noise in the background; or even do all of those things at once. But I'm not a fan of any of these approaches. Instead, I prefer Growl, a free (and open source) third-party notification manager for OS X. That description is a mouthful, but basically, Growl watches other programs so you don’t have to. I briefly covered Growl’s features in this Macworld video and Derik DeLong wrote about an older version of Growl back in 2005, but this is our first official review.
Growl runs as an "invisible" background process. When programs that support Growl—developers must add this support themselves—want your attention, they tell the Growl process, and Growl then presents that program’s message on your screen, using one of a multitude of message styles, an example of which can be seen at left (click it for a full-size version of the alert).
I like Growl because, unlike the OS X's built-in methods, it puts me in charge of the notification process. For supported programs, I can choose not only whether or not to receive notifications, but also to decide which notifications I receive based on the type of activity a program is reporting. (Because Growl requires each program's developer to support it, you may find that you don’t use many Growl-supported apps. I personally use Growl for only a handful of apps: iChat, Firefox, Mail, NetNewsWire, SuperDuper, and Transmit. For those programs, however, Growl offers useful benefits.)
Once you install Growl, you configure it in a new Growl pane of System Preferences. The interface features several screens that control what Growl does and how it does it. The General tab lets you add a Growl menu-bar icon, specify whether to leave notifications onscreen if you’re not reacting to them, choose the default location for Growl notifications, and hide all notifications (useful if you want to leave Growl running, but not see its alerts).
The Applications screen contains the meat of Growl's settings. Here you see a list of all programs installed on your machine that include Growl support. (As soon as you install and launch a program that includes Growl support, it appears in the list automatically; you don’t have to do anything.) You can temporarily disable Growl for a particular program by unchecking the box next to it; you can disable support for that program for good by highlighting it and clicking on Remove.
So how, exactly, do you use Growl? I’ll use iChat as an example. While iChat itself doesn’t support Growl, the ever-useful Chax, an iChat plug-in, does. With Chax installed, select it in Growl's list and click on Configure; then click on Notifications to see what kind of notifications are available. As seen in the image below for Chax's settings, there are quite a few to choose from. (Each program will have a different set of supported notifications. Firefox, for instance, only has one “general notification” that handles all Firefox notifications. Transmit, the FTP client, contains notifications for completed uploads and downloads, as well as for completed folder synchronization.)
“But iChat has its own built-in notification system for those events and many more,” you might say. Yes, it does…but if you use iChat’s system, you’ll have to use one of its notification methods, which include bouncing dock icons, sounds, speech, or running an AppleScript.
With Growl, you can instead see a nicely-formatted, floating text box containing the notification. These alerts automatically vanish from the screen after a certain amount of time (unless you elect to have them remain onscreen until you dismiss them). You can even choose for different events to have different notification styles, each with or without sound, or even disable alerts for particular events.
In the case of Chax, I want notifications for only two events: when I receive a new message, and when someone signs on. Using the Enabled checkbox, I’ve disabled all other notifications; I then customized the desired notifications to suit my needs:
Display styles are handled in Growl's Display Options screen. You control the default style for all messages, as well as elements of each notification style. There are many built-in display styles to choose from, including a couple that don’t actually display anything at all: The MailMe display style, for instance, will send you an e-mail instead of displaying a notification, and the Speech style will—surprise!—speak the notification instead of displaying it.
If the supplied styles are too limiting, the developers provide additional styles for download, and a bit of work with Google finds other sites with available styles. One of my favorites is iPhonesque, which emulates the iPhone’s elegant pop-up messages.
My default style is Smoke and, as seen in the image at right, I’ve customized the background colors for the Very Low- and Normal-priority notification styles so messages with different priority levels look different; in this case, as I described above, notifications alerting me that someone has logged on will have a different appearance than new-message notifications. (Had I wanted to, I could have also changed the text color, opacity, and default duration of Smoke notifications, as well as any of a number of other settings. When customizing display styles, a Preview button lets you see what your settings will look like.)
Between the application-specific settings and the customization possible, you can really make Growl look and act exactly how you want: every message can have the same appearance; messages can be the same within an application but vary between programs; or you can go crazy and create unique alerts for every single notification.
As much as I like Growl, it’s got a few issues. First, the project isn’t exactly being updated at a rapid pace: The current version (1.1.4) was released in June 2008 and it’s got a few bugs in it. For example, I noticed a display glitch in the Display Styles tab, wherein the Preview button would display the preview for a different style than the one I was actually working with; specifically, the previous one in the styles list. And network notifications, which allow notifications to be sent to networked machines—useful, for example, for monitoring the status of a large download happening on a different Mac—work only part of the time. Finally, the user interface is a bit complicated to figure out, as there are so many options. Reading the documentation helps a bit, but that information is out of date and the screenshots no longer match what you see when you run the program.
Despite these problems, I still find Growl’s notification service to be quite useful, and it’s hard to complain too much about a free program that works as well as this one does.