[JDEV] URL form of JID?

Christian Mogensen Christian.Mogensen at superoffice.com
Mon Sep 24 04:09:21 CDT 2001

> Is there a standard way to represent a JID as a URL (analogous to a 
> mailto: URL)? The most basic form would be something like 
> "jabber:user at host/resource" and the default action when clicked would
> to send an IM to that user.

URL identify RESOURCES - people, places, documents, stuff.

mailto: identifies an e-mail address. What you do with the resource
(add-it to addressbook, send mail to it) is up to the client's user

Imagine a web-browser where the default click action was
"add-to-hotlist" instead of "open" -- wouldn't be very useful, but it
would be valid.

jabber:user at host/resource is a valid URI. It identifies a Jabber user in
a particular context (the /resource bit).

> It occurs to me that a second form would be useful for conferences / 
> chat-rooms, since the behavior of clicking the URL would be different 
> (joining the room.) AIM, I believe, uses a "?" attribute on the "aim:"

> URL to distinguish between these things.

A chat room is a separate resource, so you'd either say
   jabber:conference-name at host
(this would be analogous to a mailing list in a mailto: URI)
   jabberconf:name at host
(create a special protocol to indicate conferences).

I prefer the first alternative, since it simplifies the namespace -- but
since conferences in Jabber aren't analogous to mailing lists, it might
be better to have a separate protocol for them. 
i.e. you can have user FOO at host and conference FOO at host with no way of
distinguishing them.

Trying to hack in different protocol extensions through the query-part
of the URI is not a good idea.

The context menu for a jabber: URI should permit sending a message,
adding the target to the address-book.
For a jabberconf: URI it would be send a message, join the conference,
add conference to address book.


More information about the JDev mailing list