A week with the OLPC XO-1

The OLPC XO-1 from the side.I’ve been interested in the OLPC project ever since it started in early 2005. For one it represents a great humanitarian effort that — in theory — promises to bridge the gap between the technologically advanced US and Europe and the under-developed or developing countries in Africa, Asia and Latin America. In late 2006 I wrote an article rebutting [article in Hellenic] a — largely ridiculous — claim that the leader of the Panhellenic Socialist Party made at the time whereby he pledged that if his party was elected, they would provide OLPC laptops to everyone from pupils, all the way to university students. I presented a number of arguments as to why such a statement implies ignorance of what the OLPC stands for and what its capabilities are, but more importantly how it diminishes the image of that party (and its leader, a known technophile) with regards to technology whilst at the same time offends anyone who knows a thing or two about technology, usability and the OLPC. What was especially annoying is that the claim took advantage of a good project in order to ‘fool’ those sensitive to educational matters, but ignorant about technology. From anyone even remotely following the project, it is clear that the OLPC is not intended for adults (or even teenagers). It is, after all, one of the ‘core principles’ of the programme and it is also evident throughout the hardware and software design decisions. In that article I also made it clear that I believed that while the OLPC might be an excellent educational and recreational tool that brings computing to the mainstream for millions of children between the ages of 6 and, say, 12 years of age, there should first be a review of the options available to the Hellenic Government when the time comes to procure such a tool and — equally importantly — Hellas, as an EU country, should be very well capable of providing ‘grown-up’ laptops to pupils over the age of 15 and should definitely be able to afford higher end laptops than the OLPC for university students.

As I had not published any article on the OLPC at the time, in January 2007, about a month since my first article, I followed it with another one in English, where I reviewed the XO custom user interface and environment, Sugar, as it stood at that time.
Over the years I’ve been following the software project, by getting the latest VMWare images of the OLPC software and running them on VMWare Workstation. And while the software kept improving, my interaction with the platform was severely limited by the fact that I had no access to a ‘real’ OLPC XO-1 laptop.
Until this past week, that is. While attending an OpenCoffee event in Athens, I was given an OLPC XO-1 laptop for review. While my week schedule was too busy to allow time with it, I got a chance to play around with the OLPC yesterday and here’s a short review of the experience.

The Hardware

The XO-1 hardware specs are well publicised so I won’t go into them in detail. The laptop I got was a ‘beta 4’ machine and very near the commercial version that was sold in the Get 1 — Give 1 programme last winter. The device seems relatively rugged in its construction, very much reminiscent of the Tomy or Fisher-Price toys my generation used to play with in the 1980s. It is also, very clearly, designed for kids: the keyboard is very small, its distance between the capacitive trackpad also being relatively short. The device I got did not have either the hand crank or the pull-string manual charger. It came with a European AC power adapter (which is relatively small and lightweight).

The OLPC Display Modes

The ‘computer’ mostly lies behind the display and is held in its place via a 360° swivel hinge. This allows for the display to rotate and sit on top of the keyboard facing upwards, turning the laptop into an ‘ebook’ device. The ‘keypad’ controls are then used to control any software running at that time. The display is probably one of the most impressive components of the device. Its capability to switch between a reflective 1200×900 grayscale mode and a colour, backlit mode whose resolution is approximately 800×600 pixels and the result of a subpixel sampling of the high resolution display was the topic of many articles in the technical press to date and one of the reasons the project was delayed in the first place.
There are a number of ports hidden behind the latches-antennæ including USB and audio I/O. The laptop makes use of a WiFi ER (Extended Reach) chipset by Marvell, that allows for the creation of a Mesh network of OLPC laptops located far from each other. The idea of the ‘mesh’ is fundamental to the design of the OLPC software too. At an urban environment, the OLPC could ‘see’ about 40% more wireless networks than my ageing Apple Powerbook G4.
The laptop also sports a large three-pane trackpad. The middle section is a capacitive trackpad, similar to those found in ‘traditional’ laptops. It is the main mechanisms by which the laptop is used along with the keyboard. The other two sections provide a resistive surface that can, in the future, be used with a stylus to allow for handwritten input or, most likely given the size of the surface area, a graffiti-like input mechanism.
Overall, my main gripe with the laptop was its performance. In part the low performance can be sufficiently justified when considering the stringent power requirements and the fact that the laptop is meant to be used by children in underdeveloped rural areas without access to an AC power grid.

