[Sugar-devel] Thoughts on Collab

sam at sam.today sam at sam.today
Sat Jul 23 20:36:00 EDT 2016


Hi All,

In the irc meeting 2 nights ago, we discussed adding collaberation to 
the journal project feature.  Abhijit has spent around 3 weeks working 
on it.  But we can't even get a text channel between the participants.  
Telepathy is painful, buggy (we have a segfault in salut) and hard to 
debug.  It is also unmaintained - the last commit to telepathy salut 
and gabble was 2 years ago.

So this is the pre-text for an experiment; modernising the 
collaboration stack without using telepathy.

Initially, I proposed Matrix.Org.  I don't support this idea any more, 
as matrix.org has some very messaging specific features, and some spots 
where sugar would not fit idiomatically within the api.

So I have been thinking a little more about splitting up the problem 
into 3 sections:

1)  A neighbourhood view implementation - a model to discover people 
nearby or via the school server
2)  A group messaging socket - the backbone for collaboration in 
activities
3)  A one-to-one file transfer mechanism - used for initial state sync 
in activities, "send to" feature in journal, etc

I have think that we can do the neighbourhood view by using 2 backends 
and merging the result.  We can use the Avahi api to publish/find 
activities/buddies on the local network.  We could additionally use a 
school server (running a custom sugar server app) to support buddies 
who are not on the same network.  Since both activities and buddies 
have unique identifiers, we can easily have both back-ends running at 
the same time, and de-duplicate the result.

Avahi is very fun to work with:

    avahi-publish-service "Sam P" "_org_sugarlabs_collab_user._tcp" 
8080 "name=Sam P" "color=#fff,#000" "other_metadata=other_value"
    avahi-discover

All of the backends could give us an ip and a port to reach the other 
person.  For the avahi backend, this would be a direct connection to 
the other buddy.  For the schoolserver, it would be proxied through the 
schoolserver.

I'd love to hear your thoughts on the other problems, and on this 
problem to.

Thanks,
Sam
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20160724/569b6610/attachment-0001.html>


More information about the Sugar-devel mailing list