Blog | frasergo.orghttps://www.frasergo.org/blog/2007-05-17T12:22:04+00:00BlogPlugging Skype and Pidgin together2007-05-17T12:22:04+00:00david/blog/author/david/https://www.frasergo.org/blog/2007/05/plugging-skype-and-pidgin-together/<p>After thinking about <a href="/blog/de-nuct-ifying-the-world/">de-nuctifying the world</a> I've started to investigate creating a <a href="http://pidgin.im">Pidgin</a> (formerly <a href="http://gaim.sourceforge.net/">Gaim</a>) plugin to control <a href="http://www.skype.com">Skype</a>. 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).</p>
<p>The <a href="https://developer.skype.com/Docs/ApiDoc/src">Skype API docs</a> 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.</p>
<p>There are a few docs on writing libpurple plugins for Pidgin but less comprehensively - the <a href="http://developer.pidgin.im/wiki/siege">author</a> of the Sametime plugin or the guy working on a <a href="http://developer.pidgin.im/wiki/MySpaceIM">MySpaceIM plugin</a> 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 <a href="http://trac.adiumx.com/ticket/247">Adium Skype plugin bug</a> as well.</p>
<p>On the way I read <a href="http://www.secdev.org/conf/skype_BHEU06.handout.pdf">Silver Needle in the Skype</a> 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</p>
<p>Well since it's 8 days till we leave Cape Town and head to Japan I'm not planning to actually <i>do</i> anything about this, but thought I'd write it up so I don't lose the links...</p>
<p><b>Update</b> (<tt>2008-03-06</tt>): There is now an excellent implementation of a <a href="http://myjobspace.co.nz/images/pidgin/">Skype Plugin for Pidgin</a> (Adium and other lib-purple apps too) developed by Eion Robb. Development at<a href="http://code.google.com/p/skype4pidgin/">skype4pidgin</a> on Google code.</p>De-nuct-ifying the world2007-05-14T22:25:54+00:00david/blog/author/david/https://www.frasergo.org/blog/2007/05/de-nuct-ifying-the-world/<p>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.</p>
<p>It started with <a href="http://www.skype.com">Skype</a>. Then <a href="http://www.xanga.com/">xanga</a>. And most recently it's been <a href="http://www.facebook.com/">facebook</a>. 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.</p>
<p>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.</p>
<p>So here's my attempt: A closed network utility under the control of one group that doesn't let you federate is called a <b>nuct</b> (a <b>N</b>etwork <b>U</b>tility <b>C</b>ontrol <b>T</b>rap - 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.</p>
<p>But no-one seems to be doing the work required to break these things open. We need a <i>nuct-cracker suite</i> (drum roll)</p>
<ul>
<li>open APIs to access data locked up in closed networks
<ul>
<li>a suite for different kinds of apps</li>
<li>social networks - same API to different ones</li>
</ul>
</li>
<li>plugins to open source open standards programs to interoperate with those network
<ul>
<li>e.g. plugin to Gaim to control Skype</li>
</ul>
</li>
<li>open source servers with open APIs to replace the closed networks</li>
<li>deploy and let the network effect take place</li>
</ul>
<p>The trouble with tech pseudo-values: they're not the <a href="http://www.desiringgod.org/ResourceLibrary/TopicIndex/10/1217_God_Is_the_Gospel/">gospel</a>. 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...</p>
<p>Is anyone doing something like this?</p>