Saturday, October 21, 2006

Skype API

I just discovered the Skype API. I know, Skype is not open-source, but hey ...

The API is quite cool. Apart from the pretty obvious API access to the voice call and chat stuff, there's an API for transparently sending raw streams between programs. So, one could use the Skype API to use a pretty nifty transparent channel to send data between applications. They call this the Application2Application Protocol.

This could be the last building block I need for a pet project I have, the Personal Information Server. There I need a method to communicate with different PIS in a P2P manner, no DNS name resolution and stuff. Transparent "just works" type of communication.

Using the PIS one would mark certain types of information managed by the PIS as "public", and other PIS (those from your friends, co-workers, company , ...) would
query any "new" stuff and incorporate this new stuff into their own information store.

Using the Skype API, this could work out pretty nifty:

  • You start up your PIS instance
  • the PIS instance checks whether or not you're online with Skype
  • if you're online:
  • check if my buddies are online and have their PIS started
  • fetch the new stuff (contact info's, phone numbers, events, blogs, ...)

So, in theory, if you start up your PIS, it begins to sync with your peer PIS from your friends. That way, contacts and events stay synchronized, even if you're not online all the time, and even if you're behind a firewall.

You could also have more than one PIS, one on the road on your laptop, one at home, etc.

Nifty.

I think I'll play around with this stuff a bit. I've found no python bindings yet, but hey, at last we all have ctypes now with python 2.5, don't we ;)

No comments: