Slashdot Mirror


Is XMPP the 'Next Big Thing'

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."

162 comments

  1. buzzwords are my favorite by User+956 · · Score: 5, Funny

    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.

    Minus two points for not managing to cram the phrases "AJAX" or "Web 2.0" into this writeup.

    --
    The theory of relativity doesn't work right in Arkansas.
    1. Re:buzzwords are my favorite by samael · · Score: 3, Insightful

      Except that XMPP isn't a web technology.

    2. Re:buzzwords are my favorite by Rogerborg · · Score: 5, Funny

      Wash your mouth out with SOAP. Everything is a Web 2.0 technology.

      --
      If you were blocking sigs, you wouldn't have to read this.
    3. Re:buzzwords are my favorite by Anonymous Coward · · Score: 0

      twitter. web 2.0. read the last sentence.

    4. Re:buzzwords are my favorite by samael · · Score: 2, Insightful

      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.

    5. Re:buzzwords are my favorite by TheRaven64 · · Score: 4, Interesting

      Why not? The web is basically a way of sending XML to users. XMPP is a way of sending XML to users. AJAX is an ugly hack. It's fine for sending data from the client to the server, but to get updates from the server you need to keep polling. With XMPP, the server can push XML fragments to the client whenever it wants and some client-side JavaScript could then process them into the DOM. There was a proof of concept a few years ago (before AJAX was a buzzword) where someone integrated an XMPP client into a web browser and used it to deliver updates to the page.

      --
      I am TheRaven on Soylent News
    6. Re:buzzwords are my favorite by Firehed · · Score: 0

      Sure it is - just not one that uses port 80. As far as I'm concerned, "web technology" encompasses anything that works over the internet, not just stuff that goes to make websites.

      --
      How are sites slashdotted when nobody reads TFAs?
    7. Re:buzzwords are my favorite by Timothy+Brownawell · · Score: 1

      The web is basically a way of sending XML to users. I thought the web was a way to let users find/retrieve arbitrary information.
    8. Re:buzzwords are my favorite by jdray · · Score: 1, Interesting

      Now, there you go, starting one of those Slashdot-special meta arguments about what the nature of this "web" thing is. Back in the day, "web" was everything HTML, mostly running on port 80. One could argue that "web" is anything meant for direct consumption by a user (y'know, like through a browser), but that's blown on several fronts. Mail has become part of the web. So, where are the edges of the web? Where does it stop? Where does it start?

      Remember, YMMV.

      --
      The Spoon
      Updated 6/28/2011
    9. Re:buzzwords are my favorite by jdray · · Score: 1

      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?

      --
      The Spoon
      Updated 6/28/2011
    10. Re:buzzwords are my favorite by ScorpFromHell · · Score: 1

      Could you please point me to a URL with more info on this? This is most interesting! :)

      --
      -- Prem
      Aiming to tweet on a rice ... help me find the write pen!
    11. Re:buzzwords are my favorite by erlehmann · · Score: 2, Funny

      web == world wide web == you fail (in not-so-epic proportions)

    12. Re:buzzwords are my favorite by Anonymous Coward · · Score: 1, Informative

      ...except that you're ignoring the fact that "Internet" and "Web" are proper nouns, and they stand for discrete ideas. The Internet is the realization of TCP/IP. The Web is a subset of protocols served over the Internet. You use a Web browser, not an Internet browser. The Internet is a worldwide, publicly accessible series of interconnected computer networks that transmit data by packet switching using the standard Internet Protocol (IP). It was created by the US Department of Defense's DARPA agency. World Wide Web: The World Wide Web (commonly shortened to the Web) is a system of interlinked hypertext documents accessed via the Internet. It was created by Tim Berners-Lee.

    13. Re:buzzwords are my favorite by Angostura · · Score: 2, Insightful

      Nope, mail hasn't become part of the Web, some mail systems have Web interfaces.

    14. Re:buzzwords are my favorite by KevReedUK · · Score: 1, Funny

      I thought the web was a way to let users find/retrieve PORN. There... Fixed that for you!
      --
      Just my $0.03 (At current exchange rates, my £0.02 is worth more than your $0.02)
    15. Re:buzzwords are my favorite by Niten · · Score: 3, Informative

      Minus two points for not managing to cram the phrases "AJAX" or "Web 2.0" into this writeup.

      Huh?

      • AJAX = Any technique for combining the XmlHTTPRequest object (or sometimes just an iframe) with JavaScript and XML methodologies to create a more dynamic web page = buzzword
      • Web 2.0 = Anything with a smooth logo, whose name is missing some vowels, and that looks like it might possibly be using AJAX methodologies = buzzword
      • XMPP = A very specific set of protocols, currently being formalized by the IETF, that form the basis for an extensible messaging or presence system and happen to be based on XML = not a buzzword
    16. Re:buzzwords are my favorite by Hatta · · Score: 1

      Awesome. I've thought for some time that HTML and HTTP are being overloaded with crap they're not suited for. They're designed for the markup and transfer of hypertext, applications are not hypertext. I would just love for a real application transfer protocol to evolve and get this interactive crap out of my web.

      --
      Give me Classic Slashdot or give me death!
    17. Re:buzzwords are my favorite by Anonymous Coward · · Score: 0

      Isn't the whole 'Web 2.0' thing a pure marketing?

    18. Re:buzzwords are my favorite by kelnos · · Score: 1

      The web is basically a way of sending invalid markup and tag soup pretending to be XML to users. There, fixed that for you. XHTML hasn't quite caught on just yet.
      --
      Xfce: Lighter than some, heavier than others. Just right.
    19. Re:buzzwords are my favorite by jwilcox154 · · Score: 2, 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 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. ;)

    20. Re:buzzwords are my favorite by Anonymous Coward · · Score: 0

      I dunno, it feels a bit beta to me still...

      ;)

    21. Re:buzzwords are my favorite by ewanm89 · · Score: 1

      As an 18 year old, I still define the web as HTML (also XHTML or similar medium) coming over HTTP mostly on port 80.

    22. Re:buzzwords are my favorite by Anonymous Coward · · Score: 0

      Minus two points for not having a sense of humour.

  2. Field test of XMPP based system by Sique · · Score: 3, Informative

    My next project is a field test of a XMPP based Single-Number-Service-System for Siemens phone system, the OpenScape 3.0. Seems that there is really some XMPP around right now.

    --
    .sig: Sique *sigh*
    1. Re:Field test of XMPP based system by Anonymous Coward · · Score: 0

      Sure sure... SO YOU SAY.. Just show us the code if it's true. Or have you got a project homepage? You're just one of those people who likes to massage their own ego on Slashdot and has nothing to show for it.. It's just a shame we don't buy your BS.

  3. No by Anonymous Coward · · Score: 0

    Next question please

  4. Just what we (didn't) need !! by Anonymous Coward · · Score: 2, Insightful

    E-Mail wrapped in an XML overcoat.

    Is there NOTHING sacred that some lemon won't wrap in XML ???

    Oh, no, wait ... I must remember to file my patent application for XMJPG ... a JPG file wrapped in XML for instant dissemination of boring holiday snaps to people who I became "friends" with by virtue of the fact they happened to be in the same universe as me and also owned a PC.

    Brilliant !!

    1. Re:Just what we (didn't) need !! by b100dian · · Score: 1

      I for one see an LMPP coming (light-weight..) and then a JSOMPP..

      --
      gtkaml.org
    2. Re:Just what we (didn't) need !! by Enleth · · Score: 4, Informative

      Have you ever actually SEEN this protocol in action, its specifications, functionality and security features? This is one of the few cases where XML is actually a proper, well-implemented technology suitable for the job. I've been using Jabber as my IM of choice for a few years already, and XMPP as a communication platform for a few non-IM projects and all I can say is that the people involved in its design got it right and created a really flexible, adaptable and secure technology.

      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.

      --
      This is Slashdot. Common sense is futile. You will be modded down.
    3. Re:Just what we (didn't) need !! by great+om · · Score: 1

      xmljpg isn't such a terrible idea, frankly, since it would allow for richer metadata than is currently allowed (inside the file, not in an indexing DB), although --yes-- there are certainly easier ways to get around that.

      --
      ------- Oh damn.... the Sigfile escaped... -Great OM
    4. Re:Just what we (didn't) need !! by Qzukk · · Score: 1

      E-Mail wrapped in an XML overcoat.

      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".

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    5. Re:Just what we (didn't) need !! by 19thNervousBreakdown · · Score: 1

      I am a great sexchat bot.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    6. Re:Just what we (didn't) need !! by Anonymous Coward · · Score: 1, Funny

      Oh, no, wait ... I must remember to file my patent application for XMJPG ... a JPG file wrapped in XML for instant dissemination of boring holiday snaps to people who I became "friends" with by virtue of the fact they happened to be in the same universe as me and also owned a PC.

      You have just reinvented the flickr API.

    7. Re:Just what we (didn't) need !! by Bazer · · Score: 1

      I don't know about you but I'm all for replacing SMTP with XMPP. XMPP has almost everything you'd need to get rid of spam: encryption and authorization. Also it would be easy to write a Jabber-SMTP gateway if there isn't one already.

    8. Re:Just what we (didn't) need !! by Just+Some+Guy · · Score: 1

      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. I'd say it's actually delivering on what it promises.

      --
      Dewey, what part of this looks like authorities should be involved?
    9. Re:Just what we (didn't) need !! by Sancho · · Score: 2, 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.
    10. Re:Just what we (didn't) need !! by hpoul · · Score: 1

      But anyway, the biggest thing the "X" buys you is a lot of extensions. I'd say it's actually delivering on what it promises.

      the only problem beeing, that those are pseudo extensions which were simply written down in an specification but never implemented..

      (give me one client/server combo which supports pub sub ?) ... (i love xmpp, i'm using jabber as my main IM (with a couple of gateways), have written a jabber client, a jabber bot and a jabber <-> xfire gateway .. but i'm either too dump or too impatient to implement pub sub (and.. i once tried to implement it on my client .. but i couldn't find a server properly supporting it)) .. i'm pretty sure that 95% of all those "extensions" were never proved to work anyway ..

      --
      Find me at http://herbert.poul.at
    11. Re:Just what we (didn't) need !! by Anonymous Coward · · Score: 0

      and an implementation of it can be made proprietary enough to require a client that will force-feed you ads
      But XMPP is open and decentralized, so why would anyone use that implementation?
    12. Re:Just what we (didn't) need !! by Sancho · · Score: 1

      Value additions for using my specific service? Inertia? (AIM didn't start out by serving ads, you know.) Inertia specifically counts for a lot, as once you have your JID, you won't want to give it up (just as I wouldn't want to give up my e-mail address, even if my provider started doing things that I didn't like.)

    13. Re:Just what we (didn't) need !! by Nevyn · · Score: 1

      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.

      Well first of all, while I haven't studied XMPP in detail, from what I've seen of it that's not even close to true. XMPP is not trivial. But IMHO much more important is that you are assuming that you can include thousands of lines of XML code, for free ... and presumably that you are getting all the network IO related work for "free" too. Personally I would have to do a lot of work before I trusted an XML parser enough to make it publicly accessible, for basically arbitrary content.

      Then again, I could probably write a functional IRC client or server in a few hours (re-using only code I'd written before) ... and someone else could probably do it in even less time using the perl or python irc libraries ... but it wouldn't be as functional as X-Chat or ircd-hybrid. In the same vein I've seen "HTTP servers" written in 6 lines of C, and they work to an extent. Getting something useful is always much more work, and the amount of work needed only goes up as the complexity of the underlying base is higher.

      --
      ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
    14. Re:Just what we (didn't) need !! by michaeljpastor · · Score: 1

      As a non-programmer, I've been wondering for years why there isn't an editable "xml layer" in anything and everything non-textual - before Flickr and similar sites, I used ThumbsPlus to catalog my graphics, but was always frustrated that the metadata didn't "stick" to the file. Music has a layer that's editable; why haven't graphics? "A picture is worth a thousand words" isn't an either/or proposition, is it?

  5. Am I too late... by abigsmurf · · Score: 4, Interesting

    To try to standardise how this is pronounced? eg. "wizzywig", "scuzzy" etc.

    'Zemp' would be a nice easy way of saying this.

    1. Re:Am I too late... by Anonymous Coward · · Score: 5, Funny

      "ex-em-pee-pee"?

    2. Re:Am I too late... by mremond · · Score: 1

      zemp sounds nice indeed.

      --
      Mickael Remond http://www.process-one.net/
    3. Re:Am I too late... by Chrisq · · Score: 1

      I prefer the slavic czemp.

    4. Re:Am I too late... by Bogtha · · Score: 4, Informative

      A lot of people pronounce it "Jabber". The name "XMPP" arose when they were moving it through the IETF standardisation process.

      --
      Bogtha Bogtha Bogtha
    5. Re:Am I too late... by Rogerborg · · Score: 1

      I'm looking at you, Pidgin. The account setup list doesn't even hint that XMPP is AKA jabber. That's self destructive pedantry right there.

      --
      If you were blocking sigs, you wouldn't have to read this.
    6. Re:Am I too late... by TheRaven64 · · Score: 4, Informative

      Speaking as someone whose frustrated with having to implement two code paths in a Jabber client - one for the standard and one for the compatibility with Pidgin - I'd be very happy for Pidgin users to stop connecting to the XMPP network.

      --
      I am TheRaven on Soylent News
    7. Re:Am I too late... by mhall119 · · Score: 5, Insightful

      Wouldn't it be easier to just make the fix in Pidgin and submit a patch?

      --
      http://www.mhall119.com
    8. Re:Am I too late... by jdray · · Score: 1

      To the Chinese (AFAIK), "X" is pronounced like the English "sh", making this "shmpp", sort of like the sound of a sack of flour hitting the floor. Mind you, IANACL (Chinese linguist), nor someone who regularly handles large sacks of flour.

      --
      The Spoon
      Updated 6/28/2011
    9. Re:Am I too late... by erlehmann · · Score: 1

      you are right, pidgin is utter crap as a jabber client.

    10. Re:Am I too late... by vishbar · · Score: 1

      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?

      --
      Ride the skies
    11. Re:Am I too late... by mhall119 · · Score: 3, Interesting

      Yeah, I'm not sure why it was modded funny or overrated.

      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.

      --
      http://www.mhall119.com
    12. Re:Am I too late... by Just+Some+Guy · · Score: 1

      Wouldn't it be easier to just make the fix in Pidgin and submit a patch?

      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?

      --
      Dewey, what part of this looks like authorities should be involved?
    13. Re:Am I too late... by ArAgost · · Score: 1

      And as an Adium user, I'd be more than happy too.

    14. Re:Am I too late... by Sancho · · Score: 1

      What do you recommend for a good XMPP client?

    15. Re:Am I too late... by noldrin · · Score: 1

      I'd prefer 'Zemppy' as it's more reminiscent of 'scuzzy' and 'wizzywig' and we do have that extra P to use.

    16. Re:Am I too late... by WuphonsReach · · Score: 1

      We use Pandion for our Windows XP boxes at work to talk to our XMPP/Jabber server. There's also Spark, Miranda, OS X's iChat...

      Hell, I'm just happy that I don't have to track license counts any more (like I did with e/pop Professional).

      --
      Wolde you bothe eate your cake, and have your cake?
    17. Re:Am I too late... by Randle_Revar · · Score: 1

      A list of clients: http://www.jabber.org/software/clients.shtml
      For a GUI client, I like Psi. Right now I am using the xmpp extension for irssi.

    18. Re:Am I too late... by Lugae · · Score: 1

      Gajim all the way!

    19. Re:Am I too late... by Sancho · · Score: 1

      I've messed with the xmpp extension to irssi. I know that it's a work-in-progress, but it seems very incomplete. There's virtually no documentation, either, and I was pretty disconcerted with the apparent lack of encryption (I don't know if there really wasn't encryption, or if the messages just aren't clear (No certificate found? Certificate not trusted on a server with a thawte cert?)

    20. Re:Am I too late... by Randle_Revar · · Score: 1

      It is pretty basic right now, but I only have 2 people on my roster, and I actually chat with them about once a month max, so it is good enough for me (I also use irssi to lurk on the irc channel for the window manager Awesome). As far XMPP encryption, I don't know about TLS, but it works fine with Gtalk's legacy SSL encryption.

    21. Re:Am I too late... by atallah · · Score: 1

      What exactly does Pidgin do incorrectly that necessitates creating a separate workflow?

    22. Re:Am I too late... by xmuskrat · · Score: 1

      Ex-emp?

      --
      activestudios web design
    23. Re:Am I too late... by Anonymous Coward · · Score: 0

      This isn't the first time I've heard "Pidgin is crap." The other times were from developers who gave up because the project leaders seemingly didn't care about their patches.

      I am a happy Kopete user.

    24. Re:Am I too late... by Ant+P. · · Score: 1

      From what I experienced while wasting several hours contorting my jabberd's configuration for three pidgin clients to connect at once, its authentication code is FUBAR.

    25. Re:Am I too late... by AikonMGB · · Score: 2

      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-

  6. XMPP as a silver bullet? by webword · · Score: 4, Interesting

    One thing often overlooked by people is that is kills vendor lock. There are several government agencies which use a proprietary messenging system for instant messenging. Once you introduce true XMPP-compliant products, this kills the stranglehold that some of these vendors have. I'm sure this is true outside the government too.

    1. Re:XMPP as a silver bullet? by rindeee · · Score: 4, Informative

      Bzzzt...wrong. All IM in Gov/DoD is IRC based but moving to Jabber. This is public knowledge (not even U/FOUO). Lot's of commercial development going on around this if you Google around a bit. Some really cool stuff in the pipeline, especially where XMPP is concerned.

    2. Re:XMPP as a silver bullet? by TheSkyIsPurple · · Score: 1

      Even more so, but I didn't see anything that specified anything about the data that the protocol moves around.

      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 imaging it says "document contains a blob of document data".

    3. Re:XMPP as a silver bullet? by Enleth · · Score: 1

      You could say that about any protocol out there, a moot point IMHO. An XMPP-based system *can* be open without any effort, by itself. What you do to it is another matter, but it doesn't really say anything about the protocol itself. Well, it *can* be adapted to carry proprietary information, that's all. Oh, and standardised methods for using e.g. GPG for XMPP message encryption do exist.

      --
      This is Slashdot. Common sense is futile. You will be modded down.
    4. Re:XMPP as a silver bullet? by Anonymous Coward · · Score: 0

      As a government employee, all I have ever seen at several agencies are Lotus Sametime and MS Live/Office Messenger. I have never seen IRC or XMPP at any agency.

      Then again, I avoid DoD since they violate my personal principles. They are however one of the only agencies which can waste the money on this stuff.

    5. Re:XMPP as a silver bullet? by Tablizer · · Score: 2, Funny

      All IM in Gov/DoD is IRC based but moving to Jabber. This is public knowledge (not even U/FOUO).

      Aha! So the gov't *is* hiding UFO's in secret hangers. And do something about that stuttering problem of yours.

    6. Re:XMPP as a silver bullet? by Anonymous Coward · · Score: 0

      Bzzzt...wrong.

      Nothing more annoying than a guy who says stuff like "Bzzzt...wrong" in a forum post.

    7. Re:XMPP as a silver bullet? by Anonymous Coward · · Score: 0

      Bzzzt....wrong! A guy that says in person, OR that replies to a post complaining about him saying bzt wrong.

    8. Re:XMPP as a silver bullet? by Stray7Xi · · Score: 1

      What he said is ridiculous because there are plenty of shops out there that setup their own solutions for their site.

      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

    9. Re:XMPP as a silver bullet? by Anonymous Coward · · Score: 0

      Or a guy that complains about the guy complaining about the guy ... to inifinity!

    10. Re:XMPP as a silver bullet? by TheSkyIsPurple · · Score: 1

      Not a moot point. The GP said "One thing often overlooked by people is that [it] kills vendor lock"

      The only way this can possible kill vendor lock is if vendors can't add their own locks to it.
      Since vendors can add locks to this, the original premise is wrong.

      Kinda like the folks who say the site uses SSL, so it's safe to put in my personal information, forgetting that SSL says nothing about how the data is handled on the host, or where it moves beyond the host.

    11. Re:XMPP as a silver bullet? by Anonymous Coward · · Score: 0

      It's only annoying if you are frequently wrong.

    12. Re:XMPP as a silver bullet? by Anonymous Coward · · Score: 0

      Bzzzzt, BZZZZZ! WRONG!

      Bantu is not XMPP until 4.0 whchi DoD is not yet!

      Maybe this year tho!

  7. Performance by ronark · · Score: 3, Interesting

    I poked around their web site and could not find anything about the performance of the protocol. We do a lot of XML based communications at work and even for simple messaging, we find that there is definitely a drop off in speed compared to less verbose techniques. Not just in terms of transmission speed, but a lot of time is spent in the XML parsers. Perhaps this is a by-product of using the XML classes in .NET, but that's the technology we're stuck with. If anyone has some simple benchmarks or tests of XMPP, that would be interesting to see.

    1. Re:Performance by mremond · · Score: 3, Informative

      Actually, ejabberd is probably one of the highest performing XMPP server. It can supports tens of thousands of simultaneous connections on a single node and can work in a cluster. That's for a single domain, but with distribution as described in the protocol, each web site is his own domain. As you see, the scalability is handled. And on the raw message performance, it can handle hundreds if not thousands of messages per second in a cluster.

      --
      Mickael Remond http://www.process-one.net/
    2. Re:Performance by rdradar · · Score: 2, Insightful

      XML definitely has lots of overhead and not needed bytes. However, it is easily expandable, easily readable (by human too) and can support lots of different kind of needs. Because XMPP is meant to be the universal IM protocol, it needs to be easily expandable. Normal, byte based protocols are harder to expand for all kinds of needs and you have to spend more time learning them, all individually.

  8. A brief explanation by samael · · Score: 3, Informative

    XMPP is what Jabber is based on. Jabber, for those that don't know, is a chat protocol. It's used by Google Chat, Livejournal Chat, and vast numbers of other chat systems - all of which are interoperable, because built in to the underlying system is the idea of message passing from server to server.

    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.

    1. Re:A brief explanation by vga_init · · Score: 3, 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.

    2. Re:A brief explanation by MtViewGuy · · Score: 1

      If I remember correctly, XMPP was developed specifically end the stupid war between various instant messaging systems (remember some years ago AOL IM had its own system, Windows Messenger had its own system, and so on). Hopefully, within a few years everybody will be using XMPP so people who are on AOL IM can "talk" to people on Yahoo! Messenger and other proprietary chat clients.

    3. Re:A brief explanation by samael · · Score: 0, Redundant

      AOL are already working on XMPP:
      http://slashdot.org/article.pl?sid=08/01/18/1748218

    4. Re:A brief explanation by Anonymous Coward · · Score: 0

      The GP was talking about the other IM networks, which don't have XMPP gateways. There's no need to point out something that the poster is already aware of.

    5. Re:A brief explanation by hitmark · · Score: 2, Interesting

      hell, toss in some kind of sms gateway and things really start to be 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 not take of in europe unless microsoft gets on board, as the msn/live messenger seems to have a strong posision here. and thats a cold day in hell scenario.

      --
      comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
    6. Re:A brief explanation by Sancho · · Score: 1

      There's not usually a good financial incentive for companies to provide IM, unless they're providing it in a proprietary way so that they can serve advertising (which is basically the only currently known way to "monetize" otherwise free Internet services.) As such, interoperability is rarely desirable, as you want anyone who talks to people on your network to have to sign up on your network, allowing you to serve ads.

      In fact, the only reason I can see for a company to move to XMPP (or to include an XMPP gateway) is because they're losing users. If AOL started losing users to Google because more of those people's contacts were using Google, it would make sense to implement XMPP to try to stem the tide. Keep them on AOL clients, they can still talk to Google, everyone's (more or less) happy (and it looks like this is the direction that AOL is going.)

      From there, it could go two ways--people from other networks could start defecting to an XMPP-enabled network, thus causing all networks to go XMPP, or the largest of the networks might balk, dividing the userbase. If Microsoft succeeds in buying Yahoo, then they will have a massive network of IM users compared to AOL/Google. They'll integrate Yahoo IM into MSN, and AOL/Google will become a toy network. You'll need an account on MSN/Yahoo to talk to the vast majority of users that use that network, and slowly, MSN will end up the winner.

    7. Re:A brief explanation by wertigon · · 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.

      --
      systemd is not an init system. It's a GNU replacement.
    8. Re:A brief explanation by coolGuyZak · · Score: 1

      ...serve advertising (which is basically the only currently known way to "monetize" otherwise free Internet services.)

      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 benefit from specialized servers and charge for the development, deployment, and maintenance of protocol extensions.

      "Public" messaging systems don't need to be monetized, merely capitalized--if the public provides you with a service (say, product testing), hosting the chat service is still worthwhile.

    9. Re:A brief explanation by iabervon · · Score: 1

      The main thing about email is that you can send it without publishing your presence, and you can send it to people who aren't online at the time. So it's a little more involved than the non-threaded chat mode, mostly in that the recipient's account needs a feature for holding messages (implemented by the recipient's server).

    10. Re:A brief explanation by hitmark · · Score: 1

      sounds like xmpp may well turn out to be the merger of all the existing text based communications systems then, nice :)

      now to see thunderbird and the rest adopt it as a "mail" protocol of sorts ;)

      --
      comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
    11. Re:A brief explanation by wertigon · · Score: 1

      Well, most XMPP-servers support offline messaging, and you don't have to see someones presence to send someone a message - Only to see their presence details. Though some clients won't allow you to send a message to an unknown contact.

      --
      systemd is not an init system. It's a GNU replacement.
  9. WTF? by R2.0 · · Score: 2, Interesting

    "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.

    --
    "As God is my witness, I thought turkeys could fly." A. Carlson
    1. Re:WTF? by bibi-pov · · Score: 1

      I know my grammar sucks sometimes, but I'm pretty sure there is only a single verb in that sentence and it's "to be", I'll even risk gessing it's the conditional form "can be" which was used. So, I don't really think the tag "stopturningnounsintoverbs" is really appropriated in that case...

    2. Re:WTF? by Alphager · · Score: 1

      "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?
    3. Re:WTF? by FlyingGuy · · Score: 0, Flamebait

      You are SUCH an ASSHOLE.

      --
      Hey KID! Yeah you, get the fuck off my lawn!
    4. Re:WTF? by nschubach · · Score: 1

      I have a problem with this sentence, but I can't put my finger on why...

      "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" ... ? It just sounds wrong.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    5. Re:WTF? by d7415 · · Score: 1

      I think it's the punctuation or sentence structure, at the place you mentioned. i.e.

      "XMPP has been designed, since the beginning, as an open technology for generalized XML routing."
      or
      "Since the beginning, XMPP has been designed as an open technology for generalized XML routing."

      Sounds better to me, anyway.

    6. Re:WTF? by jdray · · Score: 1

      I think you meant verbs to nouns, but you've probably realized that by now. I didn't know WTF Twitter was, either, but I use Firefox, and did a double-click, right-click on the word, selected "Search for 'Twitter' in Google," and read the resulting first hit. It's another social networking service, evidently for those who can't stand the idea that everyone in the world won't know what they're up to at any given moment. Yuck.

      I'll be curious to see if XMPP makes it into the world of intra-application messaging for "get crap done" apps rather than the current "waste my time" apps (I can't believe I actually posted this on Slashdot). It seems like it would be useful for distributing blocks of data to app nodes for work (someone tagged the story "grid," so I suppose they agree), or enabling clustering.

      --
      The Spoon
      Updated 6/28/2011
    7. Re:WTF? by arivanov · · Score: 1

      "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. Classic XML-ism actually. The spec is so vague that it could have been written by IBM.

      --
      Baker's Law: Misery no longer loves company. Nowadays it insists on it
      http://www.sigsegv.cx/
    8. Re:WTF? by Angostura · · Score: 1

      It's a tense problem. I think. the author is using present continuous, where past tense would be more appropriate:

      So XMPP was designed from the beginning as an open technology for generalized XML routing."

      Better?

  10. Distributed computing and "the cloud" by MarkEst1973 · · Score: 1

    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 was very enlightening to me as I thought more about messaging and less about imperative programming.

    New technologies like Terracotta (for Java) make distribution simple, too. Everything works on the POJO model, but the POJOs are distributed magically via some fancy AOP code weaving. I wrote a blog article about how I used TC to make a message bus. It's been a very interesting project, thus far.

    I can't speak for other companies, of course, but my company is moving toward a grid model with messaging forming the backbone of our processing. It's easy to scale horizontally, queue consumers all over the network form natural bulkheads protecting them from other components, and it's easy to throttle by having bounded queues and fixed numbers of consumers.

    1. Re:Distributed computing and "the cloud" by mohanbabu · · Score: 1

      Gridgain http://www.gridgain.com/ is another great product with Spring and AOP-based grid computing. We have used it successfully after considering Terracotta, Gigaspaces, etc. It's very easy to use and has integration with ESB Mule. More info : http://www.infoq.com/news/2007/05/gridgain We are actually considering implementing a chatty client-server communication in XMPP :)

  11. New Here by Chrisq · · Score: 3, Funny

    You should never let people know hen you don't understand an abbreviation. To impress the geeks you should express an opinon even if you don't understand what the hell TFA is going on about. Examples

    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!

    1. Re:New Here by TheNinjaroach · · Score: 1

      That's really cool, we could really use a Twitter-like enjabered XMMP server here. It will revolutionise computing! Bonus points for spelling the acronym wrong.
      --
      I went to eat some animal crackers and the box said, "Do not eat if seal is broken." I opened the box and sure enough..
  12. Thanks Google by tmalone · · Score: 5, Insightful

    Say what you will about Google and privacy concerns, but this is one case of Google doing something good. If they hadn't used Jabber/XMPP for Google Chat, I doubt that we would be seeing this level of interest from others. Just about everybody that I chat with uses Google Chat now, and so, for the first time they all use Jabber capable clients. This is a very good thing. If Google goes out of business, or just becomes unpopular, the infrastructure will now be there to somewhat effortlessly transition to a new dominant IM system that is based on open standards, instead of going back to the days of MSN, AOL, Yahoo, and ICQ, all fighting each other and their users.

    1. Re:Thanks Google by rukidding · · Score: 2, Interesting

      Google has also included an XMPP API for developers of Android. They are also suggesting its use. http://code.google.com/android/toolbox/google-apis.html/

      --
      ...
  13. Water is wet! by Anonymous Coward · · Score: 0

    In other news, water is found to STILL be wet!
    XMPP has been used for a while now, bit late are we?

  14. PFTLOGCWCUWMUA by Skippyboy · · Score: 3, Funny

    Please, for the love of god, can we come up with more useless acronyms?
    Ugh!

  15. Twitter - should anyone read my IM? by polemon · · Score: 1

    Twitter like service? Is it in fashion to have anyone reading your IM conversations these days? I noticed, that - predominantly - japanese use Twitter like any other IM service. Since anyone can read those messages, unless you make them hidden, this looks like a new sort of communication policy. I do have a twitter account, but I'd never use it as any other IM service, maybe I'm still stuck in 90's Internet but I can't see why people like having other people read their messages. Do I make any sense?

    --
    EOF
  16. XMPP is a PITA by MasterC · · Score: 3, Interesting

    Perhaps it is just the library I've used to develop an XMPP client, but I found implementing a client a complete PITA. Most specifically I couldn't find *anything* that simply stated you have to do X, Y, and Z to "do" XMPP. It required a lot of trial-and-error (lots of XMPP packet dumping) with another XMPP client to "subscribe" to someone else (aka get on their buddy list), to notify everyone you're online, and to send messages. All of the RFCs and JEPs are neat if you know what you're doing, but otherwise it just confuses the hell out of you trying to figure out exactly what it takes to make even the most basic client.

    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 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).

    --
    :wq
    1. Re:XMPP is a PITA by Enleth · · Score: 5, Informative

      That's just this library. For example, the Smack API for Java is literally five lines of actual code to connect, announce the presence, load the roster and send a message. PyXMPP is quite low-level for a Python network library. Try XMPPy, much easier to work with if you need Python.

      --
      This is Slashdot. Common sense is futile. You will be modded down.
    2. Re:XMPP is a PITA by mremond · · Score: 1

      You have also a couple of books on Jabber (before it was called XMPP). They are a bit outdated but it can help you a lot.

      --
      Mickael Remond http://www.process-one.net/
    3. Re:XMPP is a PITA by AceJohnny · · Score: 2, Informative

      Didn't understand how to use the library? The problem is, there are a ton of XMPP libraries out there for every language (the one you used is for javascript) and there must be an unwritten agreement that it's no use for each library to re-explain the workings of XMPP...

      The best way, I'm afraid, is to read the RFCs (mostly 3920 and 3921. There are updated, clearer drafts, 3920bis and 3921bis, a link away from that page) and XEPs (XMPP Extension Proposal). There's also a book, but I heard that it's a bit outdated.

      --
      Misleading titles? Inflammatory blurbs? Keep in mind that Slashdot is a tabloid.
    4. Re:XMPP is a PITA by Jerf · · Score: 2, Informative
      There are a lot of very crappy (IMHO) libraries that do nothing but wrap the XML and present it to you in some form, leaving it entirely up to you to do, well, everything else.

      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:
      • Connecting to a server, with encryption (SSL or STARTTLS upgrade), with just the JID, password, and an optional hostname/ip override
      • Some decent story about how to create an account if login fails
      • Callbacks for message and presence that A: Give you the relevant information about the presence packets and messages in a nice format but also B: gives you direct access to the full XML stanza in case you want to pull other stuff out of it. (In fact, you should always have the XML in some parsed format.)
      • The ability to register callbacks for IQ stuff so that you aren't implementing an event loop yourself. (Bonus points if it integrates with the event loop of your GUI toolkit.) Closures in your language are awesome here.
      • Some code in the library to work with rosters.
      • Some way to extend the library in a principled manner to support other XMPP functionality, since no library is going to have everything.
      That's really a bare minimum, IMHO.

      Libraries that just give me parsed XML hunks piss me off, but unfortunately this seems to be the standard definition of "an XMPP library". Connecting to a known account and sending a message to a known JID ought to be a two-four line task at most.
    5. Re:XMPP is a PITA by Kent+Recal · · Score: 1

      No, it's not just you. I was in the same situation (investigated XMPP as a messaging protocol) and didn't find any useful documentation either.
      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 things together.
      However, the total lack of documentation makes it near impossible for us uninitiated mortals to do anything useful with it...

    6. Re:XMPP is a PITA by Just+Some+Guy · · Score: 2, Informative

      We use jabber.py. It hasn't changed in years, but our needs are pretty simple and it meets all of them easily. For example

      import jabber

      node = jabber.Message()
      node.setSubject('Getting hungry')
      node.setBody('Hi there. Lunch?')

      server = jabber.Client('ourserver.example.com')
      server.connect()
      server.auth('me', 'mypassword', 'Python Jabber client')

      for dest in recipients: node.setTo(dest); server.send(node)
      server.disconnect()

      Honestly, I don't know how you could make that a whole lot simpler.

      --
      Dewey, what part of this looks like authorities should be involved?
    7. Re:XMPP is a PITA by MasterC · · Score: 1

      the one you used is for javascript
      What the hell?

      http://pyxmpp.jajcus.net/

      PyXMPP -- Python Jabber/XMPP implementation
      How do you get javascript from that?!?!?!

      As for this part:

      there must be an unwritten agreement that it's no use for each library to re-explain the workings of XMPP...
      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 messages. If RFCs are the sole course of using XMPP then you've missed my point completely.

      Seriously, if your answer to "I want to send a message via an XMPP library" is to read the RFCs then your library isn't worth using. I'm all for understanding how protocols work ("oooo, presence stanzas have priority levels?!") but when time is money the utility is much more important.
      --
      :wq
    8. Re:XMPP is a PITA by MasterC · · Score: 2, Interesting

      Honestly, I don't know how you could make that a whole lot simpler.
      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 more. Thrown in presence and rosters and your "it's that easy" argument goes out the window for someone whose only resource with "the answers" is the RFCs themselves.

      After all, if trying to do server glue (as the story summary promotes) then that necessitates handling reception of messages, presences, and the other stuff that comes with it. I can't even remember how long it took me to realize I was getting disconnected from the server for idle timeout and then finding a suitable means to "ping" the server.

      None of this is explained anywhere in anything resembling succinctness. Even the library you promote doesn't have it (if it does it's not in an obvious location). Like I said in another reply: when time is money the utility is much more important. If XMPP is "right around the corner" for mass-adoption then I must be using the wrong search engine because I can't find any GOOD XMPP documentation for those who want to use it and not write a dissertation on it.
      --
      :wq
    9. Re:XMPP is a PITA by Sancho · · Score: 1

      XMPP is a simple, if deep protocol. Most libraries implement it at a fairly low level--they don't give you a function which sends a message to a specific jid; instead, they give you functions to create a message packet and send that on. They provide functions to send the IQ and Presence packets, but require that you explicitly do so rather than taking care of that upon connect, and offering functions to let you change your status.

      Learning to use the libraries, then, requires reading the protocol specifications.

    10. Re:XMPP is a PITA by Just+Some+Guy · · Score: 1

      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.

      --
      Dewey, what part of this looks like authorities should be involved?
    11. Re:XMPP is a PITA by Randle_Revar · · Score: 1

      Documentation: http://www.xmpp.org/

      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.

    12. Re:XMPP is a PITA by AceJohnny · · Score: 1

      PyXMPP -- Python Jabber/XMPP implementation

      How do you get javascript from that?!?!?! Woops, you're right. I misread /.'s domain shortcut, jajcus, for JSJaC.

      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 libraries for XMPP, and a popular alternative to PyXMPP is XMPPPy, which does provide examples. You could also use Twisted.Words, but Twisted's modules' docs have generally driven me insane.

      If you wish to stick to PyXMPP, you could still have a look at tutorials for those other libraries, which will hopefully provide you with useful background. Good luck!
      --
      Misleading titles? Inflammatory blurbs? Keep in mind that Slashdot is a tabloid.
    13. Re:XMPP is a PITA by BitZtream · · Score: 1

      You should check out:

      http://www.jabber.org/software/libraries.shtml

      Lots of libraries to choose from, I've used the agsXMPP for writing a bot linking our revision control system to our IM system, which is XMPP of course, its literally 25 lines of code to make it to the jabber server.

      Mind you I didn't have to deal with getting permission to join a buddy list or anything since the bot is part of our development group and the server makes everyone in the group a buddy of everyone else in the group so your milage may vary.

      My point is, I guess, that while the protocol under it may be more than slightly complex, if its that hard for you to wrap you head around the library you are using, its not a very polished library or you're not very good at understanding it :)

      Having not used the library or worked with you, I can't say of course. There are other python libraries listed on the jabber.org page, so maybe that could help you out.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    14. Re:XMPP is a PITA by corerunner · · Score: 1

      that's XMPPPy ;)

      --
      "Don't hate the media, become the media." -Jello Biafra
  17. XMPP isn't a big deal, except on a phone by kerskine · · Score: 1

    XMPP on a desktop is just another chat protocol. But, if all the cool kids start using IM services on their phones all the time, then it's game changing. The mobile carriers loose money on SMS, but gain it on data services. The SMS aggregators are out in the cold. And every web company/service now has a potential attention getting messaging system that they can tie into what they're doing/selling.

    --
    ****

    "I'd never want to join a club that would have me as a member" - G. Marx
    1. Re:XMPP isn't a big deal, except on a phone by erlehmann · · Score: 1

      once i met this guy who encapsulated xmpp into http-requests because his data-flatrate somehow was http-only.

    2. Re:XMPP isn't a big deal, except on a phone by Sancho · · Score: 1

      There are problems with doing this. First, it means that you're running an additional application on your phone. Second is that to receive notifications, the Jabber client must have an open connection to the server full-time. That's going to be a drain on the battery.

      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 drain was immediately noticeable, and I've switched from having it always-on to only turning it on when I specifically want to "IRC" from my phone. Of course, this means that I don't get realtime MSG notifications, but them's the breaks.

      Of course, for my case, it would be trivial to send an SMS notification to my phone when I receive a message, thus allowing me to hop on IRC. But then I'm still using SMS (albeit fewer.)

  18. XMPP decentralized online social networking ?! by erlehmann · · Score: 1

    with pubsub in place, an implementation of e.g. XEP-0154 [1] could easily be used to make privacy-enabled decentralized online social networking possible. the privacy fetishists could have all data on their own server and for the uninformed masses, well some web 2.0 crackpot could surely provide a web frontend ...

    [1] http://www.xmpp.org/extensions/xep-0154.html

  19. A brief implimentation. by Anonymous Coward · · Score: 0

    One can even impliment a better Internet (Http) using XMPP.

  20. XMLJPG by metamatic · · Score: 1

    Like XMP, which is pretty much XMLJPG except the XML and JPEG data are either kept in separate files, or the XML is embedded inside the JPG rather than the other way around.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  21. Anything can be the next big thing by drolli · · Score: 1

    Especially anything that

    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.

  22. Let's hope not by VokinLoksar · · Score: 2, Interesting

    I wrote a php xmpp client and server a few months back. In my humble opinion it is a poorly-designed protocol.

    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_ entities are working with the same schema. Here we have a central authority on the protocol trying to partition itself. This makes no sense to me. Even if you want to separate extensions from the core, there is still a better way to do it and keep everything simple and elegant - two things xmpp is not.

    The protocol is bloated. Again - my opinion. But compared to something like XML-RPC (in terms of syntax and structure), XMPP feels like everything was an afterthought that didn't fully fit together with the original design. The separation between presence, iq, and message stanzas feels extremely awkward and arbitrary to me. Why not have a single stanza, with an attribute that defines its type? Get rid of namespaces, and have a registry of node types I you wish. Think of how much cleaner the protocol would be.

    Likewise, this protocol seems like it was designed for humans - having a computer use it doesn't seem to be on the agenda. This comes out in the fact that no abbreviations are used to try and make XML data a bit smaller in size. Why would you design a protocol for use in real-time and keep things stanzas? Yes, you can use compression, but not all clients and servers support it. Think of how much bandwidth is wasted transporting useless information between computers. If I was designing the protocol I'd try and shorten all of the most commonly-used elements - instead of . Put computers and resource limitations before human convenience. You get rid of 6 additional bytes from the message stanza and processing is also faster. You may think I'm just going on about nothing here, that it doesn't make any real difference, but consider what a change like that would do to servers processing several thousand message stanzas every second.

    On the same topic of being designed for humans, an xmpp session (from start to end) looks like a perfectly valid xml document. You have a root element (which is closed at the end), and stanzas in the middle. Again, this is appealing for a human, but it makes code very ugly. Why in the world would you design it this way? Why should I have some special code to deal with an opening element that is never complete till the session is over? I already have an xml parser that deals with complete xml structures, and a piece of code that waits until a full stanza is received before processing it. Why not make it easy FOR COMPUTERS to deal with, and allow me to use that code for ALL xmpp communications. Hell, make each stanza a separate document. This is again a case where the designers thought "what would a human find most pleasing," and completely ignored the needless complexity in implementation added by their decisions.

    I could go on and on describing problems with xmpp, but you have a rough idea here. Personally, I would hate for this protocol to become the standard for IM communications. It is bloated, needlessly complicated, and very awkward to use and implement. Sadly, I think with Google's support it will become the standard, and sooner or later something else will come along with another protocol causing a continuation of the IM wars.

    1. Re:Let's hope not by Sancho · · Score: 1

      Likewise, this protocol seems like it was designed for humans XML is intended to be human readable, presumably for debugging purposes (though possibly also for other reasons.) Making your protocol human-readable doesn't mean that it's a bad protocol--it means that it had goals which apparently differs from yours.
    2. Re:Let's hope not by mremond · · Score: 1

      As you said, the protocol support compression and the fact that some clients or servers does not implement it is not a problem in the protocol.

      On your other remarks, you should try using it. The best thing in XMPP is that it is extensible. It uses XML for that (and namespaces). Other approach could probably have been used, but the end result is that it is simple and that you can extend the protocol to do anything you want. Really. That's what make it an XMPP application server possible. You can develop extension that will simply be ignored by client not supporting it.

      This is why you can build a complete infrasctructure on it that allows to mix human and machine in a single workflow.

      If you knew me better, you would know that I do not like XML at all. SOAP is bloated, WS-* specifications are bloated. But XML use in XMPP is one of the clever use of XML I have ever seen.

      --
      Mickael Remond http://www.process-one.net/
  23. FYI by zygwin · · Score: 1

    Gtalk uses the XMPP protocol .
    Mod me insightful now.Please please.I have never had a +5 before. :)

  24. XMPP is OK but would be better if JSON by brunes69 · · Score: 1

    The problem with XMPP is not that it is a bad idea or that it is a bad spec, it is that they chose the heavy XML as a container format for the messages.

    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 XML container. XML formats only make sense when you have a complex hierarchical structure with lots of data types. Simple data types and not complex hierarchies make more sense in JSON.

    1. Re:XMPP is OK but would be better if JSON by Randle_Revar · · Score: 1

      Using XML doesn't automatically make something good, but it doesn't automatically make it bad either. XML was designed for moving data between different systems, and that is how XMPP uses it. And XMPP is certainly more lightweight than SIMPLE (SIP for Instant Messaging and Presence Leveraging Extensions). Also, as far as I can see, JSON was created in the 2000-2001 time frame (ECMA-262 was ratified in late 1999) and the current JSON.org went online in 2002. XMPP was started in 1998.

    2. Re:XMPP is OK but would be better if JSON by benow · · Score: 1

      Or you convert it to binary xml and compress it before it goes across network. XML is standard, easy to understand and easy to debug, and its verboseness goes away with a bit of work on either end.

    3. Re:XMPP is OK but would be better if JSON by brunes69 · · Score: 1

      JSON is also standard, easy to understand and text based, just like XML. It just doesn't have all the overhead because it is very simple.

    4. Re:XMPP is OK but would be better if JSON by rawler · · Score: 1

      I agree with you on the problems of XML, but not on the solution.

      The problem with XML are also inherent in JSON and every other text-based format; it builds it information-model on a thin but heavy and slippering layer of text. If you've further tried using authenticated e-mails through S/MIME or PGP, you probably seen yet a few.

      Anyone using a non-ASCII-language have seen one of the issues of all current text-based formats first-hand; encoding. Text-based isn't actually a guarantee for anything, since it's not a single specification, but rather a dim view of something that is probably ASCII-compatible. (But not necessarily.)

      One of the most obvious examples of this is SVG and SOAP. Both in SVG and SOAP, there is a frequent need to transfer some non-text data such as embedded bitmaps, integers, floats and possibly other elements. Done over XML (or any text-based format) this immediately becomes a very big task passing through layers of text-encoding, lexical analysis, semantical analysis, DOM-construction (not necessary with a SAX-parser but that's a it's own story), the assumption that integers will be decimal written in small-endian, and finally back to the data-structure that it actually was at the beginning. Then you're ready to actually start with the real interpretation of the data.

      Alternatively, say it's an array of integers, say "here comes 320 32-bit unsigned integers" and just send them (in network-endianess). A LOT less error-prone, a LOT faster, and a LOT easier on both ends. Alternatively, say "here comes a 4mbyte bitstream" and just transfer your image. In that way, the parser may even skip the 4mbytes, since it's not really looking for the image right now. Finally, but possibly most important, if you want to transfer some text, you say "here comes 48bytes of UTF-8 text" and then send it. This way, whomever reads this will KNOW how the text is encoded, and be able to do something sensible with it, as opposed to mere guessing.

      As an example of the charset-issues, just consider that in a standard XHTML-document, there will be 3 possible places to tell the client what encoding to use, and no guarantee any of them will match. First, the HTTP-header, secondly in the XML-declaration and finally in the Meta-tags. To show the problem, look at the first example of http://www.webreference.com/authoring/xhtml/coding/, where even a page trying to explain it gives of an incorrect example without mentioning the error. JSON does it slightly better, determining that all content should be encoded in a Unicode-encoding avoiding some of the issues, but instead facing the issues of Unicode http://en.wikipedia.org/wiki/Unicode#Issues.

      So, while I agree on XML being way to heavy-wheight, I don't see JSON to be the solution, still being built on text.

    5. Re:XMPP is OK but would be better if JSON by AuMatar · · Score: 1

      No, XML was designed to be a human readable format. Using ti to transfer data between systems is abuse, its a waste of bandwidth and storage space. If a human isn't in on the loop, a more efficient protocol should be used to avoid the waste.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    6. Re:XMPP is OK but would be better if JSON by Raenex · · Score: 1

      Using ti to transfer data between systems is abuse, its a waste of bandwidth and storage space. You're mistaken. XML is designed for data transfer. Read The Annotated XML Specification. In particular:

      1. XML shall be straightforwardly usable over the Internet.

      This was not taken to mean that you could feed XML to the browsers of the day, but that the design would have regard at all times to the needs of distributed applications working on large-scale networks.

      If a human isn't in on the loop, a more efficient protocol should be used to avoid the waste. The point is that even when humans normally aren't in the loop, they typically have to be when designing, implementing, and debugging when something goes wrong. If you've ever implemented binary specs or fixed width data formats vs XML, you can appreciate the difference.

      Also from the annotated spec:

      "6. XML documents should be human-legible and reasonably clear.

      This goal was motivated simply by the perception that textual formats are more open, more useful, and more pleasant to work with than binary formats. One of the substantial benefits of XML is that no matter how bad a day your tools are having, you can always pull an XML document into Emacs or Notepad or whatever your favorite editor is, and get useful work done.
      "

      And finally:

      "10. Terseness in XML markup is of minimal importance.

      The historical reason for this goal is that the complexity and difficulty of SGML was greatly increased by its use of minimization, i.e. the omission of pieces of markup, in the interest of terseness. In the case of XML, whenever there was a conflict between conciseness and clarity, clarity won.
      "
    7. Re:XMPP is OK but would be better if JSON by Raenex · · Score: 1

      So, while I agree on XML being way to heavy-wheight, I don't see JSON to be the solution, still being built on text. You make some good points. Do you have an alternative in mind?
    8. Re:XMPP is OK but would be better if JSON by rawler · · Score: 1

      Well,

      In a more primitive form, it's the Sun/IETF-driven XDR format http://www.faqs.org/rfcs/rfc4506.html. Many other binary protocol uses and respects parts of the XDR-format, even if not completely. XDR however is in no way general-purpose, as it does not include enough information about the implementing formats in order to make extensible simple formats based on them.

      Then there's EBML - Extensible Binary Metadata. It's a bit underspecified, does leave room for extensible protocols, semantically resemble XML in many ways, very fast to implement, but do have some shortcomings in terms of flexibility, and neither does include sufficient metadata to do intelligent things by just watching a message/document. Also it can never implement some kind of generic editor.

      Then there's my own little dormant project, runestone. http://runestone.sourceforge.net/ It kindof combines the greatest strengths of XML, with the strengths of binary languages, and then some. It implements extensibility on two levels, both on the same ad-hoc decentralized level as XML, but the format itself is from start designed to be modular and extensible (although in a more synchronized central-control fashion). It allows for features like semi-transparent encryption, compression, checksumming and cryptographic authentication. It's pretty much written with XMPP and SVG in mind, and features things like arrays of uniform data-types, (Excellent for a graphics-format like SVG) prefix-length encoding of all datatypes with variable length, allowing an XMPP-server to "fast-zap" over things in the communication it doesn't need to know. (Like the payload of messages). But it also would enhance protocols like HTML quite a bit by, I.E. faster parsing, embedded inline binaries (like images without an auxiliary http fetch), and options to authenticate parts of a transferred data-stream.

      Most important of all, the Runestone format would allow for generic content editor, much like a text-editor is pretty generic for many formats today, but in a way that does not mix information with visual representation. (I.E. your editor not only could, but MUST choose indentation and other styling according to it's own or your preferences). The format simply won't contain them. I think this feature, above all, is critical for a general-purpose binary format.

      Other than that, a general-purpose binary format could allow for some very neat indexing opportunities whereas indexers doesn't really need to understand the semantics of a specific document-type, but only the syntax which itself when using the index some of the semantic may be guessed from the syntax. I.E. looking for everything where "author=John Doe", indifferently of document type, based on any document that somewhere in it has an attribute with the value John Doe.

      Also, things like version-control of more arbitrary data would be possible, through tree-deltas. Could improve things like ODF a little.

      I'm not saying Runestone is the way to go. It's not even, contradictionary to it's name, a format set in stone yet anyways. But I DO think some of the possible characteristics of a binary generic language somewhere along that spirit could prove _very_ useful.

  25. Care to elaborate? by Nicolas+MONNET · · Score: 1

    I looked around but couldn't find anything about this problem with Pidgin.

  26. Mugshot also uses XMPP by abbe · · Score: 1

    The Mugshot application by Redhat uses XMPP for communication with clients. Its a good example of scalability of JavaEE and XMPP as transport .

    --
    404 Not Found
  27. Browsers force polling. by SanityInAnarchy · · Score: 1

    Mostly because most browsers really don't like it when you leave an HTTP connection open for too long, even if you set them not to timeout.

    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.

    --
    Don't thank God, thank a doctor!
    1. Re:Browsers force polling. by TheRaven64 · · Score: 1

      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. Not really. First of all, you need to send an HTTP request every 30 seconds, even if there is no data being transferred. Secondly, compression sucks. Compression works best on long streams, because the longer the stream, the greater the redundancy. If you have your connection to an HTTP server running through gzip, you will only get a small improvement for small messages if you are having to create a new connection every 30 seconds. If it's running over XMPP then the entire day's stream can be used to scan for repetitions.
      --
      I am TheRaven on Soylent News
  28. The 'X' means Extensible by ishmalius · · Score: 1

    For example: The protocol states that a chat client should ignore a packet without a subject or body. What this means is that you can extend the message packet with your own XML namespace, and add any tags and attributes you want. Then you can use the packet as your program's transport layer for moving anything you want. So while you are chatting to your buddy, there can be a lot of data transfer activity happening silently under the radar. Whiteboard, multiplayer game chatter, P2P transfers, etc.

    One thing in XMPP's design that I would like to see fixed is its current state of being client/server only. I would like to see a little bit of distribution in the network. For example, a MUC group sits entirely on one conference server. How is a server failure handled? And some routability would be good, like JXTA has.

  29. Re:FROSTY PISS by thePowerOfGrayskull · · Score: 1

    Aw c'mon, it was a JOKE, people! :P

  30. XMPP is a powerful thing by Dr.+Sp0ng · · Score: 1

    I've designed and written specialized implementations of XMPP, both client- and server-side, at previous jobs, and am pushing it again at my current job. Several posters have mentioned (correctly) several problems with the protocol, but for all its warts and strange design choices it does make a good protocol for routing XML.

    And that's really what it is - a way to reliably (if implemented properly on both ends) route generic XML documents to where they need to go, without polling of any kind, and to monitor the status and availability of whoever's on the receiving end. It just so happens that this framework provides what is needed for a chat application, but that's just the surface. Lots of applications can benefit from this.

    In my professional implementations, it has been used for anything from a "chat client on steriods" to a backend communications framework between various applications that as a whole form a business process. It's a good, flexible, and extensible protocol, and the basics are easy to implement.

  31. XMPP has some problems by jibjibjib · · Score: 1
    1. Re:XMPP has some problems by mremond · · Score: 1

      This arguments are very very old (I have read the same in 2005). The problem discussed there are not true anymore, at least. We have deployed really large scale XMPP networks and I can tell you that it works fine.

      --
      Mickael Remond http://www.process-one.net/
  32. That's brilliant! by KlaymenDK · · Score: 1

    So what you're saying is, "XMPP" is pronounced "jabber"? That's brilliant!

    No really, I mean it. Just imagine, if the pronunciation of more acronyms were *completely* unrelated from their spelling, it would really spiff up meetings at IT companies -- by weeding out those who *think* they know stuff (hey "scasy" crowd, I'm looking at you).

    ("/." = "Slashdot", hmm not too bad but still a bit obvious.)