Difference between revisions of "Karma/Collaboration"

From Sugar Labs
Jump to navigation Jump to search
(Created page with '<noinclude>{{GoogleTrans-en}}{{TOCleft}}</noinclude> == Objective == To provide a mechanism to enable collaboration using JavaScript. On this way, we'll be able to support colla…')
 
m
Line 4: Line 4:
 
To provide a mechanism to enable collaboration using JavaScript. On this way, we'll be able to support collaboration on Karma lessons.
 
To provide a mechanism to enable collaboration using JavaScript. On this way, we'll be able to support collaboration on Karma lessons.
  
== Examples ==
+
== Use cases ==
 +
Examples:
 
* A simple chat (over an html file), where you can see connected children to the activity and talk each other.
 
* A simple chat (over an html file), where you can see connected children to the activity and talk each other.
  

Revision as of 14:46, 30 July 2009

Objective

To provide a mechanism to enable collaboration using JavaScript. On this way, we'll be able to support collaboration on Karma lessons.

Use cases

Examples:

  • A simple chat (over an html file), where you can see connected children to the activity and talk each other.
  • Let's imagine a lesson: "Learning basic arithmetic", on this lesson we touch the topics: add, rest and multiply a number. At the end of the lesson we got the "Test". Here on "Test" one child writes a basic equation and challenges other child to solve it, then switch turns.

The problem

How to create an easy way to write collaborative JavaScript to be run client-side in browsers.

Keep in mind

  • JavaScript has no model for distributed collaboration.
  • Shared data can be considered volatile.

Possible solutions

It would be ideally as simple as possible and as web-like as possible.

lucian has suggested 2 possible ways[1]:

  • Starting local servers in each Browse and using XMLHttpRequest(XHR) to send data between.
  • Adding an API for this in window.sugar and using the existing Sugar collaboration Python API as a backend.


bemasc

  • a DNS server and httpd server on each client. WikiBrowse


m_stone:

  • name the people with one wishes to collaborate with:
    • D-Bus to telepathy
    • HTTP to a webserver to D-Bus to telepathy
  • data transfer via:
    • D-Bus + Telepathy
    • a central relay webserver
    • point-to-point HTTP links to peer webservers.

work in progress