[jdev] XMPP vs IMAP

Dave Cridland dave at cridland.net
Fri Nov 5 06:40:36 CST 2010

On Fri Nov  5 07:54:03 2010, Softish soft wrote:
> Apart that IMAP doesn't handle communication in near real-time.
> What other differences are there between XMPP and IMAP
> Meaning, why can't you just use IMAP/SMTP as a communication IM  
> protocol?

IMAP/SMTP is/are a store-and-forward protocol. It can be quite quick,  
but it's not designed to be - it does, however, have higher  
reliability requirements implied. So it's not really sensible to say  
"apart that IMAP doesn't handle communication in near real-time",  
because IMAP and SMTP combined simply are not designed with near  
real-time as a design basis, simply quick.

It doesn't have any form of presence, server-side storage of  
arbitrary data is painful in IMAP (although you could resurrect ACAP  
for this nicely), and due to the massively increased latencies, any  
end-to-end RTT communication (like feature discovery and negotiation)  
would be hugely impaired. You *could* build all the functionality on  
top of mail primitives, but the roster equivalent would have to be  
client-maintained, etc. (I suppose for extra points you could send a  
presence email to your own address and have a SIEVE script perform  
the fan-out using external lists stored in LDAP or even ACAP, but  
don't expect me to take it seriously). In any case, the resultant  
service would be largely unusable as a traditional mail address.

On the other hand, SMTP/IMAP *do* provide for a highly reliable  
communications mechanism with in-built archival over potentially very  
low bandwidth (for *really* low, you actually need to gateway through  
to X.400, but even that's covered by MIXER), and lend themselves well  
to much larger messages in a conversation spanning a much longer time.

Like the one we're having.

Dave Cridland - mailto:dave at cridland.net - xmpp:dwd at dave.cridland.net
  - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
  - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade

More information about the JDev mailing list