I worked on making the Read activity usable in book mode (keyboard folded away, but gamepad buttons usable), and I vaguely recall putting in an ioctl to put the CPU to sleep after you turned a page, but I'm not sure if my changes made it in.

http://lists.sugarlabs.org/archive/sugar-devel/2007-May/0024...

http://lists.sugarlabs.org/archive/sugar-devel/2007-May/0025...

One of the positive outcomes of the OLPC project was the "stone soup" effect, in that it inspired many different people and companies to contribute useful ingredients, which could be folded back (or spun out) into other independent projects.

https://en.wikipedia.org/wiki/Stone_Soup

For example, the "tickless kernel" power saving stuff in the Linux kernel that consolidates bunches of non-exact timer wake-ups to all happen at the same time came out of RedHat's work on the OLPC project.

https://access.redhat.com/documentation/en-us/red_hat_enterp...

EA released the original SimCity source code for the OLPC, under GPLv3, so it could be ported to other platforms and further developed (under a different name, Micropolis).

https://arstechnica.com/information-technology/2007/11/origi...

Sugar had a long way to go, and wasn't very well documented. They were trying to do too much from scratch, and choose a technically good but not winning platform. It was trying to be far too revolutionary, but at the same time building on top of layers and layers of legacy stack (X11, GTK, GTK Objects, PyGTK bindings, Python, etc).

Sugar was written in Python and built on top of PyGTK, which necessitated buying into a lot of "stuff". On top of that, it used other Python modules and GTK bindings like Cairo for imaging, Pango for text, etc. All great industrial strength stuff. But then it had its own higher level Hippo canvas and user interface stuff on top of that, which never really went anywhere (for good reason: it was complex because it was written for PyGTK in a misshapen mish-mash of Python and C with the GTK object system, instead of pure simple Python code -- hardly what Alan Kay thinks of as "object oriented programming"). And for browser based stuff there were the Python bindings to xulrunner, which just made you yearn for pure JavaScript without all the layers of adaptive middle-ware between incompatible object systems.

The problem is that Sugar missed the JavaScript/Web Browser boat (by arriving a bit too early, or actually just not having enough situational awareness). Sugar should have been written in JavaScript and run in any browser (or in an Electron-like shell such as xulrunner). Then it would be like a Chromebook, and it would benefit from the enormous amount of energy being put into the JavaScript/HTML platform. Python and GTK just hasn't had that much lovin'.

When I ported the multi player TCL/Tk/X11 version of SimCity to the OLPC, I ripped out the multi player support because it was too low level and required granting full permission to your X server to other players. I intended to eventually reimplement it on top of the Sugar grid networking and multi user activity stuff, but that never materialized, and it would have been a completely different architecture than one X11 client connecting to multiple X11 servers.

Then I made a simple shell script based wrapper around the TCL/Tk application, to start and stop it from the Sugar menus. It wasn't any more integrated with Sugar than that. Of course the long term plan was to rewrite it from the ground up so it was scriptable in Python, and took advantage of all the fancy Sugar stuff.

But since the Sugar stuff wasn't ready yet, I spent my time ripping out TCL/Tk, translating the C code to C++, wrapping it with SWIG and plugging it into Python, then implementing a pure PyGTK/Cairo user interface, without any Sugar stuff, which would at least be a small step in the direction of supporting Sugar, and big step in the direction of supporting any other platform (like the web).

Open Source Micropolis, based on the original SimCity Classic from Maxis, by Will Wright -- PyGTK interface:
https://github.com/SimHacker/micropolis/tree/master/Micropol...

Pie Menus on Python/GTK/Cairo for OLPC Sugar, by Don Hopkins.
http://www.donhopkins.com/drupal/node/128

None of that work would have been possible without the OLPC project, which inspired EA to give SimCity away for free in a way that made it possible to port it to other platforms.

So I believe some good did come out of the OLPC project, including some interesting discussions about constructionist education, visual programming and teaching kids to program, with Alan Kay, Guido van Rossum and others!

HAR 2009 Lightning Talk Transcript: Constructionist Educational Open Source SimCity, by Don Hopkins.
http://micropolisonline.com/static/documentation/HAR2009Tran...

SimCity for OLPC (One Laptop Per Child): Applying Papert's Ideas About Constructionist Education and Teaching Kids to Program:
http://www.donhopkins.com/drupal/node/129

Alan Kay on Programming Languages:
http://www.donhopkins.com/drupal/node/132

Alan Kay's ideas about SimCity for OLPC:
http://www.donhopkins.com/drupal/node/134

Responding to Alan Kay's criticisms of SimCity:
http://www.donhopkins.com/drupal/node/135

OLPC Visual Programming Language Discussion with Guido van Rossum and Alan Kay:
http://www.donhopkins.com/drupal/node/137

Discussion with Alan Kay about Robot Odyssey:
http://www.donhopkins.com/drupal/node/139

Ideas about OLPC SimCity GUI, Turtle Graphics, and Cellular Automata:
http://www.donhopkins.com/drupal/node/141

Redesigning the SimCity User Interface for the OLPC:
http://www.donhopkins.com/drupal/node/142

OLPC Visual Programming Languages for Education:
http://www.donhopkins.com/drupal/node/143

SimCity Rules:
http://www.donhopkins.com/drupal/node/145

A related question: in your opinion, what were the successes and failures of the OLPC project, what openings and obstacles contributed to that, and where do we go from here?
https://news.ycombinator.com/item?id=11942313

>Even if we didn't achieve those goals for Sugar, we made progress in the right direction that have their own benefits independent of Sugar.

>Choose your lofty goals so that when projected onto what's actually possible, you still make progress!