No X’s or O’s for this toy: my frustrating experience with the XO laptop, December 2007

In December 2007 I got myself a holiday present — an XO laptop (also known as OLPC, or One Laptop Per Child). I bought an XO as part of their “Buy 1, Get 1” program (you pay for 2 laptops, and get 1, while the other gets shipped to a child in a developing country, which is what the OLPC program was intended for). My Christmas Eve night was spent on figuring out the XO interface, which was, in Tom Lehrer’s words, “so simple, so very simple, that only a child can use it”.

And not just any child, but a child who’s never been around real computers before. For youngsters in African villages it may be perfectly adequate. But a child who’s been using computers since preschool, may find it about as comfortable as tying her shoe laces with her elbows. Yes, XO is cute. I grant it that. But a cute lump of coal does not a diamond make.

It’s not the chiclet-sized rubbery keys (though I suppose I wouldn’t try to type a dissertation on this keyboard). No, there are several other reasons why I think the OLPC / XO laptop is crippled.

I know, I know. I can hear a bunch of voices yelling back at me that I don’t get it, that XO was not supposed to be a “regular” laptop, and the fact that it can’t do a lot of things a regular computer can do was a “design decision”, not a flaw. But then you have to wonder if the assumptions the designers made about the target audience (children in developing countries) were any close to being realistic.

You don’t realize how much you rely on this feature until you miss it

Suppose you regularly update a web site, and you do it via a CMS (content management software). CMSes have web-based interfaces; you update them via a web browser. Often you want to upload pictures. Web browsers have upload widgets where you click “Browse” and a dialog box comes up that lets you select a file to upload. So you go to your CMS URL in the XO web browser, and you see your usual upload widgets, and you click the “Browse” button, and your computer cranks and flashes its blinkenlights, and you wait, and wait… while the itching feeling it’s not going to pop up a dialog window grows stronger. You can’t say why, not yet, but you just know it’s not going to happen. When, after a lot of grinding, the XO web browser fails to pop up a dialog window – with no error message or anything, you realize why.

There are NO windows on this system!

Two XO laptops side by side
CIMG8562 Two XO laptops side by side at the Austin Linux Group meeting in January of 2008

The damn operating system does not have a window manager! All popular operating systems, whether Microsoft Windows, Mac or Linux, use a windowing system as a basic user interface paradigm. Any application you open opens in a window. Not so here. In OLPC interface, an application (or “activity”, as they call them here) occupies the whole screen. Sure, there are ways to get from your “activity” screen to the Home screen and other activity screens. But the windowing paradigm is about more than that.

If you are a very linear person, XO may be for you

For one thing, a lot of mainstream applications, such as web browser, require opening another window in order to accomplish routine actions (such as uploading files), and they can’t do that on XO. But the significance of windows is more fundamental. You can lay them out side by side and overlap them, enabling you to see several sets of data, several applications, several… um, activities, at once. It lets you shift your attention from window to window whenever something interesting happens in some window (for example, a friend IMs you). Our computing activities are rarely linear. You may be chatting in one window, while waiting for a video to load in another, while checking email in yet another window. You need to be able to see all that’s happening at once! And children these days are even more used to that than adults. Everything that’s been said about the contemporary kids and teenagers emphasizes that they are embracing multitasking the way no generation has done before — IM’ing several friends, watching videos, and doing homework all at the same time, continuously managing multiple streams of attention. I would add that this is typical not just to kids, but to programmers too, of all ages. It is inevitable for us. While a program compiles, we don’t dumbly stare at the screen: we research some other issue for another project, or answer somebody’s question in an IM window — only to interrupt those “secondary” issues when our primary project finishes compiling. And it should be enough to glance at it to know when it finished — we shouldn’t have to Alt+Tab to the other window repeatedly. Similarly, we need to know immediately when a colleague or a friend sent us a new instant message. For that, one needs overlapping windows on the screen.

XO doesn’t let you do that.

So like I said, it may be good for kids who haven’t been around regular computers, but any kid who grew up in a modern digital lifestyle will find it crippling.

But maybe a window manager would be too power-intensive? It is a computationally intensive feature, I’m sure, at least as far as memory is concerned. A stranger at a coffeshop who had been following the OLPC program closely told me that all these design decisions were dictated by the need to make the laptop consume as little power as possible.