[clug] Sarcasm detection

Daniel Pittman daniel at rimspace.net
Fri May 28 19:44:13 MDT 2010


Adam Baxter <voltagex at voltagex.org> writes:

>> Yeah, I can't disagree with you there.  I look forward to the day that
>> someone has a phone network that uses XMPP instead.[1] ;)
>
> A lot of people are already. Facebook Chat is now backed by XMPP, albeit
> with poor login security and no federation...

That is fair, I suppose.  I don't know what their concurrency level is, but it
might be approaching that of a small mobile phone infrastructure network like
the Australian options by this point.  That would only take ten or fifteen
million concurrent users of chat, after all...

>> Footnotes:
>> [1]  This will never happen because XMPP was designed poorly, and just doesn't
>>     really scale the way it should, but such is life.  XMPP2, I guess.
>
> Does a large network of federated servers assist in scaling XMPP?

Nope.  In practice, that is where the problems actually show up: XMPP does OK
inside a single server, but scales poorly once federation is involved.

The biggest limit is passing presence information: when you change presence a
presence update message needs to be sent to every user that is subscribed.

Within federation, there is no optimization: if john at example.com and
fred at example.com both subscribe to presence from daniel at rimspace.net, my
server is required to send *two* presence messages to example.com.


At that scale it isn't too dire: sure, you ship twice the data you need to,
but it doesn't cost much when you have small scale federation.


Now, the same thing when Facebook and Google federate their networks, so you
have their hundred million plus users cross-subscribing to presence events,
and are generating updates at a huge rate?  Ouch.


Which means that they would really want to work out a presence aggregation
protocol outside the XMPP spec, and stop sending the standard presence
messages in favour of that.

You could certainly layer that protocol on top of XMPP; the extensible part
does work, but at that point it is more debatable what the protocol is.


This same limitation shows up in other places: messages can only have one
recipient, so chat rooms have the same inefficiency, etc.


I was very disappointed when I learned about this, and more so to see that
there was strong resistance from the XMPP core protocol developers to
proposals aimed at achieving at least IRC-style aggregation — because they
considered it unnecessary, and found the current approach appropriate.


So, there you have my rant about why XMPP sucks, even if it sucks less than
the alternatives. :)

        Daniel
-- 
✣ Daniel Pittman            ✉ daniel at rimspace.net            ☎ +61 401 155 707
               ♽ made with 100 percent post-consumer electrons


More information about the linux mailing list