Hi all,
Before I begin integrating Inkboard's code into Inkscape, I'd like to verify the presence of a few large bugs that I've found in the Inkboard code. As bugs can sometimes manifest themselves differently (or not at all!) on different platforms, I'd appreciate large-scale testing of this software.
Quick rundown of the project: The Inkboard project's aim was to develop code that would add virtual whiteboarding capabilities to Inkscape, using the Jabber messaging protocol as its communication infrastructure. Its source code is available at http://sourceforge.net/projects/inkboard; documentation is available at http://inkboard.sourceforge.net. The latest CVS is identical to the v0.25 release, as far as I can tell by looking through diffs.
Compilation: I believe the only additional library required is loudmouth http://developer.imendio.com/wiki/Loudmouth. I am using version 0.17.2-r2; I do not know if version 0.90 will work, but I'd love to hear if it does.
Basic operation: Two instances of Inkboard must be started. Both clients connect to a Jabber server using the File > Connect to Server option. Then an invitation is extended from one client to the other using the File > Share with User option. (The invitation is automatically accepted by the other peer; this will be changed in the integration process.) Upon acceptance, the two Inkscape canvases will be synchronized.
Bugs: Here's the five biggest bugs I've found. The "server peer" and "client peer" as written below are as follows: Let A select "Share with User", and let A also enter B's Jabber ID as the user to share to. Then B is the server and A is the client. (It seems backwards, but it's the only way I've managed to get it to work.)
1) Usage of the text tool crashes Inkboard while in a whiteboard session.
2) Anything except solid fills/strokes either crash the server side or are not transmitted properly except on initial whiteboard synchronization.
3) Deletion is extremely finicky -- missing child nodes in the document tree are a common problem, causing assertion failures in the document tree manipulator.
4) The server peer is the only peer whose updates are committed; updates made by the client peer are ignored.
5) Changes to some properties of objects (e.g. number of star points, number of spiral revolutions) are not transmitted immediately like all other changes.
My platform: I'm running Gentoo Linux 2005.0, x86 version. Library versions are as follows: libxml2 v2.6.17 gtkmm v2.4.11 glibmm v2.4.7-r1 (-r1 is a Gentoo thing) glib v2.6.3 gtk+ v2.6.7 libsigc++ v2.0.11 boehm-gc v6.4 loudmouth v0.17.2-r2 (ditto on -r2)
I am running jabberd v1.4 internally on a machine running Gentoo Linux 2005.0, amd64 edition. The only configuration change I have made on the Jabber server is disabling rate-limiting for faster updates. I am compiling Inkboard using gcc 3.3.5-20050130 in a distcc setup with the P4 and the AMD64 machine.
More information can be found in the attached file.
I'd appreciate any testing and feedback you guys (and girls!) can give me. The more information, the better :)
Thanks,
-- David