Unhosted Jabber/XMPP?

37 views
Skip to first unread message

Danny Ayers

unread,
Apr 19, 2012, 3:02:12 PM4/19/12
to unho...@googlegroups.com
Has anyone looked into how unhosted might work with XMPP? Jabber IDs
are the same shape as email addresses and there's been plenty of work
done around interfacing between XMPP and HTTP (and WebSockets), so
this could well be low-hanging fruit.

http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol
http://xmpp.org/

Cheers,
Danny.

--
http://dannyayers.com

http://webbeep.it  - text to tones and back again

elf Pavlik

unread,
Apr 19, 2012, 3:51:44 PM4/19/12
to unhosted, buddycl...@googlegroups.com

Excerpts from Danny Ayers's message of 2012-04-19 19:02:12 +0000:

> Has anyone looked into how unhosted might work with XMPP? Jabber IDs
> are the same shape as email addresses and there's been plenty of work
> done around interfacing between XMPP and HTTP (and WebSockets), so
> this could well be low-hanging fruit.
>
> http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol
> http://xmpp.org/
>
> Cheers,
> Danny.

Hi Danny,

I would check with guys from Buddycloud (in cc), they had this presentation on FSW2011
"Bridging Federated Protocol Stacks"
http://d-cent.org/fsw2011/videos/

Myself I have quite some sympathy to XMPP and have plans to research it further for a while...

Cheers
=)
~ elf Pavlik ~

Michiel de Jong

unread,
Apr 21, 2012, 4:10:00 AM4/21/12
to unho...@googlegroups.com
hi! it's possible to do xmpp from an unhosted web app, using xmpp-over-websockets or its predecessor, xmpp-over-http. It only works if the currently logged-in user has an xmpp account, and the server that it's on offers xmpp-over-websockets, and a way to discover to it and OAuth to it. Although xmpp-over-websockets has been used to put webchat interfaces onto xmpp servers, i don't think it has ever been done with OAuth as a cross-origin API, afaik.

I agree with elf-pavlik that if you want to work on this you should ask the Buddycloud people for advice, and I would also personally be very interested in it, and could probably help you with getting some of the cross-origin auth aspects right.

For Opentabs i looked into doing this, but instead I'm opting for a 'sockethub' protocol that can also work websocket-to-websocket, and only falls back to an xmpp bridge for message recipients that are not also on sockethub.

Cheers!
Michiel

Tobias Kräntzer

unread,
May 13, 2012, 8:33:11 AM5/13/12
to unho...@googlegroups.com
Hi,

I'm pretty new to all this HTML5/JavaScript development but have quite some experience with XMPP. At the moment I'm playing a bit with Strophe.js to get some experiences with java script and building some basics for my self to write a few web apps based on XMPP.

As far as I understand the concepts of unhosted, I think this could be covered with XMPP (and a PubSub service). In addition there would also be federation to other servers and all the parts needed to build applications for communication.

Cheers,
Tobias.

Michiel de Jong

unread,
May 13, 2012, 11:07:28 AM5/13/12
to unho...@googlegroups.com
On Sun, May 13, 2012 at 2:33 PM, Tobias Kräntzer
<tobias.k...@googlemail.com> wrote:
> Hi,
>
> I'm pretty new to all this HTML5/JavaScript development but have quite some
> experience with XMPP. At the moment I'm playing a bit with Strophe.js to get
> some experiences with java script and building some basics for my self to
> write a few web apps based on XMPP.

cool! if you need help, drop by in the chat room, we're usually there
to help: http://webchat.freenode.net/?channels=#unhosted

if we don't reply immediately, just stay logged in, and sooner or
later someone always shows up.

>
> As far as I understand the concepts of unhosted, I think this could be
> covered with XMPP (and a PubSub service).

XMPP itself is not accessible directly from unhosted web apps (web
apps that run in the browser instead of on a server), so you would
need XMPP-over-WebSocket or its more widely spread predecessor, bosh.

> In addition there would also be
> federation to other servers and all the parts needed to build applications
> for communication.

does XMPP provide personal data storage? Can I upload files to my XMPP
account and retrieve them later, using the xmpp server basically as a
file server? because that is what the remoteStorage spec implements.
if XMPP-over-WebSocket can do this, then we might be able to add it as
one of the APIs of remoteStorage.

Tobias Kräntzer

unread,
May 13, 2012, 4:45:39 PM5/13/12
to unho...@googlegroups.com
Hi,

Am Sonntag, 13. Mai 2012 17:07:28 UTC+2 schrieb Michiel de Jong:
cool! if you need help, drop by in the chat room, we're usually there
to help: http://webchat.freenode.net/?channels=#unhosted

Thanks, I'll drop by…
 
> As far as I understand the concepts of unhosted, I think this could be
> covered with XMPP (and a PubSub service).

XMPP itself is not accessible directly from unhosted web apps (web
apps that run in the browser instead of on a server), so you would
need XMPP-over-WebSocket or its more widely spread predecessor, bosh.

For the connection to the XMPP server I'm using strophe.js (I think this only implements the old™ method a.k.a. BOSH).

> In addition there would also be
> federation to other servers and all the parts needed to build applications
> for communication.

does XMPP provide personal data storage? Can I upload files to my XMPP
account and retrieve them later, using the xmpp server basically as a
file server? because that is what the remoteStorage spec implements.
if XMPP-over-WebSocket can do this, then we might be able to add it as
one of the APIs of remoteStorage.

The short answer is "yes", the long "it depends". I can give a more elaborated explanation and some details what you can do with XMPP these days.

elf Pavlik

unread,
May 14, 2012, 2:45:09 AM5/14/12
to Danny Ayers, unhosted
Excerpts from Danny Ayers's message of 2012-04-19 19:02:12 +0000:
> Has anyone looked into how unhosted might work with XMPP? Jabber IDs
> are the same shape as email addresses and there's been plenty of work
> done around interfacing between XMPP and HTTP (and WebSockets), so
> this could well be low-hanging fruit.

Just thinking about xmpp, i find this resource part of URI interesting:
http://wiki.xmpp.org/web/Jabber_Resources

I must honestly admit that I still haven't research XMPP PubSub so much:
http://wiki.xmpp.org/web/Tech_pages/PubSub

=)

nil

unread,
May 14, 2012, 3:07:45 AM5/14/12
to unho...@googlegroups.com
I think there are many ways in which XMPP and unhosted (can) overlap.
It should be pretty straight forward to use pubsub as a remoteStorage
backend (e.g. by using node names based on categories). But in my
opinion that wouldn't provide any benefit over using other backends.
To me it makes more sense to integrate categories with the semantic
equivalents in the XMPP world, such as:
* contacts category -> XMPP roster[1], vcards[2]
* messages category -> well, XMPP messages :)
(in my head there were more ideas when I started this message, I will
add later, if I remember)

makes sense to anyone?

-- niklas


[1] - http://xmpp.org/rfcs/rfc3921.html#roster
[2] - http://xmpp.org/extensions/xep-0292.html
Reply all
Reply to author
Forward
0 new messages