Rumors indicate that Skype might be sold to Microsoft. This only raises the urgency to develop a simple free competator. So, a good starting point is to list the very basic requirements:
- Peer-to-peer sound and video streams
- Global, distributed contact book
- Encrypted media-streams
- Potential support for conference calls (with one peer acting as server?)
So, how does one meet these requirements?
- GStreamer can solve the peer-to-peer sound and video streams
- Conference calls are not limited by gstreamer
- Encryption can be solved by gstreamer (put an encryption / decryption element in the pipe)
- The global, distributed contact book, is needed but can hopefully be supported by XMPP (Jabber).
The benefit of choosing XMPP is secure and flexible base to build a protocol on. There encryption keys and such can be exchanged, as well as synchronizing the setup and connection of peer streams. Using this protocol we could also support speech.
Another benefit, or risk, depending on how you look at it, is that this solution would be close to Google Talk.
Well, enough talking, I’ll do some prototyping later on and see what I end up with :-)