
XMPP and Jabber - Treffynnon
http://simonholywell.com/post/2013/02/xmpp-and-jabber.html
======
pilif
It's very ironic that XMPP which was invented as an open standard to combat
the various proprietary IM networks only really got traction as part of new
equally proprietary IM networks that go great lengths at making their XMPP
implementations incompatible to any other XMPP implementation.

I'm looking at you, WhatsApp, iMessage and all others.

------
mortenjorck
What I've really wanted to figure out for awhile now is how XMPP might work as
a replacement for email. Even as new IMAP or Gmail clients appear on the
market seemingly every few months now, I can't shake the idea that it's time
for a new protocol, alas an impossibly tall order. Yet XMPP seems like the
closest thing to an existing, modern standard to build upon. Am I tilting at
windmills, or is there any validity to this idea?

~~~
AndrewDucker
What, exactly, do you want to do with it, and how does it replace email?

(Genuinely curious - I see suggestions for replacing email on a regular basis,
but rarely ones that are deeply thought out.)

~~~
mortenjorck
There are some fairly general reasons, like XMPP being a much newer,
extensible (it's in the name!), yet mature messaging protocol with a big
community, but there are also some specific ones.

One of big potential benefits I see is the XMPP concept of contact requests.
Simply separating new senders from existing senders at an architectural level
seems like a great start for an email replacement, both in terms of user
experience ("who I know" is fundamentally separate from "who I don't know"
regardless of the client), and in network utilization (spam is only ever as
long as a request header instead of an entire message).

~~~
AceJohnny2
XMPP is focused on real-time, synchronous communication. It does provision for
async communication with server storage of offline messages, and even
originally discriminated "chat" messages from "email"-type messages with
multiple recipients and a subject. IIRC, this latter feature is deprecated as
the protocol developers focused on real-time stuff.

Because in the end, and despite all its kludges, e-mail doesn't need
replacement. Its biggest problem remains spam, and even that is under control
by all the major providers.

------
fuzzix
I was expecting something a little more like this:

<http://news.ycombinator.com/item?id=3355453>

------
jaredhanson
For the Node.js developers in the discussion, I've been hacking away on
[Junction](<https://github.com/jaredhanson/junction>) in my spare moments.

I've long been fascinated with XMPP, because it is so flexible. Rather than
focusing solely on a specific purpose (like IM), Junction exposes a middleware
framework similar to Express so that you can develop applications on top of
XMPP.

I've been happy with the approach, and I'd be curious to get feedback from
other developers who've had similar thoughts regarding XMPP.

~~~
Treffynnon
Junction looks like an interesting library for XMPP and Node.js.

It might also interest Node.js developers to know that this article was
written as part of a tutorial on writing a Google Chat bot with Node.js. To
see part one of the article please see the following Hacker News post:
<http://news.ycombinator.com/item?id=5175913>

------
fbeeper
I never fully understood why everybody is using XMPP in walled gardens (e.g.
Whatsapp, Facebook, Messages...). Do you think they get anything from that? Is
any of those services monetized successfully?

~~~
speeder
Seemly Whatsapp is, and what they are doing is genius, I would pay even more
for the service than what they are charging (99 cents year).

At first I did not understood, what it had in special, until I figured that it
was the fact that it used your phone contact list, thus taking out the boring
task of managing that, and making adding people to your list easy as finding
someone phone number.

Yet, I would not use it as my primary messenger (neither Facebook), because of
how they are tied to something in particular (phones, Facebook) and thus allow
less flexibility in where or how I use them.

~~~
shmerl
Why would you pay for such service if one can get a normal secure and
federated XMPP service for free? Whatsapp offers no advantages of XMPP (no
interoperability and no federation) and only adds problems (flawed security).
Paying money for such kind of disservice is simply strange.

~~~
amitdugar
Adoption. That is one of the main reasons why most people won't mind paying
for whatsapp ; almost everyone on their contacts list already uses the app and
frankly most people don't know or care much about whatsapp's security
measures.

~~~
shmerl
None of my contacts use it, so I can't say anything about adoption. But if
someone needs to use an IM network - there are good XMPP services. Simply
invite your friends to any federated XMPP server and you have an interoperable
way to communicate with them.

~~~
robbiemitchell
"Simply invite your friends to any federated XMPP server..."

I can't even get my friends to click invitation links to pre-baked apps.

~~~
shmerl
Explain to them what's bad about walled IM networks (it's like not being able
to send e-mails between AOL and Compuserve back in the day) and explain what
is the point in the federated XMPP networks. Then explain why Whatsapp
security is totally broken. If people won't care after that - just leave them
alone. :) Most people understand, but claim they are too tied in the existing
walled networks. Some don't mind registering on some XMPP server in addition,
so you can get a range of results.

