What to do about education?

The OLPC seems to have run off a cliff.  Sugar labs seems intent on continuing their OS UI experiments, which might bear fruit in a few years, but which for now make development for the platform untenable.  Sad to see all that wasted potential that seemed to just lack someone practical saying "hey, you need to make this platform use standard mechanisms" a few years ago, or rather, someone listening to same.

So the question keeps popping out, how do I make a difference in the post OLPC world, where there are dozens or hundreds of different machines that might be used, some which will be "creative", others which will be limited to just reading... but then the OLPC is a book reader... so if we could get them access to the knowledge... well, that's a big chunk of it...

Seems that some sort of CMS system that allowed the students and teachers to run their schools, to promote, evaluate, collect, collate and create content.  We described the basic mechanisms required during the OLPC project, translated to standard mechanisms instead of the OLPC-specific stuff they'd be at the cutting edge of school software.  The mechanisms I was thinking we'd use are all proven technologies, and would run on any Linux machine...

There was huge bodies of material that people were willing to donate to the OLPC, sure there would need to by teachers and pedagogues, but that's what a CMS-like system lets you do easily, rate, tag, categorize and find.  Why shouldn't every child have access to records of hundreds of different rated lessons on every topic they need to learn?  Why shouldn't teachers be able to use the same resources to improve their teaching?  Why shouldn't there be free textbooks for every grade-school subject with freely-mixed content for every topic in the curriculum?  It's not like this information is particularly new.

So it'd be some sort of CMS that would be accessible from cell phones, e-paper readers, laptops, computer labs, etceteras.  You'd be able to subscribe to your teacher's feed and take the bundle with you offline/home.  You'd be able to upload content/work from devices that supported it.  You'd be able to do basic tests/surveys.  You'd be able to browse other lessons/supporting material in the topic when you have a connection.  You'd be able to "collect" material for reference in your work.

