[Sugar-devel] GSoC 2019 Project Idea

James Cameron quozl at laptop.org
Mon Feb 18 21:22:45 EST 2019

On Mon, Feb 18, 2019 at 09:07:44PM +0530, Swarup N wrote:
> Hello,
> My name is Swarup N, and I have been contributing to sugarlabs for
> the past 2 months. I am relatively new to open source, but I hope to
> catch up soon. The last two months have proved quite fruitful, in
> terms of learning and understanding the code base.
> Going over the recent threads on sugar-devel mailing lists, I came
> across a thread that proposed to implement adapter like modules for
> pygame, GTK and other third party libraries that sugar runs
> on. There, I noticed the mention of CollabWrapper as a module that
> certain activities use to enable collaboration over multiple running
> sugar instances. I understand that CollabWrapper uses Telepathy,
> GLib as the underlying C code.

You're missing one layer; the Sugar Toolkit.  The toolkit provides
activity instance sharing.  CollabWrapper uses the toolkit.

See attached digraph.

The difference between using the toolkit directly and using
CollabWrapper is;

- simplified API, making it easier to add to an activity that does not
  yet support collaboration,

- one additional dependency (CollabWrapper),

- ongoing need to maintain source files copied from another

CollabWrapper is recent compared to the toolkit.  We have many
activities that use the toolkit and Telepathy directly for
collaboration rather than use CollabWrapper.  Unless you can give a
good user-experience reason, there is not a good justification to port
such an activity to using CollabWrapper.

> What I propose now as a GSoC project is to make use of CollabWrapper
> and enable several other activities to support collaboration.

Good.  We had already thought of that though.  ;-)

We have these compatible project ideas listed;

- "Improve and maintain 25 Sugar activities",

- "Port Sugar and core activities to Python 3",

- "Create a new set of activities",

So please add your name to assisting mentors in one or more of the
above ideas if you'd like to be involved.  The only requirement for an
assisting mentor is knowledge of the project.

Please also briefly edit the project descriptions to include
collaboration where appropriate.  We'll review your edits in pull

> Sugarlabs has over 300 repositories and wide set of activities, and
> many such activities has the potential to be run on several
> instances at once, basically supporting collaboration, but do not do
> so at the moment. I feel the project aligns with the pedagogical
> requirements that need to be met by project. At the same time, we
> can also fix existing issues regarding collaboration that some
> activities currently have. We can identify 20-30 activities that can
> support collaboration but do not so at the moment, and thus, make
> them support collaboration.
> I sincerely welcome suggestions and changes to what I've proposed
> from the developer community. I wish to see what other features and
> proposals we can add to this.
> Regards,
> Swarup N.

James Cameron
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sugar-collaboration-dependencies.png
Type: image/png
Size: 37248 bytes
Desc: not available
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20190219/b4b6905d/attachment-0001.png>

More information about the Sugar-devel mailing list