[Sugar-devel] GSoC update: Groupthink demo

Benjamin M. Schwartz bmschwar at fas.harvard.edu
Mon Jun 1 23:50:09 EDT 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I have produced a new demo activity, available at
http://dev.laptop.org/~bemasc/SharedTextDemo-1.xo .  It is a shared text
editing activity, running over the usual Telepathy collaboration system.
It does not save files.  It does not offer colors or fonts or any of the
richness of Write.  It is very slow, and probably buggy.  SharedTextDemo
is of interest only to developers, at present.  However, it is, I hope
very interesting to them.

SharedTextDemo uses an operational transformation engine that I have been
developing for several months, to provide completely decentralized,
asynchronous, reliable document editing.  Its algorithms are related to
those used by Google Wave, though surely less highly developed, and likely
much less efficient.

The editing algorithms are not my favorite aspect of the activity.  My
favorite thing about it is the API.  The following is the entirety of the
main .py file:

"""
from groupthink import sugar_tools, gtk_tools
import sugar

SERVICE = "org.sugarlabs.SharedTextDemo"

class SharedTextDemoActivity(sugar_tools.GroupActivity):
    def __init__(self, handle):
        super(SharedTextDemoActivity, self).__init__(handle, SERVICE)

        toolbox = sugar.activity.activity.ActivityToolbox(self)
        self.set_toolbox(toolbox)
        toolbox.show()

        self.cloud.textview = gtk_tools.SharedTextView()
        self.set_canvas(self.cloud.textview)
        self.show_all()
"""

12 nonblank lines, total.  Everything else is provided by the library.
Adding a shared TextView to an existing activity takes arguably a single line.

Groupthink is available at http://dev.laptop.org/git/projects/dobject/

- --Ben Schwartz

Groupthink: Collaboration should be easy.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (GNU/Linux)

iEYEARECAAYFAkokoXEACgkQUJT6e6HFtqSFrwCdE40KiikCaEqNPzR3MQwH+IQZ
escAnjgTd+Tw2bdJ0eWJ4f17IgfqY/zm
=NV4H
-----END PGP SIGNATURE-----


More information about the Sugar-devel mailing list