Re: Websockets

Regarding the whole XMPP vs HTTP debate -

   - XMPP is rock solid for federation - just frigging works, years of
   debugging, extensible etc etc
   - XMPP is great for user to user chat - and users bring their "social
   network" roster with them
   - XMPP drops into an organisation's existing infrastructure stack very
   easily (LDAP and existing chat servers like MS Lync)
   - XMPP completely sucks for webdev
   - HTTP is great for webdev

So the ideal solution is rather pragmatic:

   - buddycloud uses XMPP for federation.
   - buddycloud uses XMPP to tie together a bunch of components (channel
   server, media server, HTTP API)
   - buddycloud built an XMPP+bosh webclient, we failed horribly (too long,
   slow, etc)
   - we have now built the XMPP to HTTP API server (
   https://buddycloud.org/wiki/Buddycloud_HTTP_API running from
   https://buddycloud.org/wiki/Buddycloud_HTTP_API_server)
   - we are now building a webclient that uses this HTTP -> XMPP bridge and
   so far very happy with performance (
   https://munin.buddycloud.com/buddycloud.com/crater.buddycloud.com/httpresponsetime.html
   )
   - We are close to launching our new webclient based on a pure HTTP API
   bridge (that keeps sessions open for speed) with
   https://github.com/buddycloud/webclient/tree/develop

The conclusion of this is that we can now have a) reliable federation, b)
messaging and media sharing across domains, c) plug into a huge community
of developers that are familiar with RESTy and JSONy ways of developing.

I would be happy to talk about some fo the decisions and our thinking
behind each one if there are specific questions.

S.

Received on Monday, 17 September 2012 23:13:31 UTC