Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Converse.js

Real-time chat on the web

How to use XMPP and Converse.js to integrate webchat into any website.

What is XMPP?

eXtensible Message and Presence Protocol

Originally intended for instant messaging, also being used for the Internet-of-things.

For an introduction to XMPP and using it with web-technologies, see this talk.

The challenge of integrating XMPP into a website

How do we integrate XMPP into web-apps?

Integration can happen on both ends of a web application:

Frontend integration:

Tunneled communication between browser (Javascript) and XMPP server:

Frontend integration:

BOSH

Bidirectional-streams Over Synchronous HTTP

Covered by two XEPS:

Frontend integration:

Websocket

See: RFC-7395: An XMPP Subprotocol for WebSocket

Backend integration:

Backend Integration

BOSH prebinding

Faster session establishment

Alternatives:

Backend Integration

Sharing data between a web-app and XMPP server

What is Converse.js?

XMPP chat application that runs in your browser.

Uses Strophe.js

Converse.js can be integrated into any website

Made to be configurable, customizable and embeddable.

Prove it!

Contributors welcome!

What can be contributed to?

Alternative web-based XMPP chat clients

First three use strophe.js. Kaiwa uses stanza.io.

Alternative libraries (to Strophe.js)

Thanks

Questions? Contact me:

Use a spacebar or arrow keys to navigate