May 2007 Archives
17 May 2007 12:22 PM SAST
Plugging Skype and Pidgin together
After thinking about
de-nuctifying the world I've started to investigate creating a
Pidgin (formerly Gaim) plugin to control Skype. This means you're still using a
closed network, but from an open program, which makes migrating
easier (and allows people to try multiple networks from the same
interface).
The Skype API docs are pretty good and it looks like the API can support at least controlling status, sending and receiving text messages, and making and receiving phone calls. So in principle a Skype plugin for Pidgin is a possibility.
There are a few docs on writing libpurple plugins for Pidgin but less comprehensively - the author of the Sametime plugin or the guy working on a MySpaceIM plugin probably know exactly how it works (the MySpaceIM plugin is a Google Summer of Code project that fits in with my idea very nicely). There is a C Plugin HOWTO in the source code which should get things started. Some ideas in the Adium Skype plugin bug as well.
On the way I read Silver Needle in the Skype which is an article on reverse-engineering Skype and using it - very interesting tech reading... but a shame they haven't made the code available
Well since it's 8 days till we leave Cape Town and head to Japan I'm not planning to actually do anything about this, but thought I'd write it up so I don't lose the links...
PS This blog doesn't currently have a comment mechanism so email comments are welcome to davidf at sjsoft dot com.
The Skype API docs are pretty good and it looks like the API can support at least controlling status, sending and receiving text messages, and making and receiving phone calls. So in principle a Skype plugin for Pidgin is a possibility.
There are a few docs on writing libpurple plugins for Pidgin but less comprehensively - the author of the Sametime plugin or the guy working on a MySpaceIM plugin probably know exactly how it works (the MySpaceIM plugin is a Google Summer of Code project that fits in with my idea very nicely). There is a C Plugin HOWTO in the source code which should get things started. Some ideas in the Adium Skype plugin bug as well.
On the way I read Silver Needle in the Skype which is an article on reverse-engineering Skype and using it - very interesting tech reading... but a shame they haven't made the code available
Well since it's 8 days till we leave Cape Town and head to Japan I'm not planning to actually do anything about this, but thought I'd write it up so I don't lose the links...
PS This blog doesn't currently have a comment mechanism so email comments are welcome to davidf at sjsoft dot com.
14 May 2007 10:25 PM SAST
De-nuct-ifying the world
I've had a strange experience over
the past year, and it's getting more common. As a developer, I used
to be the one recommending software/tech things to my friends. Now
all my non-technical friends have started recommending things to me
that they have discovered on the intar-web. The trouble is, they're
almost all closed systems - apparently free, but under the control
of one group.
It started with Skype. Then xanga. And most recently it's been facebook. The speed with which facebook has spread amongst various of our friends is impressive. Some things about it are really good too - they're beginning to understand the sorts of things you can do with the Web.
But it's hard to explain that these sorts of things are the point of the Web as a Whole, rather than being a neat idea that can only work on a particular site. No-one understands the negative effects of a closed network. Or even more, the potential positive effects they're missing. Part of the problem is vocabulary - if you don't even have words to encapsulate the concepts to communicate, it's hard to argue for something. Open and closed networks are clear concepts to me but it's nice to embellish them somewhat.
So here's my attempt: A closed network utility under the control of one group that doesn't let you federate is called a nuct (a Network Utility Control Trap - don't let them innuct you into it). If you encounter one, you need a way of interacting with it that doesn't suck you in. The point of closed systems is of course, to prevent this.
But no-one seems to be doing the work required to break these things open We need a nuct-cracker suite (drum roll)
A simple start on easy ways to start breaking things open:
The trouble with tech pseudo-values: they're not the gospel. So on the one hand there comes a limit to avoiding things that would help good friendships because I think they could be done better. But more simply, I don't have enough time to actually create the online world the way I want it to be...
Is anyone doing something like this?
It started with Skype. Then xanga. And most recently it's been facebook. The speed with which facebook has spread amongst various of our friends is impressive. Some things about it are really good too - they're beginning to understand the sorts of things you can do with the Web.
But it's hard to explain that these sorts of things are the point of the Web as a Whole, rather than being a neat idea that can only work on a particular site. No-one understands the negative effects of a closed network. Or even more, the potential positive effects they're missing. Part of the problem is vocabulary - if you don't even have words to encapsulate the concepts to communicate, it's hard to argue for something. Open and closed networks are clear concepts to me but it's nice to embellish them somewhat.
So here's my attempt: A closed network utility under the control of one group that doesn't let you federate is called a nuct (a Network Utility Control Trap - don't let them innuct you into it). If you encounter one, you need a way of interacting with it that doesn't suck you in. The point of closed systems is of course, to prevent this.
But no-one seems to be doing the work required to break these things open We need a nuct-cracker suite (drum roll)
A simple start on easy ways to start breaking things open:
- open APIs to access data locked up in closed networks
- a suite for different kinds of apps
- social networks - same API to different ones
- plugins to open source open standards programs to interoperate
with those networks
- e.g. plugin to Gaim to control Skype
- open source servers with open APIs to replace the closed networks
- deploy and let the network effect take place
The trouble with tech pseudo-values: they're not the gospel. So on the one hand there comes a limit to avoiding things that would help good friendships because I think they could be done better. But more simply, I don't have enough time to actually create the online world the way I want it to be...
Is anyone doing something like this?