Skype now on multi-protocol instant messengers
More talented developers out there doing something really interesting Want to know more?
Meet Eion Robb from New Zealand – developer and a brand new Skype beta tester. Eion is writing an open-source cross-platform plugin for Pidgin and Adium (both multi-protocol instant messengers). It allows them to use Skype as another protocol, in C (and a little bit of Objective-C for OS X).
Here’s what came out of my chat with Eion:
Where did you get this idea and why did you start to develop this?
I had tried using the SkyLlian plugin for Trillian a few years back until I switched over to using Linux and OSX for work. Since then, I had been using Skype side-by-side with Pidgin and Adium and checking Google every couple of months to see if someone had written a plugin for either of them. In the end, with some incentive from the Adium community, I jumped in and started coding it myself.
]]>Was it easy to develop the Skype plugin for Adium and Pidgin? What was/is the most difficult part?
It’s been a bit of a rocky road developing the plugin, but the best way to describe it would be “fun”. The hardest part was remembering how to program in C again, after spending the last 4 years being a web developer.
How far is the development at the moment? Is there anything you’re struggling with?
Development is quite far along at the moment – almost everything is working including instant messages, adding/removing/authorising buddies, making calls, getting user info, checking for Skype updates, checking Skype Credit balance, grabbing buddy icons, searching for buddies. So far I haven’t got multi-user chats working yet but this shouldn’t be too far away.
How does Adium’s multi-protocol instant messenger work from the user’s viewpoint? They may have friends logged into MSN, Skype, Yahoo Messenger, etc. Does Adium enable users to create chat rooms (multi chats) with users logged into more than two different IM systems?
From a user’s viewpoint, Adium hides most of the complexity of managing multiple accounts. All your contacts show up on one list, all your accounts sign in at the same time, and changing your status is reflected on all your accounts at once. Unfortunately, Adium doesn’t allow multi-chat with users from different services.
Presumably Adium will need a user to run Skype as well?
The plugin makes sure that Skype is running, and if not, starts it up to be used by the plugin.
Adium is (currently) available for Mac OS X. You said you are working on Skype support for both Adium and Pidgin (which is also available for Windows). Does that mean that the Skype support is actually going into a shared library that both Adium and Pidgin are using (libpurple)?
That’s right. The plugin is mostly a plugin for the cross-platform libpurple library. This allows me to have one code base so that any changes I make for the Windows version are also changed on the Linux and OS X versions. Also, a variety of other programs use libpurple, and they can all take advantage of my plugin.
Will your client be able to do cross-protocol file transfers between Skype and MSN for example?
At this stage, Adium doesn’t send files between protocols.
What are the future plans regarding Skype integration to Adium and Pidgin? Calls, video calls?
Currently, the Pidgin and Adium teams are working together on voice and video in their clients. Once they’re ready, I’ll be hooking the plugin into this new system, which should have better integration with voice/video calls. At the moment calls are made through Skype, but the plan is to have a complete replacement for the Skype UI.
Eion released his plugin in early November last year, and has been making constant tweaks and updates ever since. He uses the plugin on a daily basis, so if he finds a bug, he’s making sure it gets fixed pretty quickly.