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]] |