[jdev] Fwd: XMPP in the browser -- your thoughts?

Justin Karneges justin-keyword-jabber.093179 at affinix.com
Mon Feb 21 15:58:01 CST 2011

On Monday 21 February 2011 11:11:09 Matthew A. Miller wrote:
> (Apologies for the delay in publicizing; sickness overtook me)
> One of the guerilla conversations at the XSF Summit was about XMPP usage in
> the browser.  Below is the first documented follow-on.  Most of the rest
> of the responses were about general acceptance of the concept, hence
> they're omission.
> I'll try to forward the more substantive comments soon (and/or urge the
> original participants to respond again here).

Very nice.

I'll add some comments:

> > 2. "XMPP doesn't scale and doesn't belong in serious high-volume web
> > services." It is my understanding there's compelling real-life data
> > showing the high level to which XMPP can be scaled. I'm not the right
> > person to provide and discuss this evidence, however.

XMPP can be scaled fine, but the web works differently than IM.

Typical IM connections are long-lived and low traffic.  The web on the other 
hand generates far more transactions during normal use (some web pages require 
100+ HTTP requests to load), and caching (at all layers: browser, different 
tiers on the server) is what allows high-volume services to be possible.  If 
every page hit were to result in an XMPP session being instantiated, and your 
web service is largely utilized through new page hits (e.g. you're a typical 
website, and not some long-running webapp like a chess game), then this will 
incur significant load.  Indeed I can't imagine any "serious" service working 
this way.

If XMPP is used in the browser, it should be done in such a way that the XMPP 
session transcends individual page loads.

> > 3. "Websockets would be better."
> > I think Websockets would be different—better in some ways, for
> > certain—though without XMPP's instant depth of features and flexibility.
> > And I would hope to see an adoption of Websockets. This isn't either/or.

Websockets is here already and it is only interesting for pushing to a specific 
web page.  You would not go into your browser preferences to set up some 
global "Websockets user account" like you might with XMPP.  One could make a 
case for some XMPP over Websockets transport binding, but beyond that these 
are two separate technologies with different purposes.


More information about the JDev mailing list