Hi!
Yesterday I've launched first public Bouillon server. It is
relevant
to Jabber because it uses XMPP as a transport, it also uses
rosters
as a material for building social network (in plain words,
in reuses
existing IM contact social network). Bouillon functionality
intersects with Jabber whiteboarding and Jabber wiki
initiatives.
Current Bouillon connects to a Jabber server as an external
component. Client side is implemented in AJAX.
In two words, Bouillon is "editable Web". In
four words, "P2P wiki
with reputations". In more detail:
- Bouillon allows P2P editing of arbitrary XML (XHTML for
now). But,
there are no single global version of any page. Each user's
agent
retrieves and assembles pieces of a page from user's
friends, friends-
of-a-friend, etc
- If Bouillon user likes a page or a new piece of a page or
a new
version of an existing piece (i.e. considers it relevant)
then (s)he
may confirm that page/piece (i.e. issue an opinion) and let
it
propagate further in the social network
- If a Bouillon user considers a piece to be trash/spam then
(s)he
may suppress propagation of that piece issuing a negative
opinion.
- Users may edit existing pieces or insert new pieces using
their Web
browsers or any other client if implemented.
Pieces are identified by POV IDs, i.e.
parent_id/own_id:version_id.
An example:
Bouillon_Manual-root/EditingTherearethree:author=foaf oc-
co.org,created=1150784880293
It means: "Editing" section at
"Bouillon_Manual" page, version by
foaf oc-co.org created on Tuesday, June 20th.
To see that piece and the whole page a Bouillon user has to
visit
http
://some.bouillon.server/page/Bouillon_Manual, so it is
much
analogous to wiki. Realtimeness of Bouillon is currently
limited by
AJAX client which polls a server every minute or so;
otherwise,
changes may propagate in real time.
Technically, Bouillon engine uses <iq> to send
requests/responses
back and forth. User information and roster is obtained from
a server
using simple jabber login having -1 priority.
I consider the core algorithm of Bouillon, the oc-co
asynchronous
switching engine, as mature. Theoretically, it may process
any XML
content, e.g. SVG. The code itself is released under GPL,
see http://
oc-co.org.
So finally, I am currently considering possible Bouillon
applications. In particular I think it worth discussing in
regard to
Jabber-driven real-time wiki and Jabber whiteboarding
initiatives.
Yours,
Victor Grishchenko
research fellow
Ural State University
see project blog at: http://oc-co.org
Bouillon public server: http://oc-co.org:8000
|