Is XMPP the 'Next Big Thing' 162
Open Standard Lover writes "XMPP (eXtensible Messaging and Presence Protocol) has been getting a lot of attention during the last month and it seems that the protocol is finally taking off as a general purpose glue to build distributed web applications. It has been covered that AOL was experimenting with an XMPP gateway for its instant messaging platform. XMPP has been designed since the beginning as an open technology for generalized XML routing. However, the idea of an XMPP application server is taking shape and getting supporters. A recent example shows that ejabberd XMPP server can be used to develop a distributed Twitter-like system."
buzzwords are my favorite (Score:5, Funny)
Minus two points for not managing to cram the phrases "AJAX" or "Web 2.0" into this writeup.
Re:buzzwords are my favorite (Score:4, Insightful)
Re:buzzwords are my favorite (Score:5, Funny)
Re:buzzwords are my favorite (Score:5, Interesting)
Re: (Score:2)
Re: (Score:2)
AJAX is an ugly hack...[instead], the server can push XML fragments to the client whenever it wants and some client-side JavaScript could then process them into the DOM
Umm... Isn't that just a different ugly hack?
Browsers force polling. (Score:2)
Google's actually come up with a neat hack to deal with this -- leave the connection open for 30 seconds, and if nothing new comes down it, close that connection and open a new one. Technically "polling", but practically just as fast as XMPP.
Re: (Score:2)
Re: (Score:3, Insightful)
Re: (Score:2, Interesting)
Remember, YMMV.
Re: (Score:3, Insightful)
Re: (Score:3, Funny)
A twitter-like system could be built on top of xmpp. In much the same way that a gmail-like system can be built on top of SMTP/POP. That doesn't mean that SMTP/POP are web-based.
I don't know if a twitter-like [slashdot.org] system would be a wise course of action for an instant messenger system let alone an instant messenger system using XMPP. Do you know what problems could arise from this? Text such as M$, Windoze, Micro$oft, or anything dealing with anti-Microsoft topics would pop-up in your message. This change could occur when you type in MS, Microsoft, Windows, or anything dealing with Microsoft; or just occur spontaneously. ;)
Re: (Score:3, Funny)
Re:buzzwords are my favorite (Score:4, Informative)
Huh?
Field test of XMPP based system (Score:4, Informative)
Just what we (didn't) need !! (Score:2, Insightful)
Is there NOTHING sacred that some lemon won't wrap in XML ???
Oh, no, wait
Brilliant !!
Re: (Score:2)
Re:Just what we (didn't) need !! (Score:4, Informative)
Yeah, I know, this is Slashdot, where people like to spew completely uninformed pseudo-opinions, but this one is just too obvious. Well, happy IMing on unencrypted, stone-age, propertiary networks that force-feed you with ads and censor your messages, if that's what you want.
Re: (Score:3, Insightful)
Well, happy IMing on unencrypted, stone-age, propertiary networks that force-feed you with ads and censor your messages, if that's what you want.
XML doesn't solve any of these problems (and they're not all problems.) There's no technical reason that any given messaging service couldn't use SSL, and XMPP is extensible, and an implementation of it can be made proprietary enough to require a client that will force-feed you ads. Any network can censor messages, assuming they can read them.
Your post is overrated.
Yeah, I know, this is Slashdot, where people like to spew completely uninformed pseudo-opinions, but this one is just too obvious.
Oh, sorry, I guess you covered all of that.
Re: (Score:2)
XMPP is OK but would be better if JSON (Score:2)
It is pretty silly that in a a 4-5 word IM message, 75% of the data transferred in an XMPP client is just protocol overhead, and the message is just 25%.
If they had used a more lightweight container like JSON for the protocol it would have much less overhead.
Frankly, IMO, almost all data transfer protocols would be better suited to the JSON container than XM
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
XMLJPG (Score:2)
Re: (Score:2)
My first impression based on the tools actually using it (like ejabberd) is more like "IRC wrapped in an XML overcoat where everyone is a lousy sexchat bot".
Re: (Score:2)
I am a great sexchat bot.
Re: (Score:2)
E-Mail wrapped in an XML overcoat.
Yes, because RFC 822 header fields are the pinnacle of parser research. Have you ever tried to write your own mail client? Have you ever tried to write your own mail server? By comparison, I'm pretty sure I could knock out a minimal compliant XMPP server in an afternoon, and it would support Unicode for free.
But anyway, the biggest thing the "X" buys you is a lot of extensions [xmpp.org]. I'd say it's actually delivering on what it promises.
Am I too late... (Score:5, Interesting)
'Zemp' would be a nice easy way of saying this.
Re:Am I too late... (Score:5, Funny)
Re: (Score:2)
Re: (Score:2)
Re:Am I too late... (Score:5, Informative)
A lot of people pronounce it "Jabber". The name "XMPP" arose when they were moving it through the IETF standardisation process.
Re: (Score:2)
Re:Am I too late... (Score:5, Informative)
Re:Am I too late... (Score:5, Insightful)
Re: (Score:2)
Why is this modded as funny? As a Pidgin user, I'd LOVE to see someone fix the crapstorm that is their poor excuse for a Jabber client. If you've got the ability, do it...it would make a lot of people happy.
After all, isn't this what the Open Source ethic is all about?
Re:Am I too late... (Score:4, Interesting)
If the guy can write an XMPP client, and knows exactly what is wrong with Pidgin's implementation in order to "fix" his client to support it, then he should be more than capable of providing a fix to Pidgin's code, so that he doesn't have to keep fixing his code, and the all of us Pidgin users can benefit as well.
Re: (Score:3)
What exactly is the problem with Pidgin's XMPP/Jabber support? I use Pidgin for my MSN, AIM, and GTalk accounts.. and all three of them seem to work identically and without issue O_o
In case it didn't come across clearly, I actually am interested in knowing what it does so poorly with Jabber, since as an end-user I really can't say that I see what the issue is =(
Aikon-
Re: (Score:2)
I haven't seen the Pidgin code or dealt with the community, so this may very well be off base: perhaps it's darn nigh unfixable, or the authors don't readily accept patches?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Hell, I'm just happy that I don't have to track license counts any more (like I did with e/pop Professional).
Re: (Score:2)
For a GUI client, I like Psi. Right now I am using the xmpp extension for irssi.
Re: (Score:2)
Re: (Score:2)
Care to elaborate? (Score:2)
Re: (Score:2)
XMPP as a silver bullet? (Score:5, Interesting)
Re:XMPP as a silver bullet? (Score:5, Informative)
Re: (Score:2)
If I encrypt everything in a proprietary method (or with a proprietary key) and layer that into XMPP, you can still be locked in.
It's kind of like saying because it's stored in XML it's open...
<document>
h5847uhlib43o8fvacgos8
5rw4978hefw9348fqw34fg
f438gqwoluiaf4687wgoasd
</document>
There's my open document, so you can read it. (No, I didn't include a DTD, but just
Re: (Score:2, Funny)
Aha! So the gov't *is* hiding UFO's in secret hangers. And do something about that stuttering problem of yours.
Re: (Score:2)
However it's true on the intersite scale. All the services use Bantu, which is XMPP. They actually advertise themselves as the IM used by US govt.
http://www.bantu.com/products/BantuEIM.pdf [bantu.com]
Performance (Score:3, Interesting)
Re: (Score:3, Informative)
Re: (Score:2, Insightful)
A brief explanation (Score:4, Informative)
If someone connected to a gmail jabber server sends a message to andrewducker@livejournal.com then google chat automatically connects to the livejournal jabber server and passes the message over.
You can see how this could be extended to allow federations of application servers to communicate. Heck, you could reimplement email over this without massive difficulty.
Re:A brief explanation (Score:4, Interesting)
Heck, you could reimplement email over this without massive difficulty.
In reality I think it was one of the first things they implemented in Jabber. A lot of clients, especially the hardcore jabber clients, have different messaging modes: one mode composes a single message, another mode opens up a little chatbox. If you examine the former, you'll find that it's exactly like e-mail, although really it's just a jabber message. Everybody ends up using the chatbox because that's what jabber is for, and many popular clients (eg Pidgin) have only that.
In terms of server and protocol, in my opinion Jabber is fully able to do e-mail. In fact, I'm sure Jabber servers already have e-mail gateways. You just need a client that operates in a manner that implements e-mail as we are used to; for example, most clients just pop up offline messages as soon as you connect, or mark them on your roster instead of presenting you with a stored list of messages that you can manipulate mailbox style.
Re: (Score:3, Interesting)
only thing about using xmpp as a mail "replacement", can it do attachments?
no, im not talking about file transfers, im talking about attaching the file to the xmpp message and have it be stored on the server if the recipient is offline at the moment.
thats the one strong suit of mail vs sms or im right now, that you can fire and forget a file rather then having to watch for a person being available to accept it.
still, xmpp will
Re: (Score:2, Informative)
Actually... Yes you can. There's this newfangled thing called the <data> element. But, it got pushed into a XEP like two months ago, so client support is rather limited, and it's only good for 8k for now... :(
If people starts using this much however, I can't see why the XMPP server wouldn't be able to store the file temporarily and then push it once the user is online. But, I think this is better for an xmpp/http hybrid.
Re: (Score:2)
now to see thunderbird and the rest adopt it as a "mail" protocol of sorts
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
In fact, the only reason I can see for a company to move to XMPP (or to include an XMPP g
Re: (Score:2)
Client-side IM services achieved "commodity" status some time ago; monetizing them shouldn't be on the agenda, for the most part. However, server technologies & protocol extensions haven't reached that stage. IMHO any company focusing on client lock-in is shooting their own foot.
A more reasonable alternative is to monetize server development. Find a niche or market segment that would b
WTF? (Score:2, Interesting)
What the hell does that mean?
I don't know whether to apply the "alphabetsoup" tag or the "stopturningnounsintoverbs" tag.
New Here (Score:4, Funny)
Could an ejabbered XMMP server really be said to be Twitter-like?
I don't think that Twitter-like systems are the way to go here.
That's really cool, we could really use a Twitter-like enjabered XMMP server here. It will revolutionise computing!
Re: (Score:2)
Re: (Score:2)
"that ejabberd XMPP server can be used to develop a distributed Twitter-like system."
What the hell does that mean?
I don't know whether to apply the "alphabetsoup" tag or the "stopturningnounsintoverbs" tag.
Where do you see a verb that used to be a noun?
ejabberd is an XMPP-server (that apache HTTP server -> that ejabberd XMPP server)
"can be used to develop" should be obvious
"a distributed": in this case this means that the network does not have a central server; the administration is distributed among the different XMPP-servers
"Twitter-like system": a system like twitter (twitter.com afaik).
Reading comprehension isn't your strong point, n'est-ce pas?
Re: (Score:2)
I'll be curious to see if XMPP makes it into the world of intra-application messa
Re: (Score:2)
"that ejabberd XMPP server can be used to develop a distributed Twitter-like system."
You mix twat,tit and throw in some dimwit and you get a twit. Do a while (42) {} on it and here is your twitter.
On a more serious note the more obscure parts of the XMPP spec can be read in so many ways that there is always a way to create non-interoperable clients. For example - the thread support which is even in the original RFC is still not implemented in any of the clients (I did a patch for pidgin a while back, it is still sitting in the queue). Same for whiteboarding and many other things. Classi
Re: (Score:2)
"XMPP has been designed since the beginning as an open technology for generalized XML routing."
The best reasoning I have is the use of "has been designed since"
Re: (Score:2)
So XMPP was designed from the beginning as an open technology for generalized XML routing."
Better?
Distributed computing and "the cloud" (Score:2)
I'm interested in how this protocol can help glue together applications for better/easier/simpler distributed computing
With all the cheap servers with multi-cores we have, it seems like we all have the ability today to do distributed computing on our own grid.
This site (and corresponding book) Enterprise Integration Patterns [enterprise...tterns.com] was very enlightening to me as I thought more about messaging and less about imperative programming.
New technologies like Terracotta [terracotta.org] (for Java) make distribution simple, too. Eve
Thanks Google (Score:5, Insightful)
Re: (Score:2, Interesting)
PFTLOGCWCUWMUA (Score:3, Funny)
Ugh!
XMPP is a PITA (Score:4, Interesting)
XMPP also requires you to keep a fair amount of state information. Stuff I seemingly would think should be kept by the server. I suppose by making the server really dumb (basically a router) you really put the eXtensible in XMPP but at the cost of a more complex client.
On its surface XMPP looks great: an open-source IM protocol!! Once you, the newb, get into it it gets really ugly.
Then again, maybe I made a poor choice in a python package or I just happened to not find that key page with google that basically explains my problem away (and that's all it is is acclimation, it's not terribly difficult once you "get it"). Not even the wikipedia page [wikipedia.org] explains inner-working details of XMPP. And FWIW, I was *trying* to do what this story was saying XMPP is going to be so great for: server glue for a distributed web-based application. Where I sit now with what [little] I know: I completely disagree until someone wraps it all up into a super-easy library (which shouldn't be too hard).
Re:XMPP is a PITA (Score:5, Informative)
Re: (Score:3, Informative)
The best way, I'm afraid, is to read the RFCs [xmpp.org] (mostly 3920 and 3921. There are updated, clearer drafts, 3920bis and 3921bis, a link away from that page) and XEPs [xmpp.org] (XMPP Extension Proposal). There's also a book [oreilly.com], but I heard that it's a bit outd
Re: (Score:2)
What the hell?
http://pyxmpp.jajcus.net/ [jajcus.net]
How do you get javascript from that?!?!?!
As for this part:
I don't need the library to hold my hand and explain XML, the concept of "online" vs. "away", etc. I want a page that says you have to: connect, authenticate, pull down a roster, send presence notifications, and then send messa
Re: (Score:2)
PyXMPP -- Python Jabber/XMPP implementation
How do you get javascript from that?!?!?!
Woops, you're right. I misread /.'s domain shortcut, jajcus, for JSJaC [in-berlin.de].
Regarding doc, I'm didn't mean that you needed to read all the basics down to XML Namespaces or whatever, but I was surprised by your frustration with interacting with XMPP, and interpreted it as a lack of doc for semi-advanced topics. I couldn't believe that PyXMPP wouldn't provide even a basic tutorial on getting online and sending a message. Indeed, I haven't found anything after some quick googling.
As I said, there's a host of libra
Re: (Score:3, Informative)
If you are enough of a programmer to deal with Jabber, which means being comfortable with XML, this is by far the easiest bit of working with Jabber. All the tricky bits like connecting and stuff are the harder bits worth writing a library for.
Look for a library that handles:
Re: (Score:2)
The little bits that I found were either sparse, incomplete, not authorative, outdated or wrong. Often it was *all* of that at the same time.
Even most of the sample implementations and libraries were outright broken.
XMPP sounds like a great idea in theory and the existence of fairly mature implementations (in erlang FWIW) suggest that *someone* must know how to put t
Re: (Score:2)
Learning to use the libraries, then, requires reading the protocol specificat
Re: (Score:2)
As far as implementations, there are 3 major Open Source servers: ejabberd (Erlang), OpenFire (aka WildFire, written in Java) and jabberd2 (C), not to mention djabberd, LiveJournal's Perl-based jabber server framework.
Re: (Score:3, Informative)
We use jabber.py [sourceforge.net]. It hasn't changed in years, but our needs are pretty simple and it meets all of them easily. For example
Honestly, I don't know how you could make that a whole lot simpler.
Re: (Score:3, Interesting)
Yeah, that's brilliantly simple. Except when you have no clue what you're doing.
Look at the documentation provided by jabberpy. It's computer-generated pydoc with pseudo code on making a simple client. Did they have time to write an entire jabber library but couldn't taken the 45 seconds you did to write actual code instead of pseudo code?
Now when you take your bare example and try to receive messages then your simplicity isn't there any
Re: (Score:2)
What I was addressing was that the fault is in the library (or libraries) you've tried, not that writing a client is inherently difficult.
XMPP isn't a big deal, except on a phone (Score:2)
Re: (Score:2)
Re: (Score:2)
I actually have a smartphone with a Jabber client, and since I primarily use IRC, I wrote some scripts to glue messaging between xmpp-irssi and irc (mostly a gateway between the two so that I could bridge my IRC session to my phone.) The dr
The 'X' means Extensible (Score:2)
One
XMPP decentralized online social networking ?! (Score:2)
[1] http://www.xmpp.org/extensions/xep-0154.html [xmpp.org]
Anything can be the next big thing (Score:2)
1) can overcome real difficulties (Something which overcomes the design principle that everything should be "downwards compatible" to be transported over web servers/proxies/http or funny extensions/hacks of these, overcomes a real problem).
2) Is supported by google
has chances to be a big thing.
Let's hope not (Score:2, Interesting)
For one thing, it is an example of how NOT to use namespaces in XML. Many elements are needlessly separated out, causing a lot of confusion and problems for simple xml parsers. Namespaces do not solve the problem of name conflicts, as the xmpp site still has a registry of namespace names. Separating out extensions - maybe, but the whole point of namespaces is to avoid conflicts when two _disjoint_ e
Re: (Score:2)
Re: (Score:2)