I’ve been living in Campfire quite a bit over the last few days. It’s a great app, well designed and very fast. But it suffers from a problem that iChat and other AIM clients do not have: it’s easy to forget about a chat room while working on something else because there’s no audio or visual notification that you missed a message.
I whipped up a tiny AppleScript that monitors the chat and beeps if there have been any changes. It’s simple but it works fine for me, and should make do until someone writes a full WebKit-based Campfire client app with more options, or until 37signals releases a supported public web services API.
Requirements and how it works:
- Requires Safari. Does not work with Firefox or Camino.
- Campfire must be in its own web browser window, or the front tab in any window.
- Every 2 seconds, it grabs the HTML from the <div> that Campfire uses for the chat messages. If it has changed since the last time, it beeps.
- Only beeps if Safari is not the frontmost application.
- If you are in multiple chat rooms, only works if they are in their own window and visible on screen.
Download: Campfire_Beep.dmg (90K)
Just open the application in Script Editor to edit it. Or view the full source.
Comments? Email email@example.com. Enjoy!
Update: I updated the script so that it doesn’t display errors, more correctly identifies URLs, and supports multiple open Campfire chat windows.
This just in: 37signals added sound notification to Campfire today! So this little AppleScript is officially obsolete. I’d like to take credit for convincing them that such a feature was needed, but we all know how they love to build features that won’t roll-out until the 2nd week after launch. :-)