Changes

Jump to navigation Jump to search
832 bytes added ,  12:07, 3 August 2009
no edit summary
Line 1: Line 1: −
<noinclude>{{GoogleTrans-en}}{{TOCleft}}</noinclude>
+
<noinclude>{{GoogleTrans-en}}{{TOCright}}</noinclude>
    
== Objective ==
 
== Objective ==
 
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.
   Line 25: Line 26:     
bemasc
 
bemasc
* a DNS server and httpd server on each client. WikiBrowse  
+
* a DNS server and httpd server on each client. (example WikiBrowse )
       
m_stone:
 
m_stone:
*name the people with one wishes to collaborate with:
+
* name the people with one wishes to collaborate with using:
 +
** Telepathy
 +
** DNS
 +
** D-Bus to telepathy
 +
 
 +
* a way to get those names to the JS.
 
** D-Bus to telepathy
 
** D-Bus to telepathy
 
** HTTP to a webserver to D-Bus to telepathy
 
** HTTP to a webserver to D-Bus to telepathy
Line 38: Line 44:  
** point-to-point HTTP links to peer webservers.
 
** point-to-point HTTP links to peer webservers.
   −
work in progress
+
Collaboration data:
 +
 
 +
Bemasc has suggested to store the messages using files and directories
 +
* /users could be a list of current users
 +
* /$USERNAME/ could be a list of messages, displayed as files
 +
* To check for new messages, just poll the contents of /$USERNAME/. 
 +
* To check for new users, just poll /users.
 +
* If you want to see what messages $USERNAME has emitted, poll /$USERNAME/
 +
 
 +
 
 +
Also one other way is using http PUT & GET
 +
 
 +
 
 +
Flaws: it's all broadcast, and it's all polling.
 +
 
 +
Broadcast is inefficient in the network if you really only want to send a message to a single user.  Polling wastes CPU, battery, and possibly network.
 +
 
 +
On way to handle polling is setting a high timeout for XHR. (Thanks Lucian)
    
[[Category:GSoC]]
 
[[Category:GSoC]]
 +
[[Category:Collaboration]]

Navigation menu