One Laptop Per Child XO + Plazes

Back in November I made a donation to the Give One Get One project of the One Laptop Per Child initiative: as a result, one laptop goes to a “child in a developing nation” and one laptop came to Charlottetown. It arrived a few weeks ago while I was in Berlin.

Oliver and I have been experimenting with it ever since (we took it “on the road” to Casa Mia this morning for the first time). After the quick and flashy world of Barbie, Dora, Elmo and friends on the Mac, the so-called “XO laptop” seems somewhat bizarre to a wide-eyed child: it’s got a very simple user interface, is focused on producing rather than consuming, and it’s a somewhat sluggish compared to modern rocket-fueled (and expensive) computers.

Which is not to say it’s without its virtues: it’s rugged, has a kid-sized keyboard, is easy to figure out how to use, and is surprisingly well-equipped (it has a built-in still and video camera, for example). And of course “under the hood” it’s built entirely on open-source software, which makes it ideal for taking a DIY approach to technology. Which is a pretty good approach to enable kids around the world to take: I’d far rather support efforts to get kids hacking the Linux kernel than efforts to enable them to become a better Disney customer.

Being of the inclination that I am, my own first XO project was to write a Plazer. Fortunately this was a relatively easy thing: combine the new Plazes API with the helpful work of the maemoplazer team (a tool written in Python, the “native language,” so to speak, of the XO) and some good documentation for setting up emulation on my Mac and with two or three hours work I had the basics hacked together:

Plazer on the OLPC XO Laptop Plazer on the OLPC XO Laptop Plazer on the OLPC XO Laptop

I’ve still got a lot to learn about PyGTK, so the UI is the very most basic. But the OLPC Plazer grabs the MAC address of the laptop to pre-populate the “Where?” field, accepts a “What?” status message and creates an activity on

The source code for the OLPC Plazer is rough around the edges and undocumented, but I think it’s worthwhile to get it out there for others as an example. Credit needs to go to the maemoplazer team which provided the most valuable bits of the Python. If you’re new to developing for the XO and its “Sugar,” you will find the Hello World tutorial useful — it was my starting place.


Peter Rukavina's picture
Peter Rukavina on January 28, 2008 - 15:43 Permalink

Reviewing the code this morning, it suddenly became obvious to me that it’s not, at present, actually getting a list of “suggestions” based on MAC address, but rather simply grabbing the Plaze associated with the most recent Activity. I’ll change that.

Steven Garrity's picture
Steven Garrity on January 29, 2008 - 00:27 Permalink

Why the .zip file rather than your Subversion repository?

Peter Rukavina's picture
Peter Rukavina on January 29, 2008 - 00:42 Permalink

Coming soon to Subversion — the ZIP was a quick last-minute “release early — release often” move.

Andrew MacPherson's picture
Andrew MacPherson on January 29, 2008 - 22:11 Permalink

My son loves the XO. It won’t run the site and I am very happy about that. He won’t stop drawing, taking pictures/videos with it. In fact it reminds me a lot of the first computer (The Atom computer by Colleco) that I got when I was 10 in 1984. At this point he knows more about it than I do.