------
iuguy
Is it me or doest this read like it's half an article? I got through to the
end expecting it to be about something that you can do with XMPP and Jabber,
rather than a rather basic primer on Jabber and XMPP themselves.

I don't have a problem with it, although it would've been nice if the title
had made it clear that it was a primer.

~~~
Treffynnon
The article was originally written as separate article to appear alongside the
main article I wrote for .net Magazine.

The main article is about creating a Google Talk bot with Node.js so if you
want to create something with XMPP then please have a read through of that
article: <http://news.ycombinator.com/item?id=5175913>

Also when I submitted this article to Hacker News I entitled it "A short
history of XMPP and Jabber" so I am not sure how or when it got renamed.

------
speeder
I would like to point the fact that Microsoft is killing live messenger, so
the article is kinda outdated on something :)

Also, I wonder what networks can access the original Jabber network beside
G-Talk, anyone here has a clue on that?

I really like G-Talk, and I wish it could interoperate with other interesting
IM software.

~~~
jakerocheleau
Seriously though I could not even imagine my workday without GTalk.

------
milkmiruku
"Google and XMPP have recently added a draft extension to the protocol called
Jingle, which enables voice over IP and video conferencing."

The use of 'recently' made me do a bit of double take.

[http://slashdot.org/story/05/12/16/070245/google-jabber-
and-...](http://slashdot.org/story/05/12/16/070245/google-jabber-and-jingle)

~~~
Treffynnon
The feature is still draft and only made version 1 in June 2009
(<http://xmpp.org/extensions/xep-0166.html>). I don't actually track changes
in XMPP so I am open to correction on this point.

Around the time I actually wrote the article (many months before it was
originally published in .net magazine) there had just been a libjingle release
and I was told at the time it was a new thing to have this available to 3rd
party developers.

~~~
bct
libjingle has been around for years; Wikipedia says December 2005.

(It doesn't matter, but I also raised an eyebrow and started looking for the
date on the blog entry when I read that sentence.)

~~~
LeonidasXIV
Also, GTalk does not use libjingle but its own slightly-different pre-standard
implementation, that's why it is impossible to talk to GTalk users with a XMPP
client that supports Jingle via libjingle.

This is quite a mess.

------
murtali
I'm implementing a Google Talk jabber client and I'm curious whether or not it
allows sending messages as links. It doesn't seem to automatically parse them
into clickable ones. Not much luck on the XML alteration....

~~~
saghul
You can send the body in HTML as well as in plaintext, so you can craft the
links in the HTML part.

------
est
I vaguely remember one of the authors of XMPP invented an alternative protocol
which is simpler, perhaps based on JSON, anyone remember?

Using XML these days seems too heavy weight.

~~~
bct
XMPP's XML overhead isn't as large as you might think; it compresses well, and
streaming XML parsers can be pretty fast.

XML's extensibility is one of the reasons that XMPP has so many XEPs. A JSON-
based protocol would need a central registry or some kind of namespaces to
achieve the same thing.

