xmpp

XMPP , an acronym for eXtensible Messaging and Presence Protocol, is the generalized XML streaming protocol that underlies Jabber.

See Also

Steps to connect to Tcler's Wiki chat with Jabber
Coccinella
XMPP-based messaging program and whiteboard
jabberlib
an independent module for Tcl that provides an XMPP implementation
tkabber
an XMPP implementation in Tcl. Uses tclxmpp. Previousy used jabberlib. PT The jabberlib that comes with tkabber is a fork of an earlier version of jabberlib. There are some similarities between the two but the code has diverged quite a lot.
tkchat
in instant messaging client that uses XMPP, intended specifically for The Next Generation Tcl Chatroom.
tclxmpp
a client library for accessing XMPP services
tclxmppd
a server daemon for XMPP-based services
Apache Wave (previously "Google Wave")
a distributed, near-real-time rich collaboration platform that allows users to work together in new and exiting ways.

Press

Hangouts Won’t Hangout With Other Messaging Vendors: Google’s New Unified Messaging Drops Open XMPP/Jabber Interop , Matt Landis, 2013-05-16
Google Jumps into the Cloud Wave (AJAX over XMPP) , Reuven Cohen, 2009-05-28
Is xmpp any good? Also, let's write a client in tcl, maybe

Systems that Support XMPP

XMPP-enabled clients include:

ICQ
Google Wave
XMPP supports k

Transports

Transports are software libraries or applications that translate messages between otherwise-incompatible systems There are transports for the following systems:

AOL Instant Messenger
IRC
MSN Messenger

and other instant messaging protocols.

Reference

list of XMPP-related RFC's
Wikipedia
RFC 3920
Extensible Messaging and Presence Protocol (XMPP): Core]
RFC 3921
Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence

Description

XMPP, the only standardized IM protocoal, was created with the idea of implementing an extensive and complete system for exchanging messages and presense information. It is multilevel; IM-facilities themselves actually aren't even in the core of the XMPP spec.

there are a vast number of [L1 ] to XMPP which add support for such things like multi-user chat (think of "IRC 2.0"), which powers the Tcl chatroom, file transfers, and even VoIP calls and video conferencing. Gateways to various legacy proprietary IM systems have been created as a measure to help converting people to XMPP and to alleviate for XMPP users the problem of contacting the proprietary IM networks. These gateways are not part of the XMPP specs; the only thing which is defined regarding this is the protocol for services that extend XMPP servers (that's how these gateways are implemented). Such gateways still suffer on a regular basis from changes made by the owners of the legacy IM networks to their IM protocols.

The set of protocols known as Jabber was renamed to XMPP after it was standardized by IETF. The term "Jabber" is now often used to refer explicitly to this precursor of XMPP. Since some core XMPP facilities differ from that of Jabber in some respects, it's better to refer to this set of protocols as "XMPP".

Discussion

DKF: XMPP can also be used as a transport protocol for SOAP, which is helpful for when you have long-lived webservice communications between two parties (especially when one party doesn't want to open incoming ports in their firewall).

I don't know if any Tcl SOAP package supports this transport protocol.

Historical

jabbertcl (defunct)
written by Kerem Hadimli, later maintained by Todd Bradley, was a Jabber Client Library (JabberLib (some relation to the other jabberlib?)) and a Tcl/Tk Jabber Client (zABBER).