Remarks on the Work of Sugar (kid contributions)
gnu at toad.com
Wed Jul 23 21:27:59 EDT 2008
> > 2) Sugar would run more smoothly on-XO if jhbuild were retired.
> I think this is a good point in the abstract. Do any frequent contributors
> *not* have an XO?
I approve of retiring jhbuild, and handing out XO's to Sugar
contributors, but you've really got the question backwards:
=> Do any frequent contributors have ONLY an XO? <=
I've seen lots of high flying rhetoric about Sugar being maintainable
and extensible by kids with their XO's, because it's in an easy
interpreted language shipped in source, etc. You have almost 500,000
units in the field (admittedly in younger kids). Seen any Python
prodigies contributing yet?
But the tools needed to be a contributing part of the Sugar community
don't run on the XO. There is no introductory material about how to
hack on Sugar on your XO. There isn't an ASCII text editor other than
vi, and no documentation on it. The concepts of "file names" and
"directories", in which the Python source files are kept, and which
must be scrupulously adhered to to modify them successfully, is
foreign to the user interface, which throws everything into an
unstructured heap. There's no email. There's no source code control
system. Kids could manually create diffs, if they remembered to save
the pre-change files, but they won't. There's no website where they
can upload changes into the Sugar team's deliberations. Distributing
their draft changes among their local XO peers for testing and
collaboration would be another exercise in frustration; ssh/scp
doesn't work, they have no USB memory sticks, they can't build RPMs;
you can't just "share a file", you have to share an "activity", ...
The recipient of a patch (what's a patch? We don't ship diff or
patch) or a changed file would need to know almost as much as the
author. Merely installing the change without trashing his XO's entire
GUI with a typo or missing Python file is tricky.
I was shocked(*) when after Christmas, a user posted a one-line patch
that disabled the Frame for people whose touchpads flee crazily into
the corners of the screen. It was, like, you can just edit this
file on your laptop and this bug goes away? But that was a single
shot in the dark. I haven't seen a similarly produced patch since.
(Though in Joyride a control panel option now handles that particular
There IS pippy, so the kids can learn Python syntax and semantics,
instead of just turtle programs and gooey smalltalk. Yay! But they'll
need a lot more help to apply that knowledge to Sugar itself.
If we want the kids who *love* their machines to come to *know* and
*evolve* their machines, there's a lot more work to be done. In
many ways the unique XO UI and collab setup make the learning curve
steeper, not easier.
(*) I'm a professional programmer and I know such things are possible.
The shock was because it was just dis guy posting brief instructions
that anyone could follow in 2 minutes -- rather than a Sugar insider,
building a custom RPM or .XO on some big server somewhere in a data
center, and rolling it into a distribution that'd wipe out all your
data when you install it. Sugar is hung up in its own maintenance
More information about the Devel