RE: Let's fix THE PROBLEM

Joe Hildebrand <[email protected]> Thu, 17 Jul 2003 17:08:22 -0600
Newsgroups gmane.ietf.impp
Message-ID <[email protected]>
/me delurks

Comments inline.

-- 
Joe Hildebrand

> -----Original Message-----
> From: Bob Wyman [mailto:[email protected]] 
> 	In XMPP, Presence is a single monolithic package. 

Not in my view.  You get a presence stanza per session.  Multiple sessions
per user.  There's a way to mark a session as non-IM
(<priority>-1</priority>, which decouples presence from messaging).  There's
an extensibility model, which can be used to add anything you like.  I'm not
sure how that's a single, monolithic package.

I'd also argue that it will solve most (all?) of the *presence* problems
that Rob wants to solve.  I have yet to hear of a concrete presence problem
that can't be modelled with these semantic tools.

Yes, there are times when I want to publish and subscribe to a different
list of people than the people that are subscribed to my presence, but
that's pub/sub, not presence.

> More 
> general PubSub requirements aren't being addressed by XMPP 
> even though there is an effort to do so under the Jabber 
> process (see JEP-0060). 

http://www.jabber.org/jeps/jep-0060.html for those that need a pointer.

> Also, XMPP Presence is so different 
> from the PubSub proposed in JEP-0060 that it is hard to 
> imagine XMPP implementations ever publishing presence data 
> over a PubSub transport even if JEP-0060 eventually gets 
> folded into the IETF process. Unless something drastic 
> happens, it would seem that Presence and PubSub will never 
> meet in XMPP...

I can imagine implementations that use pub/sub for presence, that don't
require anything drastic:


<iq type="set" from="[email protected]/work" to="presence.jabber.org"
id="presence-pub-1">
  <pubsub xmlns="http://jabber.org/protocol/pubsub">
    <publish node="[email protected]">
      <item id="work">

<presence from="[email protected]/work" xmlns="jabber:client">
  <status>On the phone</status>
  <show>away</show>
  <priority>5</priority>
  <!-- note: location here is wrong: it should be published to it's own
node.
       This is just an example of how to extend presence.  -->
  <location xmlns='http://jabber.org/protocol/location' datum='WGS84'>
      <lat>39.75477</lat>
      <long>-104.99768</long>
      <elevation>1609</elevation>
      <error>10</error>
      <desc>Jabber, Inc.</desc>
      <x xmlns='jabber:x:delay' stamp='20020910T23:08:25'/>
  </location>
</presence>

      </item>
    </publish>
  </pubsub>
</iq>



  [reminder: [email protected] for non-technical discussions, please]