6 ms·
> The hardware was not designed in conjunction with the software You're definitely right on that. The hardware took long enough to design, but the software was
by avhon1 9y ago
> The hardware was not designed in conjunction with the software
You're definitely right on that. The hardware took long enough to design, but the software wasn't even done when they started shipping.
> the resistive tablet
For people not familiar with the XO-1, it originally included a weird touchpad. The center third was capacitive, and would work with fingers. The Entire pad was resistive, and would work with a stylus (which was never shipped).
The dual resistive/capacitive was unreliable [0], and was eventually replaced [1] with just a capacitive touchpad with the same area as the original touchpad.
> the low-power-mode
This was a real shame to leave out. The OLPC XO-1 includes a specialized display controller [2] which can drive the display even while the CPU is suspended. THe idea is that the CPU would render one ebook page at a time and sleep between page turns. Unfortunately, the software for this was never implemented. All the rest of the hardware is there; it would have been really cool to have a near-zero-power ebook mode!
> several of the hardware buttons (including most of the ones next to the screen, which were mapped confusingly to arrow keys)
I'm not quite sure what you mean here. All of the keys on the keyboard are mapped [3]. The only ones I can think of which aren't used for much are the progressive dots (F5-F8), which are intended for application-specific use [4].
The buttons around the screen are mapped to the arrow keys (on the left side) and Home, End, PgUp, and PgDown (on the right side). I really like this, because when you fold the screen around into tablet mode, you can easily navigate a document. Reading a PDF or tall web page this way is a pleasant experience.
> the web browser and text editor were [...] standard Linux applications (Firefox and Libreoffice) [...] wrapped in their interface
You're right. The web browser is Firefox with a bunch of XUL stuff, and the document/text editor is AbiWord.
> The Sugar interface, as designed, had some very strange semantics
The idea behind an OS that journals everything you do with it [5] is great. All the power of a VCS, applied to everything you do on a computer. Unfortunately, the implementation in the OLPC is crude and severely hardware-restricted.
> development priority was to build a reverse-engineering suite
This is actually kind of funny, but the only mention I could find is in [6], which is a collective braindump page for software that would be cool to have on the OLPC. Do you have links to any discussion on this?
[0] https://wiki.sugarlabs.org/go/0.90/Notes#OLPC_XO-1_touchpad_mode_selector https://wiki.sugarlabs.org/go/0.90/Notes#OLPC_XO-1_touchpad_...
[1] https://web.archive.org/web/20160825191424/http://lists.laptop.org/pipermail/devel/2008-December/022133.html https://web.archive.org/web/20160825191424/http://lists.lapt...
[2] http://wiki.laptop.org/go/DCON http://wiki.laptop.org/go/DCON
[3] http://wiki.laptop.org/go/Keyboard http://wiki.laptop.org/go/Keyboard
[4] https://wiki.sugarlabs.org/go/Human_Interface_Guidelines/The_Sugar_Interface/Input_Systems#Softkey_Sliders https://wiki.sugarlabs.org/go/Human_Interface_Guidelines/The...
[5] http://www.loper-os.org/?p=249 http://www.loper-os.org/?p=249
[6] http://wiki.laptop.org/go/Software_ideas#Technology http://wiki.laptop.org/go/Software_ideas#Technology
- duskwuff 9y ago> I'm not quite sure what you mean here. All of the keys on the keyboard are mapped. Well, for some values of "mapped". There are a few buttons on the keyboard that have a defined meaning, but no corresponding software functionality, like the "Bulletin Board" key, as well as the progressive dots that you mentioned. I think the OLPC software we were using might have been an early version, and hadn't yet started using some of the keys next to the display. > The idea behind an OS that journals everything you do with it is great. Sure. But using that as the primary system for data storage was questionable. When I used it, at least, there was very little support for naming and organizing saved activities, or for managing storage. This seems like it'd be a pretty serious obstacle to any sort of serious educational use. > Do you have links to any discussion on this? Not offhand. This was ~10 years ago! I think it was on the OLPC wiki somewhere, but it might have been deleted. Or my memory might be faulty. :) What's probably true in general, though, was that the OLPC/Sugar development team prioritized the development of activities that they thought would be cool or useful, rather than projects which were actually in demand by educators in the target countries.
- DonHopkins 9y agoI 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/002479.html http://lists.sugarlabs.org/archive/sugar-devel/2007-May/0024... http://lists.sugarlabs.org/archive/sugar-devel/2007-May/002523.html 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 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_enterprise_linux/6/html/power_management_guide/tickless-kernel 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/original-sim-city-donated-to-one-laptop-per-child-project/ 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/MicropolisCore/src/pyMicropolis/micropolisEngine 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 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/HAR2009Transcript.html 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 http://www.donhopkins.com/drupal/node/129 Alan Kay on Programming Languages: http://www.donhopkins.com/drupal/node/132 http://www.donhopkins.com/drupal/node/132 Alan Kay's ideas about SimCity for OLPC: http://www.donhopkins.com/drupal/node/134 http://www.donhopkins.com/drupal/node/134 Responding to Alan Kay's criticisms of SimCity: http://www.donhopkins.com/drupal/node/135 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 http://www.donhopkins.com/drupal/node/137 Discussion with Alan Kay about Robot Odyssey: http://www.donhopkins.com/drupal/node/139 http://www.donhopkins.com/drupal/node/139 Ideas about OLPC SimCity GUI, Turtle Graphics, and Cellular Automata: http://www.donhopkins.com/drupal/node/141 http://www.donhopkins.com/drupal/node/141 Redesigning the SimCity User Interface for the OLPC: http://www.donhopkins.com/drupal/node/142 http://www.donhopkins.com/drupal/node/142 OLPC Visual Programming Languages for Education: http://www.donhopkins.com/drupal/node/143 http://www.donhopkins.com/drupal/node/143 SimCity Rules: http://www.donhopkins.com/drupal/node/145 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 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!