On 9 Feb 2007, at 15:40, Yen-Ju Chen wrote:

One thing about transporter of jabber is that
it has to save username and password of other IMs on Jabber server,
which has some security problems.
And the solution is to run a jabber server locally.

This is true, although sending data over a proprietary IM protocol is intrinsically insecure since you are sending it via an unaudited server owned by a (potentially competitive) commercial organisation.

Although running a local jabber server seems to be unnecessary,
it may provides some useful functions for Etoile.

At the very least, it might be beneficial to us to have an 'Étoilé server' that could be run on a local network and would provide collaboration services and possibly a central CoreObject repository. In the longer term, I would imagine running this in your house and the user interface components on virtual machines being migrated between your mobile phone and your TV.

I recently read ZeroConf stuff because GNUstep start to support it.
Then I realize ZeroConf only help me to find another IP.
I still need to use whatever protocol or distributed objects to transfer data.
I haven't look into the details yet.

The iChat way is to use an XMPP-like protocol in a peer-to-peer fashion. A better solution would be to have a local Jabber server and just use ZeroConf for the reverse-DNS lookup required for server- to-server communication. Then all you need to do is add a mechanism for adding people on the local network to a local roster group.

But it seems that I either have to write my own protocol for communication
or adapt an existing protocols for that.
In this case, XMPP seems to be a good choice.

I think XMPP is a nice choice, since it gives us a fairly simple mechanism for sending XML stanzas that we can extend. A quick summary of XMPP for those unfamiliar with the protocol:

There are three basic message types:
<message> stanzas are one-to-one reliable unidirectional messages.
<iq> stanzas are one-to-one reliable request-response pairs (either set->error/result or get->error/result)
<presence> stanzas are unreliable one-to-many messages.

We could, for example, have something like an NSNotificationCenter that would send notifications in <presence> stanzas to anyone on the network (e.g. object has been shared for collaboration).

Nicolas had the idea a while back of a shared shelf using XMPP. Like the shelf in the old NeXT file manager, you would be able to put files (or objects, in the Étoilé context) on it, and have them available to people on your context.

In another word, if there is a local jabber server running,
it can not only provides a way to communicate with other IM protocols,
but also can it serves a method to transfer data between computers.

Yes, it presents a lot of possibilities. _______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev

Reply via email to