Slashdot Mirror


Walter Bender — Taking Sugar Beyond the XO Laptop

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."

10 of 84 comments (clear)

  1. Water Bender? by Anonymous Coward · · Score: 5, Funny

    Southern or northern water tribe?

  2. I'd have called it by BigHungryJoe · · Score: 5, Funny

    ... "A Young Lady's Illustrated Primer" and infused it with nanotech, but that's just me.

  3. XO Security Model by Anonymous Coward · · 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.

    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.

  4. Remember the target market by xzvf · · Score: 5, Insightful

    Before everyone that has an XO goes crazy and start dumping on Sugar, please remember the target market. Put it in front of an elementary age student and see how easily they take to it. Of course, I've noticed that they take to even inefficient desktops pretty quickly also. It is old people (like teenagers) that can't handle having an icon moved.

  5. Re:like etch-a-sketch,sugar = a "tool for expressi by ElSupreme · · Score: 5, Interesting

    A lot of people bash the environment as being bad. But I doubt they use it. It is a bit different that a PC/MAC but really other than file storage (which you can do via the terminal the old fashioned way) it is really a good interface. I actually have one, and would use it more if I actually bought a USB keyboard. That keypad is not much better than a cell phone qwerty pad (other than the spill resistance and cool green color).

    --
    My addiction: Arguing with idiots. AKA Slashdot!
  6. Re:eh? by corsec67 · · Score: 5, Interesting

    My TV has a USB port. (It is there for firmware updates)

    Can this boot Sugar on to my TV?

    --
    If I have nothing to hide, don't search me
  7. View Source by steveha · · Score: 5, Insightful

    I read the article, and one of Walter Bender's comments jumped out at me:

    I've said this over and over again since the early 1990s, but the reason why the Web took off as a protocol is that the Mosaic browser had a View Source menu item, which meant that anybody using the Web could also create things for the Web. The idea with Sugar is that anyone using Sugar should also be able to create things with Sugar.

    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

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
    1. Re:View Source by IamTheRealMike · · Score: 4, 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.

    2. Re:View Source by mhall119 · · 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.

      --
      http://www.mhall119.com
    3. Re:View Source by forkazoo · · Score: 4, Insightful

      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.

      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.