It's not the kind of problem I like to program on, but maybe I need to find someone who does enjoy that kind of thing and convince them to work on it.


  1. Paul Hummer

    Paul Hummer on 03/09/2009 3:16 a.m. #

    I was kinda hoping to have some good conversations at this year's Pycon (Open Space maybe) to talk about the OLPC specifically, and python in education generally. I also feel like the shiny new XOs have been left on shelves (mine has), and a lot of people have been disenchanted with the OLPC decision to go to Windows.

    I'd like to see Sugar really do well, but at this point, it doesn't look too promising.

  2. Wade Brainerd

    Wade Brainerd on 03/09/2009 12:48 p.m. #

    What about Moodle? Moodle has been Sugar's semi-official CMS for a long time now. Recent versions of Browse can even auto-authenticate with the server.

    OLE Nepal (Nepal's distribution) just launched pustakalaya.org based on Moodle, which seems to be exactly what you're talking about.

    Also, Sugar is hardly dead. Since OLPC spun off development I have personally never seen progress happen so quickly. I'm currently finishing up Nepali keyboard features for Typing Turtle (http://activities.sugarlabs.org/en-US/sugar/addon/4026) right now and can't wait to see pictures of children using it.

    On the other hand, what's up with olpcgames? It hasn't been updated in years and as a result, PyGame development for Sugar is basically a non option. Deployments are always asking for new games. Why not pick that back up and start contributing again?

    Wade Brainerd
    SugarLabs ActivityTeam coordinator

  3. Michael Stone

    Michael Stone on 03/09/2009 1:34 p.m. #

    @Paul: Though no longer an OLPC person, I'd be happy to chat with you (and any other interested folks) at PyCon.

    @Mike: I'd enjoy hearing about it if you discover any learning-related products that are better organized than SL. They, along with Moodle, both seem like decent paths for "simple hacking -> kids".

  4. Mike Fletcher

    Mike Fletcher on 03/09/2009 8:07 p.m. #

    OLPCGames hasn't been updated for the same reason it was such a PITA to work on it before; namely the development environment (Sugar JHBuild) refuses to build every time Myles or I sit down to work on it (or Productive). Ironically, that's also one of the major reasons it was valuable when I had the time and energy to maintain it, namely it let one person (me) deal with the constantly changing crap and let other people use a reasonably stable API.

    I never claimed Sugar was dead, but it's not finished as a platform, and there are so many poor decisions encoded into its core that I'm rather pessimistic that it will get to being a workable general platform soon.

    Basically, you *should* be able to run any Pygame, Gtk, Qt, or whatever software on an XO, just like in any other desktop environment. It should look like any other application, work like any other application, and integrate into the various value-added mechanisms (Journal and submit/subscribe mechanisms) automatically.

    Services such as presence and the like should be provided as simple libraries.

    Containment and packaging, tracking of generated files (Journal) and the like should be transparent to Linux-standard applications.

    Feel free to run in a security container, but run the same software as everyone else.

    In brief, programming for the XO should read "Here's our support libraries, here's our philosophy, here's the details of our security infrastructure, #include <linux-programming-101>".

    I had long arguments with OLPC folk about that, and I fully recognize that the core Sugar folk see the machine as a limited-function device that only needs a few applications each designed explicitly and solely for the XO.

    I get that, I understand the power of custom-written constructivist applications. I want those, but I also feel that the platform tried to dictate way too much... and often dictated it in a way that just made it ridiculously hard for devs to work with it.

    At the moment, other projects using Ubuntu, LTSP or what have you seem unlikely to choose Sugar as their platform.

    Asus, Intel and the rest have shown that choosing a simplified traditional Linux desktop works reasonably well and can be deployed with a tiny fraction of the work poured into Sugar. By choosing a traditional Linux window manager/desktop instead of Sugar they get access to the whole suite of Linux software with no repackaging or "porting" work and have none of the warped API issues (e.g. no usage of files)

    For Sugar to survive, it will have to morph into something close to what it should have been in the first place, a desktop + window manager similar to XFCE or KDE or Gnome (though lighter weight) that runs standard X applications, possible with a bit of extra metadata included in the RPM/Deb/whatever to support extended functionality such as security containers or collaboration services.

    That may be happening in Sugar. Though discussions at PyCon last year seemed to suggest that the core devs of Sugar saw it as a bitter pill, rather than a correct solution. Given that you're asking about OLPCGames it seems pretty likely the situation hasn't really changed noticeably.

    OLPCGames should have just been Pygame, with the presence libraries as some import I could use to provide networking support. Storing data should be open( filename,'w') and write.

    Instead of having to warp the Pygame window to run inside GTK we should have just ran an X window. The silly dbus-requires-GTK mainloop should have been solved by providing a non-GTK dbus select/poll system, not by mashing Pygame into GTK.

    I know that people in the core saw the platform more as an appliance than a computer, it's not that I don't understand it, it's that I think that was the incorrect strategy as it required that developers totally "buy in" to the platform (and the buy-in was ridiculously pricey).

    I can't see Sugar reaching critical mass until things such as OLPCGames can go away, so I don't really see fighting with Sugar to get OLPCGames working as a useful way to spend my time.

    General linux support for education, on the other hand, seems like a worthwhile task. Tools and programs to help teachers and students would be valuable. Mechanisms to master, remix and discover content are going to be valuable on any desktop.

    As for Moodle, I haven't looked at it lately to see if its grown the type of collaborative behaviour we were looking to support. The system I was looking at (granted, via an intermediary) was the Blackboard-based system at UofT, which allows for very elegant interaction models. Maybe the work is already done in Moodle, however.

  5. Wade Brainerd

    Wade Brainerd on 03/09/2009 10:45 p.m. #

    Sorry to hear you had trouble working with JHBuild. I used to try to use it when I was first starting Sugar development, but eventually switched to a combination of emulators and edit-over-SSH with a real XO.

    That said, chances are these days you can simply execute:

    yum install sugar*

    (or equivalent)...and have a Sugar environment. Or try the Sugar on a Stick livecd on a spare machine or under an emulator, which includes 20 or so working activities.

    See http://sugarlabs.org/go/Downloads for more details on installing Sugar separately from the XO.

    Anyway, I agree with you about Sugar's need to run normal Linux desktop software. Most of the community has been bugging the developers about that ever since the OLPC split. And contrary to your impressions, the developers agree too, it's just a matter of implementation time. I have high hopes for this finally getting resolved by the 0.86 release since it's become one of the top priorities.

    That's not the reason I'm asking about olpcgames though. Which should really be called 'sugargame' and have all the collaboration stuff removed (as you say, you can just use the sugar frameworks).

    There is actually a great reason to embed Pygame into GTK. We need to be able to mix GTK widgets with Pygame graphics in a single activity. I personally went through the painful process of porting from olpcgames to pure GTK when I discovered there was no feasible way to add a level editor to Bounce (then 3dpong) while still using Pygame.

    If you think about most Pygame games, you think of a hacked together English-only frontend with no concept of resolution independence or localization. GTK is much better at creating user interfaces, while Pygame is fantastic at animation. The ability to mix these two in one activity would do a lot to help get game development moving forward.

    Without sugargame, we have people going straight to Cairo (terrible performance vs Pygame) or writing custom C modules which interact with GdkImage (Colors!, Bounce) but hurt portability and require immense effort to develop for each activity.

    Or else, they just write straight to Pygame and live with the lack of an activity toolbar or a decent UI (Ceibal Chess).


  6. Bryan Berry

    Bryan Berry on 03/10/2009 10:44 a.m. #

    Wade, tks for the compliments on pustakalaya. It is has no connection to moodle at all. It uses the
    Fedora-Commons repository engine, which basically indexes and searches for discrete resources. Moodle is a good course management system but not ideal for searching through a big repository and serving up large individual files (5+ MB).

    We would like to use Moodle in the future but moodle essentially requires that you have a lot of resources in the first place. You need educational resources before you can assemble them into courses. We have spent and spend a lot of time either creating Nepali resources or getting existing ones. Integrating them into moodle will be the next step.


  7. Wade Brainerd

    Wade Brainerd on 03/10/2009 11:20 a.m. #

    Hi Bryan, sorry about the Moodle misinformation! :) Cheers,

  8. Mike Fletcher

    Mike Fletcher on 03/10/2009 11:15 p.m. #

    That collection, collation and promotion process was a big part of the requirements. We were at one point looking at having (all) individual teachers record their classes, then allowing any child (or teacher) in the country watch and rate the lessons. Same with lesson plans, curriculum fragments, external resources and the like.

    Automatic capture of works (incl. audio/video of lessons).

    Semi-automatic tagging of works (this is Grade 1, Science, Reptiles Unit). The UofT system also tags audio/video with a timeline that's indexed to powerpoint slides so you can more easily scan to the appropriate section of a lecture.

    Free-form tagging.

    RSS feeds of content from a given person (your teacher, or a teacher you find useful, or even another student who does a good job of breaking down the ideas as they work).

    Ability to easily include resources, fragments and the like from other users into your stream (reply-to pulls in the stream by reference, ability to click-and-edit with attribution maintained and original still available (copy-and-edit)). The UofT system has "forums" for each course, interest group, department, etc, with the individual user's comments/contributions in all of those as a personal blog with contextual links (access rights controlling which entries you can see).

    Ability to view all, and just, the contributions of a single user (e.g. for reviewing progress).

    Private comments, including special private 'grading' comments on assigned materials.

    There were quite a few other features we figured would be useful in allowing people to build up a curriculum and texts quickly.

    We also were looking at donations of primary materials from universities and the like. For instance, UofT's schools of medicine and dentistry at one point offered access to their entire "public health" archive. To make it useful we'd need to engage the schools of library science (or someone similar) to go through the collections and pull out age-appropriate materials and push them into the system with appropriate tagging. The system then needs to be able to provide access to those (large) collections of images so that users (teachers, even students) can include them in their lesson plans, likely with translations and the like.

    There'd eventually need to be a workflow engine to handle e.g. nominating something for translation, nominating something for inclusion in the official curricula, official supplemental materials, etceteras.

Comments are closed.


Pingbacks are closed.