Archive for August 30th, 2011

GSoC 2011: Videochat for Diaspora*

Tuesday, August 30th, 2011

I’m writing about the results achieved with my Google Summer of Code project, for the Ninux community, under the umbrella of Freifunk (I thank them both for the opportunity they gave me).

Briefly it consisted in developing a video chat feature for Diaspora*, a distributed social network.

This project has received a very big feedback and appreciations from the entire Diaspora community, including the core team, who helped and supported me during the development.

Basically, it provides two new functionalities to the Diaspora engine:

  • Textual chat, based on XMPP signaling protocol
  • Video chat, using Jingle XEP
Both have been developed in Javascript, with some Rails code. It uses Strophe.js library for the textual chat, based on XMPP Over BOSH standard, and a self-made extension of it to realize Jingle protocol.
The project includes a custom ejabberd module in Erlang for the integration of ejabberd/diaspora databases, an Actionscript part for the video chat stuff and an external authentication script written in Ruby used by ejabberd to authenticate users from Diaspora.
The project has been split in two pull requests, and we’re currently fixing them before merge with master repository: [1],  [2].

Source code can be found at https://github.com/vcuculo/diaspora, under “jabber” and “video_chat” branches.

Setup instructions here. Some screen-shots: [1], [2], [3].

I hope it will be soon merged and improved by me and the community, to make it available on every Diaspora* pod!

Vittorio