Date: Sun, 24 Jul 2016 10:36:00 +1000
From: sam@sam.today
To: Sugar-dev Devel <sugar-devel@lists.sugarlabs.org>, Abhijit Patel
<abhisandhyasp...@gmail.com>
Subject: [Sugar-devel] Thoughts on Collab
Message-ID: <1469320560.190...@smtp.gmail.com>
Content-Type: text/plain; charset="utf-8"; Format="flowed"
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.html>
------------------------------
Subject: Digest Footer
_______________________________________________
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel
------------------------------
End of Sugar-devel Digest, Vol 93, Issue 50
*******************************************