[Sugar-devel] Collaboration support for sugar web activities

Emil Dudev emildudev at gmail.com
Sat Jan 18 09:20:28 EST 2014


I'm not quite sure.

One way to do it is to use 1 class as the client and integrate the class
into the current mesh box (neighbourhood.py). This would probably mean that
normal sugar activities could use this 'new protocol'.
An other way would be to use a web activity as the client. I'm not sure how
exactly will I have to handle the activity -> sugar communication and pass
the invites.

If going with the second approach I'd have to rewrite the whole
neighbourhood view in HTML/javascript. And with this an other question
arises: How much of sugar's core can be rewritten in HTML/javascript.
One of TogetherJS's features is to follow your friends around pages. I
think it's limited to a single domain, but I believe I can use it.

I believe that the first approach would be easier, but with all this talk
about new frameworks for web activities and going multi platform, I'll
choose the second approach.

Emil Dudev



On Sat, Jan 18, 2014 at 1:19 PM, Daniel Narvaez <dwnarvaez at gmail.com> wrote:

> Interesting! Are you planning to use a js actitvity or a python one as
> client?
>
>
> On 18 January 2014 01:21, Emil Dudev <emildudev at gmail.com> wrote:
>
>> Busy month...
>>
>> Anyway, I checked out telepathy and tried to fix the many protocol
>> problems. Sadly, I gave up pretty easily. I suppose it would be easier to
>> rewrite the whole process from scratch.
>>
>> Today I was able to recreate the basic functionality of TogetherJS'
>> server. From a nodejs server, I rewrote it in python (using gwebsockets).
>> This will give me the ability to customize it freely.
>>
>> Tomorrow I plan on building the basic invitation process using web
>> sockets. I suppose it will be more reliable than telepathy. And it would
>> possibly be better for an Android app or other systems with limited
>> functionality.
>>
>> About WebRTC: I really think that peer-to-peer connections are needed.
>> But at this point, I'll go with client-server connections.
>>
>> gwebsockets: https://github.com/edudev/gwebsockets/tree/master
>> websocket-server: https://github.com/edudev/web-reply
>>
>> Emil Dudev
>>
>> On Sun, Jan 12, 2014 at 8:51 PM, Daniel Narvaez <dwnarvaez at gmail.com>wrote:
>>
>>> On 12 January 2014 19:01, Emil Dudev <emildudev at gmail.com> wrote:
>>>
>>>> About the telepathy part to send only the invites and establish the
>>>> connection:
>>>> I can't seem to be able to complete the invitation accepted process.
>>>> Sometimes it works, sometimes not (mostly not). For normal sugar activities
>>>> it's the same (with the exception that with them it mostly works, at least
>>>> I think it works).
>>>> Exchanging the TogetherJS ID is not a problem. The invited user can't
>>>> seem to connect to the telepathy channel properly.
>>>> As you noted above, it's a protocol mess.
>>>> If telepathy is completely dropped for web activities, then a question
>>>> arises: how to send the invite with the unique ID?
>>>>
>>>
>>> I don't know the details of the current invitation protocol. I suppose
>>> you could register a "private" activity with the server and then send a
>>> token to the invitee. Making this up as an example, not really well thought
>>> :)
>>>
>>>
>>>> Also, I still don't like using 1 server and having everything else
>>>> depend on that 1 server. The server would most likely have to process a lot
>>>> of traffic.
>>>> Would it be possible to use a peer to peer connection with web sockets?
>>>> Browsers don't support this, with reason. But if sugar's core is used, it
>>>> should be possible.
>>>>
>>>
>>> Did you investigate WebRTC? If nothing else I suspect it would allow to
>>> exchange data between peers. I'm not sure if it provides any facility that
>>> we could use to share presence information, i.e. a shared
>>> buddies+activiities list. That's the really hard problem to solve if you
>>> want fully p2p communication.
>>>
>>
>>
>
>
> --
> Daniel Narvaez
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20140118/033fb8e3/attachment-0001.html>


More information about the Sugar-devel mailing list