<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inkscape.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Inkboard2.0</id>
	<title>Inkboard2.0 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inkscape.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Inkboard2.0"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkboard2.0&amp;action=history"/>
	<updated>2026-04-30T07:42:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkboard2.0&amp;diff=14327&amp;oldid=prev</id>
		<title>Colin Marquardt: Reverted edits by QpnQ52 (Talk); changed back to last version by DavidYip</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkboard2.0&amp;diff=14327&amp;oldid=prev"/>
		<updated>2007-04-20T15:47:42Z</updated>

		<summary type="html">&lt;p&gt;Reverted edits by &lt;a href=&quot;/wiki/Special:Contributions/QpnQ52&quot; title=&quot;Special:Contributions/QpnQ52&quot;&gt;QpnQ52&lt;/a&gt; (&lt;a href=&quot;/wiki/index.php?title=User_talk:QpnQ52&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:QpnQ52 (page does not exist)&quot;&gt;Talk&lt;/a&gt;); changed back to last version by &lt;a href=&quot;/wiki/index.php?title=User:DavidYip&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:DavidYip (page does not exist)&quot;&gt;DavidYip&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:47, 20 April 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It does not attempt to correct for lost messages (and therefore can lose objects or attribute changes very easily) or check for message integrity.  Adding these features on is possible but messy.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It does not attempt to correct for lost messages (and therefore can lose objects or attribute changes very easily) or check for message integrity.  Adding these features on is possible but messy.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The Loudmouth library is good for establishing connections and basic Jabber communication, but can be rather painful to use when dealing with other types of XMPP messages, especially of the type that are found in the Jabber MUC protocol (http://www.jabber.org/jeps/jep-0045.html).  Loudmouth operates on a node-by-node basis, and this can get messy.  Additionally, it's a C library with no C &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;bindings that I know of.  (Feel free to correct me if I'm wrong about this.)  What I'd like to do is use a system that can make use of the Jabber MUC XML schemas to extract all the data from XMPP messages and work from there.  (See http://www.jabber.org/jeps/jep-0045.html#schemas for the XML schemas.)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The Loudmouth library is good for establishing connections and basic Jabber communication, but can be rather painful to use when dealing with other types of XMPP messages, especially of the type that are found in the Jabber MUC protocol (http://www.jabber.org/jeps/jep-0045.html).  Loudmouth operates on a node-by-node basis, and this can get messy.  Additionally, it's a C library with no C&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;++ &lt;/ins&gt;bindings that I know of.  (Feel free to correct me if I'm wrong about this.)  What I'd like to do is use a system that can make use of the Jabber MUC XML schemas to extract all the data from XMPP messages and work from there.  (See http://www.jabber.org/jeps/jep-0045.html#schemas for the XML schemas.)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* I inherited this codebase, and although I have the design documents, I don't have the original designers and coders to talk to.  Although I have a pretty good idea of what each module does, I still find myself wondering about some pieces of the design.  Additionally, the Inkboard codebase was written in C (both lingustically and stylistically).  I have converted most parts to C &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;(lingustically and stylistically), but it's still something of an ill-fiting mishmash.   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* I inherited this codebase, and although I have the design documents, I don't have the original designers and coders to talk to.  Although I have a pretty good idea of what each module does, I still find myself wondering about some pieces of the design.  Additionally, the Inkboard codebase was written in C (both lingustically and stylistically).  I have converted most parts to C&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;++ &lt;/ins&gt;(lingustically and stylistically), but it's still something of an ill-fiting mishmash.   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;These issues make me think that it may be best to engage in a substantial redesign of the Inkboard protocol and codebase.  I think that the current Inkboard class organization is okay ([[InkboardArchitecture]], coming soon) but it could really use some cleaning.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;These issues make me think that it may be best to engage in a substantial redesign of the Inkboard protocol and codebase.  I think that the current Inkboard class organization is okay ([[InkboardArchitecture]], coming soon) but it could really use some cleaning.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When I stabilize Inkboard 1.0 and get it integrated into Inkscape CVS, I'll begin to write up my ideas for Inkboard 2.0 on this page.  Contributions of all sorts, of course, are encouraged and greatly appreciated.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When I stabilize Inkboard 1.0 and get it integrated into Inkscape CVS, I'll begin to write up my ideas for Inkboard 2.0 on this page.  Contributions of all sorts, of course, are encouraged and greatly appreciated.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Colin Marquardt</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkboard2.0&amp;diff=14123&amp;oldid=prev</id>
		<title>QpnQ52 at 17:19, 11 April 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkboard2.0&amp;diff=14123&amp;oldid=prev"/>
		<updated>2007-04-11T17:19:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;quot;Inkboard 2.0&amp;quot; may be something of an exaggerated descriptor, but I hope that it gets the point across.&lt;br /&gt;
&lt;br /&gt;
The current Inkboard protocol and code (which I will refer to as &amp;quot;Inkboard 1.0&amp;quot; for the sake of flow) works well for one-to-one collaboration and can be extended to chatroom conferences, but after quite a bit of work on the latter I've found a few issues:&lt;br /&gt;
&lt;br /&gt;
* The protocol does not seem to handle abnormal cases very well.  I've only found a couple of cases where it is capable of handling errors:&lt;br /&gt;
** Out-of-order message receipt (i.e. it detects a situation in which sequence numbers in the message queue are not monotonically increasing)&lt;br /&gt;
** Excessive desynchronization (solution: drop the user)&lt;br /&gt;
It does not attempt to correct for lost messages (and therefore can lose objects or attribute changes very easily) or check for message integrity.  Adding these features on is possible but messy. &lt;br /&gt;
&lt;br /&gt;
* The Loudmouth library is good for establishing connections and basic Jabber communication, but can be rather painful to use when dealing with other types of XMPP messages, especially of the type that are found in the Jabber MUC protocol (http://www.jabber.org/jeps/jep-0045.html).  Loudmouth operates on a node-by-node basis, and this can get messy.  Additionally, it's a C library with no C   bindings that I know of.  (Feel free to correct me if I'm wrong about this.)  What I'd like to do is use a system that can make use of the Jabber MUC XML schemas to extract all the data from XMPP messages and work from there.  (See http://www.jabber.org/jeps/jep-0045.html#schemas for the XML schemas.)&lt;br /&gt;
&lt;br /&gt;
* I inherited this codebase, and although I have the design documents, I don't have the original designers and coders to talk to.  Although I have a pretty good idea of what each module does, I still find myself wondering about some pieces of the design.  Additionally, the Inkboard codebase was written in C (both lingustically and stylistically).  I have converted most parts to C   (lingustically and stylistically), but it's still something of an ill-fiting mishmash.  &lt;br /&gt;
&lt;br /&gt;
These issues make me think that it may be best to engage in a substantial redesign of the Inkboard protocol and codebase.  I think that the current Inkboard class organization is okay ([[InkboardArchitecture]], coming soon) but it could really use some cleaning.&lt;br /&gt;
&lt;br /&gt;
When I stabilize Inkboard 1.0 and get it integrated into Inkscape CVS, I'll begin to write up my ideas for Inkboard 2.0 on this page.  Contributions of all sorts, of course, are encouraged and greatly appreciated.&lt;/div&gt;</summary>
		<author><name>QpnQ52</name></author>
	</entry>
</feed>