[Sugar-devel] The Sugar Network technical implementation overview

Aleksey Lim alsroot at activitycentral.org
Tue Dec 20 09:06:05 EST 2011

On Tue, Dec 20, 2011 at 10:04:55AM +0000, Marco Pesenti Gritti wrote:
> On 19 December 2011 23:19, Aleksey Lim <alsroot at activitycentral.org> wrote:
> >> IMHO, you will need to get a lot more concrete than that if you want
> >> anyone to understand what you are trying to do.
> >
> > The brief info,
> > http://wiki.sugarlabs.org/go/Platform_Team/Sugar_Network/Architecture#Functioning
> Hi Aleksey,
> unfortunately you have lost me much earlier than that. I have read and
> reread the Concept page and still I have absolutely no idea of what
> you are trying to accomplish. Perhaps you started from concrete
> deployment needs but, when designing and documenting the system, you
> brought it up to such an high level of abstraction that it's
> impossible to understand what you are talking about (for my little,
> unimaginative brain at least!).
> For example
> http://wiki.sugarlabs.org/go/Sugar_Network/Concept#Overview
> Is that describing a video game, a social network, or maybe even...
> human life? :)

== Well.. ==

Well, Sugar_Network/Concept might look too abstract..
The problem here is that page created exactly for non-tech people
(and maybe for people who populated it, it is hard to write such pages).

== Background ==

In any case, the whole idea of Sugar Network was started not from
tech side but to fix particular deployment needs, here off-line schools
and bunch of related problems, e.g., the links from its home page
in particular).

The point in this idea is, instead of doing thigs like:

* package wikipedia to open it on students' XOs (or on teachers' XOs)
* the same for any other content in .xol
* the same for .xo activity bundles
* paper (because it is off-line, the option is creating new system
  and teach teachers how to use it) work when teachers need to ask
  tech/edu people about how this system work and how to teach
  students to use it.

All these points seem to be doable from tech pov, but it is more about
handling similar issues one-by-one, ie, solving the same problems
several times. For example:

* is it ok to package wikipedia, can students' XOs handle it, but they
  don't have additional space like bunch of USB sticks
* the same for .xol
* the same for .xo

== A way to solve it that was chosen ==

Instead, the idea is about providing basic possibility to share exactly
"different types of resources" (really, can't find more appropriate words).
These resources (mentioned on wiki pages from different povs), are:

* feedback related resources (questions, ideas, problems)
* wiki, for all content, even for the same .xol that can be attached to
  the wiki
* Releases (in terms of Concept page, more appropriate workding is
  wellcome), that's about activities to launch, ie, .xo

Concentrate this sharing on teachers' XOs (ie, they are servers),
provide sufficient storage space for all these teachers' XOs (to hadle
as much content as possible). Make students's XOs as a thin clients
(no need in keeping all .xol/.xo on every XO) for the Sugar Network.
Support additional workflow for server-less case, ie, when students go
home and teachers' server is not accessible. This server-less workflow
should not be like "read out wiki to know how to reuse your SD card
(btw, maybe absent) to make your life easier (really?) if you want to
work with content that doesn't feet to your XO". In term of
Sugar_Network/Concept, it should be, "there are private and not private
Projects, make it private (if you have enought storage space, to work on
it at home".

== Not only off-line ==

The implementation with having basic sharing functionality and close
integration it with regular sugar behaviour, is exactly what Sugar (from
my pov) just doesn't have. There is such possibility, but it starts from
Browse and related fun like managing bunch of accounts, not shortest way
to do things related to your Sugar env (see the example of sharing TA
project vs. "Click Share button in Journal".

== Feedback ==

The Sugar "Network" was named such exactly because of it affects really
all levels of Sugar behaviour. And it is really hard to answer to:

* general questions about concept, it is possible to answer only in general
* general questions about impl, the universal general answer is
  "sharing different types of resources"

So, regarding impl, more concrete questions are welcome.

And it is the Wiki, if you feel you think the same as the text on
Sugar_Network pages (if not, there are discussion pages that all
interesting in people are subscribed to), and this text has ugly
wording/not-full, improve it.


More information about the Sugar-devel mailing list