[jdev] Bouillon 2 project
Victor Grishchenko
gritzko at plotinka.ru
Wed Jun 21 04:14:41 CDT 2006
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 at oc-
co.org,created=1150784880293
It means: "Editing" section at "Bouillon_Manual" page, version by
foaf at 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
More information about the JDev
mailing list