Realtime in the browser using XMPP

@lloydwatkin

What is XMPP?

Who uses it?

Why is it important?

Fundamentals

Stanzas

...are snippets of XML


There are three types:
<message/>, <presence/>, & <iq/>

The JID


[user@] example.org [/mobile-phone]


  • local: The user/device (i.e. client)
  • domain: Server you are addressing
  • resource: Multiple connections?

Clients

Thin clients, leave the work to the server

Connect over TCP/BOSH (Long polling)/WebSockets

Data is pushed to clients, clients push data

Servers

Routes messages

Allow users to talk across servers

Handles authentication and security

Components

Custom business logic

Server agnostic

See node-xmpp-component

Why don't we see it used by web developers?

How can we use it to build applications?

xmpp-ftw

Live coding!

client
base / completed listener

Secure, scalable, realtime messaging system

Allows us to easily rebuild the decentralized web

Get lots of "extras" for free



Thanks, @lloydwatkin
Slides available @ talks.evilprofessor.co.uk