%ents; ]>
User Browsing This document defines an XMPP protocol extension for communicating information about the web pages a user visits. &LEGALNOTICE; 0195 Experimental Standards Track Standards JIG XMPP Core XMPP IM XEP-0060 XEP-0163 browsing &stpeter; 0.1 2006-08-30 psa

Initial version.

0.0.1 2006-08-28 psa

First draft.

&xep0060; and &xep0163; can be used to publish a wide variety of "extended presence" information about users. This document specifies an extended presence payload format that communicates information about the web pages a user visits. This information may be of interest to a user's contacts and can also be used in social networking applications (e.g., co-browsing and web swarms).

Information about web pages is provided by the user (or automated integration with browsers or other systems) and is propagated on the network by the user's client. The information container for web page data is a <page/> element that is qualified by the 'http://jabber.org/protocol/browsing' namespace. The web page information itself is provided as the XML character data of the following children of the <page/> element:

Element Description Example Datatype Inclusion
description The value of the "description" META tag The weblog of Peter Saint-Andre xs:string OPTIONAL
keywords The value of the "keywords" META tag stpeter, Peter Saint-Andre, weblog, jabber, xmpp xs:string OPTIONAL
title The title of the web page (i.e., value of the <title/> element) one small voice xs:string OPTIONAL
uri The URI of the page (usually but not necessarily an HTTP URL) http://www.saint-andre.com/blog/ xs:anyURI REQUIRED

NOTE: The datatypes specified above are defined in &w3xmlschema2;.

When a user visits a web page, its client may publish that fact to a special pubsub or PEP node (if a PEP node, the NodeID is "http://jabber.org/protocol/browsing"). The web page information SHOULD be communicated and transported by means of the XEP-0060 protocol, especially the subset specified in XEP-0163 (as shown in the following examples). Because browsing information is not pure presence information and can change independently of the user's availability, it SHOULD NOT be provided as an extension to the &PRESENCE; stanza type.

http://www.saint-andre.com/blog/ ]]>

The browsing information is then delivered to all subscribers:

http://www.saint-andre.com/blog/ . . . ]]>

When the user stops browsing the page (e.g., by closing the browser window or tab), the user's client SHOULD send an empty <page/> element to the node with the same ItemID:

]]> . . . ]]>

The web pages that a user visits may be sensitive. A client must provide a way for a user to configure which pages or types of pages will not be published (e.g., via user preferences).

This document requires no interaction with &IANA;.

The ®ISTRAR; shall include 'http://jabber.org/protocol/browsing' in its registry of protocol namespaces.

]]>