[REBOL] rebol open messaging system
From: jjmmes::yahoo::es at: 24-Nov-2002 0:32
Is anybody in the list interested in developing an
open messaging system based on Gabrielle's suggestion
The idea would be to have a Instant Messaging
environment really geared for development more than
chatting, with lots of technical topics/channels.
One feature that would be very useful is to have the
ability to get all channel content so that there is
not a lot of repetition.
If we build it based on an academic license we can
keep adding improvements and at the same time learn a
If this is a good idea, I'd volunteer putting together
releases based on the different contributions, once we
have a basic running client.
On Thursday, November 21, 2002, 3:21:56 PM, you wrote:
PK> I would be having fun, if I would know how to get
it working from behind
PK> the firewall. Why don't you allow proxy settings
or why don't you use
PK> http tunneling like IOS does, please?
I think that HTTP is too limited to allow IM in a
smooth way. I
think that this is the reason for the limited
scalability of IOS.
(I.e. /Link has to poll; this means that if you
have 10 users
active, you have 10 users polling your HTTP server;
you have to do
polling very often, if you want it to look like
so, as the number of users grow, the amount of
work in for the
HTTP server grows, and servers like Apache have to
spawn a new
process for each new connection. This can take a small
quite quickly. Unless you can afford a server
I think that a solution to the problem is to try to
be smart and
use both HTTP and a custom protocol. So, you have
three class of
1. Users that can receive and do connections on any
2. Users that can connect to any port but cannot
3. Users that can only do HTTP requests.
Now, we can provide a good performance to users
in class 3 by
using the resources of users from class 1. Once the
in which class it is (either by doing tests or
by asking the
user), it can decide how to communicate.
If it is in class 1, it does a connection with the
the custom protocol. (One could even try to take
multicasting if it works for some users...) Also, it
asks to the
user if it is ok to open an HTTP port to "help" other
If it is in class 3, it does an HTTP request to the
server to know
the list of users that offer the HTTP service. (Or,
one could use
HTTP push if it works with the proxy the user is
forced to use.)
Then the client can do polling by selecting
randomly one of the
users with the HTTP service.
What do you think?
Gabriele Santilli <[g--santilli--tiscalinet--it]> --
Amigan -- AGI L'Aquila -- REB: