Skype now on multi-protocol instant messengers
By
Halina Mugame on February 4, 2008 in Partners and developers.
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.







Comments
Way get my hopes up, everything was going swimmingly and then:
"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."
FAIL.
Is skype IM really so closed that a text IM client can't be written for it without running the full version of Skype concurrently with pidgin/adium, come on skype, its 2008 already.
inboulder | Thursday, Feb 14
Amen to inboulder. Skype needs to provide at least a text-messaging API that does not require the actual Skype client to be running. I do not understand how they could be so closed in this day and age.
jpliska | Wednesday, Feb 27
"Presumably Adium will need a user to run Skype as well?"
HUH?? Why would you presume that? Presumably, we'd be able to use Skype text messaging in our multi-protocol client without having to run another program at the same time.
endolith | Sunday, Mar 2
No puedo accesar a Skype desde mi PC
sermes73 | Tuesday, Mar 11
It -would- be nice to hear why the plugin won't simply log us in to Skype. I can see why the plugin would check to see if Skype is running and route chat through it, if it is. I can also see how this will complicate the code for it, since it will also want to be aware of Skype being closed, be restarted, etc.
But even if it doesn't play nice like that and simply logs me out of Skype if I happen to log in using the plugin, that would still be -far- better than needing to have Skype installed to be able to use the plugin.
On the other hand, Halina Mugame presumes "Adium will need a user to run Skype", but Eion Robb doesn't state that this is the case. Perhaps there is some misunderstanding and Eion Robb is only saying that the plugin will use Skype if it's there, start it if it can, but run fine otherwise as well? Some clarification would be greatly appreciated.
Last but not least: Eion Robb states the plugin is open source, so if we're at all lucky the plugin will at least tell us something about the protocol, possibly even implements it. If so, it shouldn't be too hard to branch from it or propose some modifications yourself. After all, in the FOSS business you don't complain about a lack of features, you get coding yourself or find yourself a monkey!
grismar.net | Monday, Apr 14