[Sugar-devel] Bundles with binary requirements (Was: The ARM is near)

Michael Stone michael at laptop.org
Sat Aug 29 20:54:27 EDT 2009


(Regarding 0install):

> It is interesting, but fails horribly badly in the case of no, or low  
> bandwidth Internet. 

I'm not convinced, for three reasons.

First, there is "0share"

   http://0install.net/0share.html

which seems to me to be remarkably similar to our long-stated goal of
"horizontal distribution" of code and translations.

Second, there is "0export"

   http://0install.net/0export.html

which makes "setup.sh" install scripts which integrate with the rest of the
tools, including 0share, mentioned above. (This sounds rather similar to me to
the "fancy customization stick" that we've previously thought about building.)

Third, everything that I've seen in 0install so far is HTTP-based. This means
that it should play reasonably well with any XS-based HTTP caching that we wind
up organizing and with my work on http://wiki.laptop.org/go/Network2, should
that ever amount to anything.

> Just imagine the mess when some school on a low bandwidth high cost satellite
> link downloads "Wibble Activity.xo" and  pops it on there local server, or
> perhaps kids themselves start to  share the bundle, or distribute it on a USB
> stick from one to another.  

See above.

> Think of all those extra nasty yes/no/are your sure dialogues

I think that this is a matter of programming and integration, not of
fundamental design.

> subsequent download failures and support calls, and the
> school or districts bandwidth budget...

I'm not sure I follow your argument here. Can you elaborate on how this is any
better or worse than the other large things people might try to download?

> No insult or disrespect to the original developer, or those trying to  
> make it an activity, but the latest example http://code.google.com/p/sarynpaint/ 
> is an extremely simple/basic bitmap paint program written in Java,  
> that would take less than a day for me (and I am certainly no expert)  
> to duplicate from scratch in Python. Imagine the huge amount of  
> bandwidth, and install failures if this just got uploaded in ignorance  
> of all the duplicate dependancy downloads this would impose on remote  
> communities.

Let's see here:

   * I'm not sure I understand your point about install failures, so you'll need
     to clarify that one for me.

   * As far as the bandwidth goes... I'm actually more concerned about disk
     space, myself, due to my previous arguments about caching, horizontal
     distribution, and self-determination.

   * Finally, doesn't it seem to you that the ease of decentralized software
     distribution with dependencies and space sharing afforded by this
     technology might make it a lot easier for you (or for our friends on
     sugar-desarrollo@) to collaboratively develop and distribute your lean and
     mean replacement?

> Do you want a hand full of activity developers to bare the time effort  
> and cost of producing a quality, efficient, well thought through and  
> designed activity? Or put that cost on to 100,000+ children and their  
> country school systems? 


> How many ebooks could you distribute (and store) for the bandwidth (and nand
> space) taken up by downloading the required dependancies for Java. 

When possible, I'd rather just provide easy access to both and see which our
Learners prefer and I am coming to believe that this sort of decentralized
distribution technology might be a good way to achieve this goal.

> And once such a download system is in place, what will be the next
> unsupported language someone will try to ship an activity in?

Languages will be less expensive to support.

> Apologies for the rant.

No apology needed. I'm not trying to push something over on you; just trying to
point out some interesting technology that seems surprisingly well aligned with
my understanding of our goals. 

(And which we could learn a lot about documentation and technical writing
from!) :)

Regards,

Michael


More information about the Sugar-devel mailing list