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 here.
I like Growl because, unlike the OS X's built-in methods, it puts me in charge of the notification process. For supported programscha, 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.
Growled iChat: Chax can use Growl to notify you of all sorts of iChat events.
(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).