Notifications for @mentions in Skype

When it comes to group chat, I generally find Skype is my go-to application. It's always open and does passive chatting well but falls down on group chat because of one missing core feature — @mention notifications. After you resume a group chat from a break, it's a pain in the ass to scan the chats and figure out if anyone spoke at you in your absence. I decided to take a punt at adding Twitter like @mention notifications to Skype IM. It worked out pretty well and I'm now using this every day.

Skype-9-2

How it works

Download Notifications.skypechatstyle.zip.

Unpack and double-click to install, then restart Skype. At the time of writing, this only works on Mac since Skype 5.0 beta is not yet available for Windows. When it arrives on Windows, this should work fine there too.

Skype-8-1

Every conversation view has a new @mentions bar. Enter the keyword you want notifications for.

In my conversations when we use the Twitter syntax to show we're speaking to someone so in my case, my keyword is "@sam". Any messages containing "@sam" are now highlighted and I can see a count of 'unread' messages.

Skype-1

Click a highlighted message to mark read/unread, or to mark all unread click the notifications label.

You now have @mentions in Skype Chat! If you come across any problems or don't like them, you can revert to a different Skype Chat Style and the @mentions will be removed.

Implementation Details

Firstly, this is a total hack but it works pretty well. The Skype conversations are contained in a webview - running a recent version of Webkit - and powered by some JS framework. I tweaked the basic css to make a more minimal skype chat style and added some jQuery to run the new @mentions bar. This is really just a proof of concept so the code is far from beautifully elegant.

Shortcomings in this proof of concept:

- Notification settings are not saved. Right now, you set up your keyword for each conversation and if you quit Skype, you need to do it again when you restart. HTML5's localStorage is available in the webview but doesn't persist through a Skype restart.

- Notifications only appear within the conversation view. Given the implementation details, you'll understand why this is. I would love for these notifications to be passed to Growl but right now, that doesn't seem possible.

The Future of Skype Add-ons

Skype has made a big move allowing users to design their own conversation views. Allowing javascript additions certainly has it's security concerns but gives users more freedom to design better Skype functionality. Hopefully we'll see more of these unofficial plugins coming soon.

Try out @mention notifications in Skype (download.zip) and let me know what you think.