Internally here at Delphic Sage, we use an in-house built task system for assigning bugs or tasks, and to generally get stuff done and / or keep track of it. It has your basic functionality... create and assign tasks, change the status or resolution, add comments. It has become slightly more advanced when we integrated Basecamp into it. It's getting there...
When an employee is assigned a task, they would not know about it unless they had the task system open and were refreshing their list. To alleviate this, and to help Project Managers keep their sanity, we developed a task notification system built on AOL's IM protocol, using a library found on the internet. This library proved to not be reliable. It would lose connection to AIM and it wouldn't report it to the application, so the application would be happily sending task notifications into oblivion, marking them as sent in the database. Luckily, it's not mission critical! Employees will still have the tasks assigned to them, whether or not they get a notification.
In an effort to move toward a more reliable system, we decided to give XMPP and Google Talk a whirl. XMPP (eXtensible Messaging and Presence Protocol) is a standard implemented by many servers and has many different clients supporting it. Since our email here at Delphic Sage is hosted by Google, and every google account comes with a Google Talk account, it would seem to be a logical move. It would also make it easier for future employees to start receiving task notifications immediately. There are some people without AIM accounts, if you can believe it. Read on about our solution...