#8171 HIGH 9.1.0: Possible XO to XO object transfer mechanisms for sharing data (was: Classroom feedback: Need to share a file from one XO to another)

Zarro Boogs per Child bugtracker at laptop.org
Tue Sep 16 16:45:14 EDT 2008


#8171: Possible XO to XO object transfer mechanisms for sharing data
---------------------------+------------------------------------------------
   Reporter:  sj           |       Owner:  Eben         
       Type:  enhancement  |      Status:  new          
   Priority:  high         |   Milestone:  9.1.0        
  Component:  sugar        |     Version:  not specified
 Resolution:               |    Keywords:               
Next_action:  communicate  |    Verified:  0            
  Blockedby:               |    Blocking:  6932         
---------------------------+------------------------------------------------
Changes (by Eben):

 * cc: marcopg, wad, martin.langhoff (added)
  * priority:  normal => high
  * next_action:  never set => communicate
  * component:  not assigned => sugar


Comment:

 There are a few ways we can think about transferring files:

 1. '''Synchronous:'''

 This is the most straightforward, the most direct, and the first option we
 should provide.  The action is quite direct, and involves selecting the
 person to send something to, and what to send eg. "Send <this object> to
 <my friend>."  The transfer is synchronous, and depends on network
 connectivity.  Ideally, our transfer system will also include a recovery
 system by which interrupted transfers can be resumed.

 2. '''Asynchronous, server:'''

 The next obvious method of transferring files is in the form of email
 attachments.  More generally, we depend on a server to hold the file and
 later make it accessible to the other person. This solution can time shift
 the transfer, and also help to get around firewalls.  It doesn't, strictly
 speaking, depend on email, but it could.

 The real question is if we want to implement, in the background, a
 transparent system for the recipient which provides this service (and
 shows alerts, handles the downloads, etc. automatically).  If not, do we
 still create a service for the sender which wraps the file into an
 attachment and sends it off to another?  This depends on mapping our
 notion of identity to an email address, of course, which can complicate
 things some.  I like the idea of an OS provided, transparent, asynchronous
 message/object passing system, though.

 3. '''Asynchronous, messenger:''' We could also implement an asynchronous
 message passing system which depends on no server at all.  Otherwise known
 as the 'briefcase idea', it involves wrapping a message up into an
 encrypted bundle and then passing that bundle to a) peers and/or b) the
 school server for future delivery to the intended recipient.  Of course,
 this uses space on the messengers system while in transit, instead of the
 server, so it would have to be opt in.

 In other words, one XO might send out a message to others asking "does
 anyone here know of <buddy X>".  They could then reply with information
 such as the number of times they have seen <buddy X>, the last time they
 saw <buddy X>, and/or the frequency with which they have seen <buddy X>
 (in a period of a week, perhaps).  Then, the first XO could request to one
 or more of the respondents that seem to see <buddy X> reliably enough to
 carry this message.  They would get a "messenger invitation", which they
 could accept or decline, and then the next time they see <buddy X>, they
 would send him an invitation to accept the message, and then remove it
 from their machine once sent (or declined).  Naturally, the school server
 could also offer (and automatically agree) to store the message as well,
 eliminating the burden on kids.

 This system could also provide a way, for instance, for brother Bob to ask
 sister Alice to turn in his homework to his teacher while he's out sick.
 There are lots of other reasons that make this a compelling idea.

-- 
Ticket URL: <http://dev.laptop.org/ticket/8171#comment:3>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list