XMPP

http://thetofu.com/xmpp/

Lets Begin

Lets Begin

Architecture

Architecture

XMPP Architecture

XMPP Architecture

What can you do with XMPP?

What can you do with XMPP?

What can you do with XMPP?

What can you do with XMPP?

What can you do with XMPP?

What can you do with XMPP?

What can you do with XMPP?

What can you do with XMPP?

What can you do with XMPP?

What can you do with XMPP?

What can you do with XMPP?

XMPP Addressing

XMPP Addressing

XMPP Addressing

XMPP Addressing

XMPP Addressing

XMPP Protocol

XMPP Protocol

XMPP Protocol

XMPP Protocol

XMPP Protocol

Streaming XML

SEND: <?xml version='1.0'?>
<stream:stream xmlns='jabber:client'
 xmlns:stream='http://etherx.jabber.org/streams'
     from='thetofu.com'
     version='1.0'>
RECV: <?xml version='1.0'?>
<stream:stream xmlns='jabber:client'
 xmlns:stream='http://etherx.jabber.org/streams'
      id='1'
      from='thetofu.com'
      version='1.0'>
SEND: </stream:stream>
RECV: </stream:stream>

presence

 <presence type="away" >
      <show>away</show>   
      <status>Talking at Posscon</status>   
 </presence>

presence

 <presence type="away" >
      <show>away</show>   
      <status>Talking at Posscon</status>   
 </presence>

presence

 <presence type="away" >
     <show>away</show>   
      <status>Talking at Posscon</status>   
 </presence>

presence

 <presence type="away" >
      <show>away</show>   
      <status>Talking at Posscon</status>   
 </presence>

message

 <message to="tofu@thetofu.com" type="chat" >
  <body>This is an example<body>  
 </message>

message

 <message to="tofu@thetofu.com" type="chat" >
  <body>This is an example<body>  
 </message>

message

 <message to="tofu@thetofu.com" type="chat" >
  <body>This is an example<body>  
 </message>

message

 <message to="tofu@thetofu.com" type="chat" >
  <body>This is an example<body>  
 </message>

iq

 <iq 
    xmlns="jabber:client" 
    to="thetofu.com" 
    type="get" 
    id="4445" >
  <query 
      xmlns="http://jabber.org/protocol/disco#items" />   
 </iq>

iq

 <iq 
    xmlns="jabber:client" 
    to="thetofu.com" 
    type="get" 
    id="4445" >
  <query xmlns="http://jabber.org/protocol/disco#items" />   
 </iq>

iq

 <iq 
    xmlns="jabber:client" 
    to="thetofu.com" 
    type="get" 
    id="4445" >
  <query xmlns="http://jabber.org/protocol/disco#items" />   
 </iq>

iq

 <iq 
    xmlns="jabber:client" 
    to="thetofu.com" 
    type="get" 
    id="4445" >
  <query xmlns="http://jabber.org/protocol/disco#items" />   
 </iq>

iq

 <iq 
    xmlns="jabber:client" 
    to="thetofu.com" 
    type="get" 
    id="4445">
  <query xmlns="http://jabber.org/protocol/disco#items" />   
 </iq>

XMPP and the Web

XMPP and the Web

XMPP and the Web

XMPP and the Web

How does this work?

How does this work?

How does this work?

How does this work?

How does this work?

Questions?

http://thetofu.com

http://identi.ca/tofu

tofu@thetofu.com

http://xmpp.org

jdev@conference.jabber.org