Walter Bender — Taking Sugar Beyond the XO Laptop 84
waderoush writes "While the One Laptop Per Child Foundation tries to reboot after drastic staff cuts, Sugar, the original open-source graphical interface for OLPC's XO Laptop, is rapidly evolving into a stand-alone learning platform that can run on any PC. Walter Bender, who left OLPC last year to start the non-profit Sugar Labs, has given a detailed interview about 'Sugar on a Stick' — the USB drive that allows any machine to boot into the Sugar environment. Bender also describes the Sugar upgrades coming in March — including better tools for file management, portfolio presentations, and Python code hacking — and talks about his hopes for expanding Sugar Labs and getting Sugar into more classrooms than OLPC can reach through its hardware."
Water Bender? (Score:5, Funny)
Southern or northern water tribe?
Re: (Score:1)
Kiss my shiny metal ass.
Re: (Score:1, Informative)
Bite my shiny metal ass.
There, fixed that for ya.
Re: (Score:1)
I have this theory that if I eat nothing but sugar, I won't get diabetes.
Actually, diabetes is caused by sleeping on your back.
Re: (Score:2)
Re: (Score:2)
WTF is this OT thread about? Not funny, not insightful. Diabetes happens more often if you are fat.
On topic : You're not going to get many institutions, whoever they are, allowing anyone to run any software off of a USB drive. Honestly, it's just not going to happen, and neither should it. Any institution allowing users to run stuff not centrally ok'd is asking for trouble.
Re: (Score:2)
WTF is this OT thread about? Not funny, not insightful. Diabetes happens more often if you are fat.
Correlation is not causation.
The same things that make you fat make you diabetic.
Any institution allowing users to run stuff not centrally ok'd is asking for trouble.
Arguably every institution should just go ahead and burn cycles on encrypting anything sensitive (cpu time is so cheap these days) and just lock things down inside and out to the point where it theoretically doesn't matter if someone plugs something naughty into your network. The simple truth is that it happens very easily, and you might as well assume that it will happen. To be fair, many schools still have tons of older PCs t
Re: (Score:2)
I don't know if brentonboy's post is an allusion to something else, but the post you directly replied to is a (hilarious, IMHO) quote from a recent episode of "30 Rock".
Schoolkey (Score:2, Informative)
I think that schoolkey project also uses a sugar-like interface, and there is always edu-nix.org's education-oriented distro, which many say is better - but it just uses regular old KDE.
Re:Schoolkey (Score:4, Interesting)
I have my own XFCE desktop with educational games, aimed at slightly younger kids (aged 3 and up), that I developed for a charity.
See http://www.quinncoincorporated.org/ [quinncoincorporated.org] for screenshots and a beta download of a CD ISO.
Re: (Score:3, Interesting)
Thanks for that link. I have a 4 year old who does just fine in Windows (I haven't introduced him to Linux - I've got my Linux side set up for work and Windows for play), but I'm reluctant to really let him loose because I don't want him mucking things up (wiping my desktop out, shuffling files around, deleting my porn, etc). For some reason, it had never occurred to me to just give him his own disposable OS to play with that was set up specifically for educational games/tools - And it looks like the desk
Re: (Score:3, Interesting)
Please send us feedback (email is on the website) on Qimo. We're going to be releasing our final 1.0 version very soon with much better artwork. Watch http://www.qimo4kids.com/ [qimo4kids.com] for our future website for the distro.
Re: (Score:2)
You must be some kind of sadist. That is one scary monster, with big bright yellow eyes, and sharp teeth inside its lightning-bolt-shaped mouth. Sure to give any little kids nightmares.
Re: (Score:2)
Heh, funny. That was my non-artistic design, supposed to be a blend of the Ubuntu logo and the letter Q.
We're getting new art, made by a real artist. See http://www.qimo4kids.com/ [qimo4kids.com] for a preview.
Re: (Score:2)
Like "kimo", as in Eskimo.
eh? (Score:3, Funny)
>"...the USB drive that allows any machine to boot into the Sugar environment."
Any machine? Like a bowling ball polisher? Gotta say....wow - just wow!
Re: (Score:2)
Re:eh? (Score:5, Interesting)
My TV has a USB port. (It is there for firmware updates)
Can this boot Sugar on to my TV?
Re: (Score:3, Interesting)
If your TV can boot from the USB port, then it more than likely can.
Re: (Score:2)
Re: (Score:2)
You could always make a boot image that isn't x86.
Re: (Score:2)
"allows any machine to boot into the Sugar environment"
Yes, when I read that, I wondered, "so, what are the system requirements for 'any machine?'"
Will it boot my PPC Mac? My iPod? A 486? My ultrasonic thickness gauge? [olympus-ims.com]
Surely there is some requirement besides "any machine" with a USB port.
Re: (Score:1, Funny)
Like a bowling ball polisher?
Imagine a beowulf cluster of...
aw, forget it.
lemonade (Score:1, Funny)
Does this mean Sugar is making lemonade out of lemons?
Re: (Score:2)
Aww, c'mon. Why was this modded down ? I thought it was quite a witty take on "When life hands you lemons, make lemonade".
And given that sugar is the other ingredient of lemonade, and the Sugar people were handed metaphorical lemons when XP found its way onto the XO, well...
like etch-a-sketch,sugar = a "tool for expression" (Score:2)
If the interface has to be approachable to a toddler, it might disappoint adults...
Remember the target market (Score:5, Insightful)
Re: (Score:2)
I have an old friend who commented that having to use a horizontal scrollbar in an iframe on a web page was "soooo hard". You can't and shouldn't try to please everybody.
scrolling iframes (Score:4, Insightful)
I have an old friend who commented that having to use a horizontal scrollbar in an iframe on a web page was "soooo hard". You can't and shouldn't try to please everybody.
Horizontal scroll is evil, and any kind of scroll on an iframe is doubly evil. So what you've got there is 2*evil^2
Why is this? Well, when you're dealing with a language that's formatted like English - that is, rows of text, horizontal scroll means you have to scroll twice for each line. UI generally isn't very well suited to scrolling in more than one direction, either - except in cases where you can scroll by dragging the content, it usually requires going from one scrollbar to the other to find your info.
Now, combine that with the problems caused by scrolling an iframe - specifically, the scrollbars for the iframe are themselves part of scrolled content - so if you scroll up or left one of your scrollbars may disappear completely - or you may scroll up in the main window to view the top half of your iframe, scroll down to read the bottom half... Click the iframe scrollbar to page down the iframe and then scroll back up on the main window to see the top half of the iframe again...
Saying that this process makes working with such a page "hard" isn't exactly a good, clear expression of what's wrong with it... But there's lots of things wrong with an interface like that. It's just bad design, bad design that goes beyond the realm of ignorance and into incompetence.
Re:like etch-a-sketch,sugar = a "tool for expressi (Score:5, Interesting)
Re: (Score:2, Interesting)
I don't use it because it's bad. I tried, but Sugar is a bad idea dreamed up by theorists attached to their ideas of how children should learn, not on any actual observation or testing.
Re: (Score:2)
What's your suggested better alternative for a just starting to read kid who doesn't get to play with a computer that much? The sugar turtle application has been really good fun. Also some of the educational games. I can believe that there's lots of misguided stuff, but I don't think that there's ever been a complete educational environment, so I don't see how anyone could have done real observation and testing under it. Maybe we have to wait for it to exist first.
Having said that, XO should definitely
Re: (Score:2)
Sugar is a bad idea dreamed up by theorists attached to their ideas of how children should learn, not on any actual observation or testing.
As a concept for a user interface, I like Sugar very much. Read through the HIG documents [laptop.org] and you'll see a lot of innovative ideas; if only desktop OSes would do collaboration or file organization or activity scope this way!
As a completed product, Sugar falls short of the mark. It's slow, it's gray, it's bland. It's slow; I wrote it twice because I had the time to do
Re: (Score:2)
Re:like etch-a-sketch,sugar = a "tool for expressi (Score:4, Interesting)
But, meh. Easier to blame the users, yes?
Re: (Score:2)
Re: (Score:3, Insightful)
Worse than that: It'll be a GUI for a toddler that has to be administered by someone with Sysadmin skills, due to lack of poor vertical integration with the rest of the OS.
We don't need yet another GUI -- We need a reference platform, from the kernel up through the GUI control panel. We need a holistic starting point that tech support departments, end-users and app developers alike can confidently work with (and build deltas from when required).
This segregation between OS layers isn't working.
Re: (Score:2)
Apple has 10% of the personal computing market now.
I would look to them for an example to emulate... not to Microsoft.
Unix already has a relative object reference system. The system is relative to root and user data relative to home. This hasn't changed in OS X, except there is one more wrinkle where certain packages/appdirs are registered globally with the filesystem.
As for finding system services, not a big issue on a rich and properly-defined platform. The app developer knows what "always" is or isn't in
I'd have called it (Score:5, Funny)
... "A Young Lady's Illustrated Primer" and infused it with nanotech, but that's just me.
Re: (Score:2, Informative)
Wooosh [wikipedia.org]
Re: (Score:2)
... "A Young Lady's Illustrated Primer" and infused it with nanotech, but that's just me.
Can you make me a vacuum supported airship out of diamond while you are at it?
Just thinking about the opening scenes over the south china sea, that book would make a great movie.
XO Security Model (Score:5, Interesting)
What I found most interesting about the OLPC wasn't Sugar, the networking, or even the hardware. It's the Bitfrost security system, which is a different take on implementing security. [wikipedia.org]
To my mind, it presents a radical way of approaching security, and seems entirely different from that taken by Microsoft. That is, instead of locking out applications based on whether they have proper credentials, it locks applications out based on bad behaviors.
I'd like to see this approach taken and explored more fully. Linux and other Open Source OSs will be facing more exploits and attacks, and a security model based on how trustworthy an application behaves instead of the credentials it carries seems a much saner approach.
Re: (Score:2)
"Imagine a computer so "smart" it can detect unauthorized intruders attempting to access confidential files. Imagine a computer that understands the harmfulness of viruses and protects against potential dangers transparently. Imagine a computer that can imagine!"
Re: (Score:3, Funny)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
After reading the article(*gasp*) (Score:2)
I can only say one thing:
"Give me some sugar, baby"
Sugar on a Stick? (Score:4, Funny)
And here I thought "Mandriva" was the worst name in OSS.
Re:Sugar on a Stick? (Score:4, Funny)
Re: (Score:3, Funny)
oh wait....
Re: (Score:2)
SOS has already been used. http://en.wikipedia.org/wiki/Apple_SOS [wikipedia.org]
Re: (Score:3, Funny)
"Sugar on a Stick" would be a great name for a 70's blackploitation film.
View Source (Score:5, Insightful)
I read the article, and one of Walter Bender's comments jumped out at me:
This is the best thing about Sugar for the long run. In the old days of Apple ][ or Commodore 64 computers, lots of software was written in BASIC; and it wasn't too hard to interrupt the program, look around inside it, and even tweak it a bit. The hardest part was the sucky BASIC language. Now Sugar is being explicitly designed to not only make this kind of tweaking possible, but encourage it and make it as easy as possible. And Python is the best language they could have possibly chosen for encouraging school kids to try to tweak things.
If you read the article, you can read about how they have extended the "Turtle Art" program to allow programming the turtle movement in Python. So someone can learn trivial programming by chaining control blocks together, and then learn somewhat more advanced programming to script a special block in Python, and then perhaps move from there to tweaking the behavior of other parts of the system.
P.S. The OLPC project proper seems to be walking away from this sort of constructionist learning; putting Windows on a laptop is the total opposite of the above approach. I really wonder what Negroponte is thinking.
steveha
Re:View Source (Score:5, Insightful)
You'd think so wouldn't you. Actually it doesn't work like that.
The first problem with their approach is that they actually implemented the whole OS shell in Python. Now I dunno about the Commodore 64, but I remember the BBC Basic and I can assure you, the OS and most apps were not written in BASIC. They were written in assembler because that was the only way to make non-sucky software. Fast-forward to 2009 and it's the same thing - Python is an awful language to make performant, robust software in. And an operating system shell needs to be both fast and solid. Sugar is neither.
But maybe (maybe) if it was actually feasible for a child to press a key and get exploring, that'd be a price worth paying for the rest. Except it's not. Have you actually read the Sugar code? It's awful. I did a spot-check on this whole claim when Sugar first came out and found it bogus.
I took the Block Party game (seeing as games are what kids like) and looked at the code. The first problem is the code is completely uncommented. Seriously. The only comments are the license boilerplate at the top. The second problem is the code isn't simple like BASIC used to be. It's object-oriented event-handling GUI code that uses containment based layout, multiple libraries, sound servers, uses magic numbers etc. It'd be hard to figure out for an adult, let alone somebody new to programming. There's no 10 PRINT HELLO WORLD 20 GOTO 10 there.
So they managed to make a flaky, incredibly resource intensive environment on the grounds that "it's python and kids will love learning programming by reading python" except the code is crap and impenetrable. Fail.
Re:View Source (Score:5, Interesting)
And an operating system shell needs to be both fast and solid. Sugar is neither.
Sugar, if I recall, is basically an application launcher running the Matchbox window manager, with a consistent look and feel between applications. In that respect, Sugar is not an OS Shell at all.
The second problem is the code isn't simple like BASIC used to be. It's object-oriented event-handling GUI code that uses containment based layout, multiple libraries, sound servers, uses magic numbers etc. It'd be hard to figure out for an adult, let alone somebody new to programming.
While you are largely correct, I think you missed the point. The kids that would be using sugar aren't going to read the python code and try to determine what the program is doing. Rather, they will look for something that looks vaguely similar to what they want to change, change something about it, and see what happens. Repeat enough times, and they're starting to get an understanding of Python and programming. I don't know about you, but when I saw my first program code, I didn't read it top to bottom for an understanding, I skimmed it for words that I was interested in, and started changing stuff.
Re:View Source (Score:5, Insightful)
Yeah, IME, when a tinkerer kid gets ahold of source to their favorite toy, the first task is usually just to start changing text strings, so that in the game where you normally visit the "Medicine Shop," in the new customised modded version the player character is now able to visit the "Poop Shop." It's not proper programming in any real sense, but it gives the kid a chance to start interacting with the system, and feel that he has power over it. Some sort of weird manifestation about the magic schtick where if you know the true name of something you can have power over it. Once you know the true name of the variable that holds the name you are interested in, you can make it anything. "Crap Shop" "Stupid Shop" even "Dookie Head Fart Sho" when you suddenly discover that the game has a limit on the length of the name and won't shop you the last p. Then, you start looking at the code around the "discovery" of teh particular variable and you find some reference to a font and a font size, and you make the text smaller, etc. Suddenly you've had to learn more syntax for the sake of exploring your childish vulgarity.
IMO, it's important not to underestimate that sort of childish hobby tinkering, even when the available code isn't good for or meant for teaching. The point is learning, not teaching.
Re: (Score:2)
Although it will not surprise anyone that teenage boys are horndogs, it will probably still mark me as an alpha dork if I admit that I first used Resedit to hack a Nagel pic into the ZTerm download window so that I would have something nicer to look at that Downloading... when I was getting more soft-core porn.
Re: (Score:2)
Python is an awful language to make performant, robust software in.
And what language isn't? Achieving these goals requires work, work, and work. And an unrelenting drive towards simplicity, which does speak for python as the application development language.
I'd wager that the highest mass of crappy software in active use today is still written in C.
Re: (Score:2)
ADA?
Re: (Score:2)
Isn't that just because most [citation needed] software is written in C?
Or do you mean that software written in C has a lower relative proportion of non-crappy software than software written in other languages?
Re: (Score:1, Informative)
What he meant was quite clear. He meant that writing in Python doesn't automatically mean slow software, and writing in C doesn't automatically mean fast software.
As he said:
[making performant, robust software] requires work, work, and work.
He was responding to a post that claimed Python is a poor language for making performant, robust software. To which I can only say: pfui. Python is incredibly robust, and good Python programs are too. As for performance, they might be slow, and they might not; it dep
Re: (Score:2)
This is the best thing about Sugar for the long run.
Absolutely agree, however at the moment Sugar is still quite a bit away from that goal. One big issue I have with Sugar is that it basically implements another OS on top of Linux, which means you don't move a step closer to the 'real thing', but pretty much get another layer of abstraction in between you an the code. This becomes especially an issue since Sugar doesn't have support for classical files or directory hierarchies, which in turn means that you can neither develop nor inspect Sugar apps with norm
Re: (Score:2)
When I opened my G1G1 XO last year, I was very excited. Practically the first thing I did was press the "View Source" button. Nothing happened.
A few months ago I did the big upgrade and tried again. Still nothing.
I don't know what people are talking about. I can view the HTML source of a Web page, but view the source code for the OS itself or any of the major applications? Nope.
It's one of the big unkept promises.
Sugar is why OLPC is dumping Linux (Score:3, Insightful)
Sugar just couldn't deliver. Anybody with a clue about software development could have predicted it.
Just look at the mess:
We write an ENTIRELY NEW and FULLY INCOMPATIBLE toy interface in a REALLY SLOW language that is only mildly popular with free software programmers. Meanwhile, we discourage free software developers by helping Microsoft and by using proprietary wireless/EC/keyboard firmware.
Prior to about 1 year ago, incompatibility was even somewhat considered a virtue!
Now the OLPC leadership wants to go with XP. Is there any surprise? In their eyes Linux has been confused with the mess that is Sugar. Sugar-free Linux doesn't get considered.
We could have tweaked a regular Linux desktop for the XO. With far less effort, we'd have far better results. But no, we implement a joke designed by people who've obviously never read The Mythical Man Month and obviously never worked on resource-constrained hardware before.
Re: (Score:3, Interesting)
Sugar just couldn't deliver. Anybody with a clue about software development could have predicted it.
Just look at the mess:
We write an ENTIRELY NEW and FULLY INCOMPATIBLE toy interface in a REALLY SLOW language that is only mildly popular with free software programmers.
Python is "only mildly popular" with free software programmers? That's news to me...
I agree with what you say about using fundamentally inefficient programming tools on resource-limited hardware. Low-power hardware can do quite a lot if you really code with your target platform in mind. But another thing to consider is that they only have limited resources to develop this thing - if writing in Python can reduce the time it takes to write all this stuff then I think it's still the right choice.
A key quest
Sugar is a Squeak derivative (Score:1)
Or, it is as far as I know.
Check out www.squeak.org
It's an Apple and Disney Smalltalk environment that's a lot of fun, and just won't die.
Re: (Score:1, Informative)
Sugar isn't derived from Squeak, although it certainly aspires to some Squeak-like qualities. You may be confusing Sugar with Etoys, a Squeak-based activity/platform that the OLPC ships on all its computers, which runs on top of Sugar. (If Sugar were Squeak-derived, Etoys wouldn't be necessary.)