[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