I laid my hands on an OLPC laptop this week. My friend Todd, who had gotten one earlier, told me that whilst it had a lot of potential, at this point he was going to give it two thumbs down. Now like all geeks, I have been very excited by the OLPC project since I heard about it, working out elaborate fantasies in my mind in which the Gambia would somehow acquire a hundred thousand of them, and start a hand-cranking, rugged-laptop-wielding educational revolution in schools all over the country, both rural and urban. We would change the school curricula, so the laptops were used as tools rather than nice curios (as the current crop of second-hand computer donations to schools seem to be), and at the same time sparking off a computer revolution as kids left high school knowing how to program computers and create new software.
I am also currently reading "The Diamond Age: A Young Lady's Illustrated Primer", a scifi novel by Neal Stephenson in which one of the protagonists, Nell, is taught almost all she knows by a laptop not unsimilar to the OLPC one, though a lot more advanced. So you can understand how my mental image of the OLPC was a rather romantic one, and why I felt rather deflated at Todd's words, developing an itch to prove him wrong and hold on to my dream, dammit.
Alas - Todd was right. Oh, the laptop's a beautiful machine, the hardware a marvel of engineering and all that - there is no doubt about this. It packs quite a lot of punch in such a tiny space, especially considering it even has a built-in video camera, and can record audio. It does mesh networks very well, approaching Mac OS X's "no bother, one click" ad-hoc networking capabilities. [It takes me two minutes to use my MacBook to set up an ad-hoc connection; the last time I tried it on Windows XP I gave up frustrated after thirty minutes]. The design is very child-proof - someone at the Peace Corps reportedly spilt coffee on one, and it still worked fine afterward. The screen flips around nicely, converting it into a texbook/ebook reader. Its small form-factor is perfect for moving it around in a schoolbag, and its tiny keyboard, though it makes it a pain for adults to type in anything long, is greatly suited to small hands. Hardware is not the problem.
The problem is Software. The same problems that have dogged GUI Linux until recently (what makes sense for geeks does not necessarily make sense for other people) have somehow clambered aboard this laptop's UI design team-wagon [yes, the metaphor's clunky on purpose, to illustrate the point]. The problem is not one large thing - it is an aggregate of small things which add up: when a program is loading it is indicated by flashing the program icon on the home screen, which may be hidden by other program windows, leading you to think the laptop is unresponsive; Connecting/Disconnecting to a wireless network takes a single click: double-clicking seems to connect and disconnect immediately, and more than once simply made all the wireless networks disappear from the screen; shutting down did not turn off the actual hardware, but left it stuck at the final warning screen, so you have to press the power button and hold it till it goes off.
All these problems took me a day to figure out. Another geek would maybe take even less. But your average geek is not the target user of this laptop, excited as we are to play with it, the target user is some some non-tech-type teacher stuck in a remote village, with no access to the Internet, trying to grok the laptop and its nuances enough that she can solve her students' problems, and teach them using it. Which brings me to the next thing I found lacking: documentation.
Take the "Etoys" program for example. It is one of the most powerful, most exciting programs I have seen for teaching kids programming, in a long time. It can do animation, and you can attach code to the sprites you animate, so you can, for example, animate a flock of birds and then write swarming behavior for them, determining how close they fly to each other, and how they avoid bumping into each other. Yet the documentation for it is terrible, consisting of nothing more than a series of "guides" to the different buttons and menus that appear onscreen. There are apart from this some pretty neat demos and samples that showcase Etoy's capabilities. And that's it. Our poor primary school teacher would be completely out of her depth.
I wouldn't go as far as Todd's "two thumbs down", or Wired Magazine's dismissal ("who cares anymore?", they asked) - I am still really excited about this project, and now that the media hype seems to be over, maybe some real work will be quietly (always the best way) done. I am also aware that this is only a first version, and improvements will happen, especially considering it is an Open Source effort. I am eagerly waiting to see where this project goes. And meanwhile I dream of an Illustrated Primer.