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