The OLPC XO laptop
Is the mean, green thing hacker-friendly?
Review Originally known as the '$100 laptop' from the One Laptop Per Child (OLPC) project, the XO laptop is now available through retail. I bought one under the Give One, Get One program where for a $400 donation, OLPC would send one XO to the donator, and another to a child. This is my story of working with it for a couple of weeks.
Opening the laptop was the first challenge. Being an IT professional - I'm a system administrator - I decided I didn't need to read the documents, and was promptly stymied by an inability to get the laptop open. A Google search revealed what the document I had tossed aside without reading showed: to open the laptop, first swing out the antennae, and open it from the opposite side of the handle. This may sound easy, but the majority of people who tried to open it weren't able to do so without being shown how, either.
The CPU is a Geode LX-700 from AMD running at 433MHz, with 256MB Ram and a 1GB built-in Flash drive. There are three USB ports, plus microphone and headphone jacks on the sides of the screen, and an SD card slot on the underside. Accessing the SD slot is a pain that requires pivoting the screen 90° and then turning the laptop over. The XO has Wi-Fi, but no Ethernet port. I found the speakers to be loud but more tinny sounding than those on, say, the Asus Eee. The XO also has a built-in 0.3-megapixel quality webcam.
The screen is 7.5 inches wide, and has two modes: indoor backlit color and outdoor black and white reflective. The backlit mode gives 800 x 600 resolution, and the outdoor 1200 x 900. The monitor pivots around for 'eBook' mode, and a button on the front rotates the screen 90° with each push. The game key pad and buttons double as page up/down and cursor movement keys.
The keyboard is small - this is a kid's laptop, after all - but it is still bigger than many devices where adults need to enter text. The keys are rubberised, and there is enough space between them to (usually) avoid hitting the wrong one. Touch-typing is slow, but possible. Using three fingers on each hand for all but the edge keys worked pretty well.
The layout is good, with the enter key being four times the size of most keys, and the erase being twice as large. There are no Caps Lock or Delete keys, but holding FN and backspace will delete to the right of the cursor.
The unit is totally silent. The lack of a fan and spinning hard disk, combined with the silence of the rubber keyboard, makes for a strangely quiet computing experience. The XO also runs cool, with the back of the screen becoming only slightly warm after hours of use, while the base remains room temperature.
Battery and boot-time
Battery life is good. The XO ran an average of just over three hours in three separate tests with the screen on maximum brightness and in continuous use. This is comparable to the Eee. The system gave no on-screen warning before halting, but the battery icon on the case turned red about 20 minutes before shutdown. According the OLCP Wiki, the battery should last 3-5 hours, and OLPC is= working on software updates to improve this.
The XO takes its time booting. It takes about 1 minute 42 seconds to boot the Fedora Core 7 OS and Sugar UI, compared to about 22 seconds for the Eee. It boots to the Home screen, which is used to launch and terminate applications, and is headed Activities.
Next up, let's see the radical new GUI - and find us some wireless.
The center XO represents the laptop. If the mouse is hovered over it, a menu pops up to shutdown or reboot the system. The immediate area around the XO is called the Activity Circle, which serves as a task list. A single click on the icon will switch to an activity. To shutdown an activity, mouse over the icon and it will give an option to resume or close the program. The space occupied by icons in the Activity Circle also gives a very rough idea of how much system memory is remaining. There's no way within the GUI to tell exactly how much memory is available, but the online manual warns: “Take care not to fill the circle."
The bottom icon on the task list is reserved for the Journal, which is a combined activity log and file manager. The Journal is always running. More on this later.
Below the Journal are icons showing battery life and wireless signal strength.
The black border around the screen is called the Frame. The top part represents places: left to right, the Neighborhood (all wireless access points, and other XO laptops), Group (eg. a child's classroom), Home and Activity (the last used application on the Activity Circle). There are handy shortcuts to all places, plus the Journal, along the top row of the keyboard.
The Frame is always visible on the Home screen. It can be invoked in any other screen or activity by mousing to any corner of the screen, or pressing the open rectangle key on the keyboard.
The right side of the Frame shows the XO laptop user, and any other users the child is collaborating with.
The bottom row is used to launch activities. Invitations from other users to join shared activities will show up here too.
The left side of the Frame shows items copied to the clipboard. Hovering the mouse over a clipboard icon shows the options to Remove, Open, or Add to Journal.
When the XO boots, it cycles through all unsecured access points in range until it finds one it can connect to. To choose one manually, click on the Neighborhood icon then click the desired access point. If the AP is secured, it will prompt for a password. To stop communication with an access point, hover the mouse over the AP's icon and click Disconnect.
The XO couldn't initially see my Actiontec GT704-WG DSL router. Switching the ESSID from 9 to 5 allowed the XO find it and connect. There were reports on the OLPC Wiki about similar connectivity issues with other routers.
The Journal is the XO's combined file manager and activity log. It shows a timed-based view of activities performed, as well as saved files.
Along the bottom of the screen are icons showing the Journal view, along with an inserted USB drive and SD card. To show a device's contents, click on the device. To copy a file, click and drag it onto the target device's icon. To remove a device, hover the mouse over it and select Unmount.
To open a file, click the gray button on the far right. The Journal will open it in the default activity for that file type.
To perform other file actions, click on the entry's title.
The top icons, left to right are: Go Back to Journal, Erase, Copy to Clipboard or other device, and Resume (open). To open a file in a non-default activity, hover the mouse over the Resume icon to list other applications that can open the file and click on one.
Clicking the star marks an item as a Favorite. Typing in the text box renames a file. Below the filename is a preview section. The preview is blank initially and will be generated the first time the item is opened from the Journal. Finally, there are text fields for Description and Tags.
The observant reader will notice that there are no folders in the Journal. The OLPC foundation has a disdain for file system hierarchies, preferring a time- and activity based metaphor. If the Journal opens a USB or SD card that has folders, it will show a listing of all files on the device as one flat list.
The problem with this approach is that the underlying computer is very much based on a hierarchical file system. Since the children are encouraged by the system to view source code and to create their own programs, they'll have to learn how the file system works anyway. The OLPC folk argue that children don't think like adults, but the concept of putting stuff in a container to keep it organized is as useful to a developing-world child as it is to a first-world adult.
The idea of an activity-based Journal has merits, but combining it with file storage is very confusing. If the user saves a document ten times, there will be ten separate entries (and copies) in the Journal. Consider how hard it would be to find a file in a journal with dozens of pictures, MP3s, text files, etc mixed in with a list of every program executed. The Journal does allow filtering by activity/object type and access time, but this is unreliable. For example, filtering for audio or video failed to show any MP3, Ogg or AVI files.
The built-in activities don't allow files to be opened from within a program. Instead, the Journal must be used to open files one at a time. To listen to music, click on a song file in the Journal and it will launch a player. When it is finished, close the app, then switch back to the Journal and repeat for the next song. No playlists or photo albums here, folks.
The built-in OLPC browser is basic but functional. The Browse tab has forward and backward buttons, reload and a box to type in URLs.
While the XO's browser may use the same Gecko engine as Firefox, this is no Firefox. It doesn't support keyboard shortcuts for backwards and forwards. It doesn't support tabs, or the ability to open a link in a separate window. This makes browsing feel constrained, as one can't open a link in the background and come back to read it later. You either click it now and remember to come back to the original page, or read the original page and try to remember to follow the link later. This alone makes the browser frustrating to use.
It also lacks a familiar bookmark system. To bookmark a page, select the Browse tab and click the star in the upper right corner, and it will add a thumbnail view to the Tray at the bottom of the page. To hide the thumbnails, press Alt and Space. Next click the Activity tab and name the bookmark collection. Note the Share With option can allow others to watch a browsing session. Finally, click the Keep button to save the bookmark collection to the Journal.
After using the browser for a while the weird bookmark system and lack of tabs gets increasingly annoying.
Fortunately, Opera has a build for the XO, which supports traditional bookmarks and tabbed browsing. Opera makes full use the XO's high resolution display and packs a lot of information on screen in crisp but tiny fonts. It's a full port, so it supports the +/- keys to change the font size. The system fonts for dialogs are microscopically small.
Firefox and other Linux apps can be installed, but non-native XO apps aren't integrated with the Sugar UI and must be launched from a terminal window. Hopefully, a native Firefox port will be available soon.
Up against the Eee PC
Naturally, the XO draws comparisons with Asus' low-cost Eee laptop, which you can also take to the beach, as the illustration below shows:
Asus Eee PC and friend
So how do they stack up?
Comparing the XO and Eee in their full-screen modes, the XO's 7.5in screen shows a lot more information than the Eee's 7in screen, between the extra size and slightly smaller, but easily readable fonts.
Comparing the XO and Eee browsers
Click for the full picture
Here's another view, giving a comparison of how much of a web page each machine can display:
More pixels for browsing on the XO Laptop
Multimedia is the XO's weakest area. As shipped, it's unusable for multimedia applications.
The supplied open source Gnash Flash player doesn't play YouTube videos. After replacing it with Adobe's own Flash Player, the videos played, but were choppy to the point of being unwatchable.
If the default browser is used, there will be two video windows on each page, with the top one saying "Flash: click to play". Meanwhile, the bottom one is already playing, but you have to scroll down to see it.
Opening a MP3 file in the Journal launches the Etoys activity. Playback skips intermittently, and stops playing altogether if the focus is switched to another activity. If the XO does manage to complete playing a song, it will give an error saying the file location has changed. The XO will then crash and take a while saving, although what is being saved isn't clear. After the crash, the MP3 filename changes to 'Etoys activity' and can't be played. The file isn't really corrupted, but the USB or SD card must be removed and remounted to fix the file association and make it playable again.
This is a mess, and looks like this:
Opening an Ogg file launches the browser by default. It displays a visualisation which is clearly too much for the XO's CPU, and the sound skips. If Etoys is used to open the file, it has the same problems as it does when playing MP3s.
Installing the Helix-based Watch and Listen activity allows both MP3 and OGG files to play, but not streaming audio. It doesn't support playlists, despite having buttons for previous and next track.
The Fedora Core Linux installation includes the Totem media player, but it's not integrated into the Sugar UI or Journal. It also doesn't include MP3 or AVI codecs. The OLPC Wiki claims this is for legal reasons, but why can they include a MP3 codec for Etoys and Watch and Listen, but not Totem? They also observe that some codecs are legal to distribute in some countries and not others, so the codecs installed will vary by country.
A couple of days after this review was finished, the XO started acting... well... wonky. Typing produced weird behavior such as the screen rotating, apps closing and the GUI restarting - which made the laptop useless. The BIOS diagnostics have a visual keyboard map which showed that the ALT key was coming on at random times. This is a known problem, and OLPC recommends that owners RMA their laptops.
I called for an RMA number and after a half hour on hold, was told it could take up to a month to fix, plus 2-4 weeks shipping, but keyboard issues typically had faster turn around times. This raises some questions about support: will the 30-day warranty be extended after repairs, or for customers who develop the problem after the warranty expires? What about laptops already shipped to third-world countries? OLPC shouldn’t be faulted for a batch of bad keyboards, but how it handles the warranty will be telling.
There's a lot to like about the XO laptop. It's tough, it's great as an eBook reader, it has a big (for its category), high resolution screen. It runs silent and cool, has good battery life, and the clean design of the Sugar interface is easy to use.
But several areas need work.
The browser should be replaced by Firefox, and the Journal needs to support folders to match how people actually organise their work and play. Multimedia performance needs to be improved, which can hopefully be done through software. The XO needs a unified media player that supports all media types, along with playlists, and should be integrated with the UI.
Most of these changes come down to the OLPC organisation placing more emphasis on real-world usability and less on their ideals of a perfect interface. If they can manage to do this, the XO laptop could be a great tool for learning and play.
Brian Hurley has been a system administrator since 1984, and involved in internet radio since 1999. He lives in Detroit, Michigan.