The Software

Reflective mode under room lighting.
Unfortunately, the software on the laptop I got was relatively dated (release 625). As such, some of the ‘activities’ included in later versions were missing, as were newer drivers for the Wireless network adapter and some major bugfixes. The software on the OLPC can easily be upgraded, however, as described in the OLPC web site this, in some cases, requires activation. Since this was not my machine and it seemed that it was not activated, I decided against even contemplating reimaging the device with the latest software. I will revisit the topic of the OLPC software at a later date when I get the chance to review the latest version of the OS/Sugar.
The device uses OpenFirmware, as all Apple Macintosh ‘PowerPC’ computers did between the mid-1990s and 2006. The experience of using the software was pretty much similar to the one on the VM. The Sugar UI has gone a long way since my early interaction with it. Many of the criticisms presented in my earlier article (from January 2007) are not applicable anymore. In particular, the inconsistency introduced by GTK theme widgets is gone, as it was expected to be; the minimalist Sugar UI is everywhere now. Subtle visual cues (e.g. animation) have been introduced and have improved the experience. The OLPC project made it clear that the UI is not meant to scale and that the limited power of the device translates to a small number of ‘running’ activities at any one time; this explains many design decisions that bothered me, but confirms that the device would be insufficient as a general purpose laptop. The colour choices of grey in the interface makes sense as soon as a comparison between the two different display modes is made: the interface remains largely consistent between the high resolution grayscale reflective mode and the low resolution colour backlit mode.
A closed XO-1.
Other criticisms, however, still stand: as of release 625, the UI is still not æsthetically great. The separation between people, places and objects, with the exception of the macro-scale neighbourhood/friends/home is insufficient and somewhat inadequate, given that this is — after all — a departure from the ‘traditional’ desktop UI design; I feel that the designers could have done a much better job there, given that they started from a clean slate. The use of icons is relatively controversial: in HCI, icons are considered useful and a good design choice when they can convey a meaning in a universal, non-language specific manner. Some of the icons on the XO-1 do not, and will probably force the user to either hover over the icon or start the ‘activity’ to find out what it is about. Nevertheless, they do provide a largely language independent and minimal UI.
I was especially concerned by the performance of the laptop, and more specifically by the somewhat slow response of the user interface. Perhaps the fact that the release I was using is not recent was to blame, but I would be expecting the UI to be much snappier than this. This was a major sour point; activities were in principle slow to start and sometimes respond and the Sugar UI, despite its simplicity, seemed heavy.

Closing remarks

Overall, the OLPC XO-1 seems like a solidly made machine that is probably going to withstand the abuse of children worldwide, while at the same time allow them to communicate, learn and interact in new and powerful ways. I’m thrilled that the device is based on open source software and for its inclusion of a Python and a Logo development environment — a language that is certainly going to help younger children comprehend basic software engineering concepts before engaging in more advanced programming tasks. While there is definitely room for improvement, I fear that the greatest threat to the project’s success are not its technical deficiencies, but the political abuse by both politicians and corporations globally. Still, I am confident that even when faced with a market full of competing laptops, or enterprising politicians, the value of XO-1 will be sufficient to make it stand on its own merits.
Many thanks to Panagiotis for lending me the OLPC XO-1 laptop and giving me the opportunity to take a closer look at it. The gesture is very much appreciated and without him it would probably take a while longer until I had a chance to spend some time with an XO.