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