Re: [Sugar-devel] GSoC Groupthink Update: SharedTextDemo-2
On Sat, Jun 13, 2009 at 3:45 PM, Benjamin M. Schwartzbmsch...@fas.harvard.edu wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 SharedTextDemo-2 is now available at http://dev.laptop.org/~bemasc/SharedTextDemo-2.xo. This version is functionally identical to (and even protocol-compatible with) version 1. However, I have redesigned the entire operational transformation engine. The new algorithms are still O(N), and the demo is still too slow to write a whole essay. However, I can now recommend Groupthink's SharedTextView to anyone who wants instant collaboration in a GTK TextView, and is editing less than 1 Kilobyte of text (on an XO-1, or proportionally more on more powerful machines). Sounds great! Are you expecting more performance gains in the future? Is there a git repository somewhere I could check out? bobby Please contact me if you would like help using Groupthink in your activity. The new algorithms are moderately interesting. I have completely removed all explicit trees, and all walking of trees. Instead, the new algorithm maintains two Lists, and a Dict for their inverted index. This allows determining the Nth character, locating an existing edit, or computing a new edit, in constant time. Actually performing an edit requires O(N) time, but the O(N) component is now a small, simple loop. I am hopeful that these algorithms are amenable to integration with a self-balancing tree (most likely a customized variant of a Rope), for log-time performance on all operations. Time permitting, I may implement this. - --Ben -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.11 (GNU/Linux) iEYEARECAAYFAko0Ac8ACgkQUJT6e6HFtqTdLQCfaUT9HilltmtM0803ZGv4Ja4t bpQAn1LQKDMy1DvD845J8X722m6ayKuv =ZBzM -END PGP SIGNATURE- ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] GSoC Groupthink Update: SharedTextDemo-2
Bobby Powers wrote: Sounds great! Are you expecting more performance gains in the future? Only if someone implements them! Is there a git repository somewhere I could check out? Yes! http://dev.laptop.org/git/projects/dobject/ --Ben signature.asc Description: OpenPGP digital signature ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] GSoC Groupthink Update: SharedTextDemo-2
On 15 Jun 2009, at 01:59, Benjamin M. Schwartz wrote: Bobby Powers wrote: Sounds great! Are you expecting more performance gains in the future? Only if someone implements them! Definitely has my interest!! Useful collaboration is _really_ tough, your Groupthink potentially offers a generalised sync solution for many Activity authors. Concrete example for me: It would seem to make a good collaboration back end for Labyrinth mind-maps. Mind-maps are generally fairly small (XML) documents (at least good ones are). Labyrinth does support adding drawings and images as nodes, but I can try to deal with those as unique hashed text identities for collaborative sessions, and transfer/ sync their actual raw content via other mechanisms when they change. Would be great to have the ability for a handful of folks to collaborate on creating mind-maps together in realtime. Regards, --Gary Is there a git repository somewhere I could check out? Yes! http://dev.laptop.org/git/projects/dobject/ --Ben ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] GSoC Groupthink Update: SharedTextDemo-2
Gary C Martin wrote: On 15 Jun 2009, at 01:59, Benjamin M. Schwartz wrote: Bobby Powers wrote: Sounds great! Are you expecting more performance gains in the future? Only if someone implements them! Definitely has my interest!! Useful collaboration is _really_ tough, your Groupthink potentially offers a generalised sync solution for many Activity authors. Concrete example for me: It would seem to make a good collaboration back end for Labyrinth mind-maps. Mind-maps are generally fairly small (XML) documents (at least good ones are). Labyrinth does support adding drawings and images as nodes, but I can try to deal with those as unique hashed text identities for collaborative sessions, and transfer/sync their actual raw content via other mechanisms when they change. Would be great to have the ability for a handful of folks to collaborate on creating mind-maps together in realtime. I agree. In fact, in groupthink_base.py there's an implementation of a shared Tree (in the graph-theoretic sense), which I wrote while trying to add collaboration to Tomeu's mind-map activity.* Structures for sharing arbitrary blobs would definitely be a welcome addition to Groupthink. --Ben *: There's also a SharedTreeStore in gtk_tools.py, wrapping the shared tree into the gtk TreeStore interface. However, neither data structure is at all tested, and both are probably full of bugs. I never got to try integrating this with Tomeu's activity, because I do all my testing on XOs, and the activity wouldn't run on 0.82 signature.asc Description: OpenPGP digital signature ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel