Archive for the 'python' Category

OLPC Sugar on Ubuntu 7.04

I got Sugar running on Ubuntu using the Sugar on Ubuntu Linux page on the OLPC wiki. It uses Xephyr, so it runs the matchbox window manager in a full-screen window.

There was only one missing dependency, librsvg, which also stumped Guido so I’m in good company…

Here’s the Home view, which functions as a simple task switcher:

Sugar Home view

It helped that I had already experienced the XO laptop, and seen that the special keys along the top correspond to the function keys, so that I knew F3 gets you to the Home view – otherwise I would have been lost! (F1 to F4 correspond to the icons you see across the top of the frame.)

Icons in the ring show running activities. All the segments look equal to me, but the concept is that the ring is all available memory, and the activities or tasks show how much of this they are using by the amount of the ring they take up. When the ring is full, you need to close something… Maybe the sizing according to memory use isn’t implemented yet.

Here are the software components I have running:

The Gecko-based browser works:

Sugar browser

The feed reader, PenguinTV:

Sugar - Feed Reader

This seems to be not properly “sugarised” yet – I couldn’t find a way to quit the application.

Here’s Block Party – a Tetris clone:

Sugar Block Party

Other activities didn’t work yet on my system – Writer, based on abiword, wouldn’t launch at all, and Etoys and Chat both displayed only a gray screen.

It wouldn’t make sense to run Sugar on Ubuntu on the real hardware, since the OLPC distro incorporates tons of special optimisations, but this should make a reasonable development environment.

One final thing – had to ask on IRC on #sugar to find this out: To quit Sugar, use alt q.

OLPC Impressions

It’s been more than a week since I helped with the OLPC-za stand at the Digital Freedom Expo, so finally here’s an attempt to document my thoughts.

The Laptop

OLPC demo
Photo: Antoine van Gelder

My first impression was that the XO seems well constructed, even in a beta version. It is sturdy and light, and looks attractive. I don’t know if it will have a laptop case as part of the $100 $175 – the carrying handle suggests that it won’t, so I wonder how long the shiny white surfaces will stay shiny white…

The questions and comments on the XO at the event included the following:

  • How much does it cost? (Answer: “One hundred million dollars… for the minimum order of 1 million…”) (Yes, more than that in reality… especially when you include servers)
  • Where can I get one?
  • Was it made by Apple? (No, by Quanta, but they do make some of Apple’s hardware)
  • Isn’t the screen too small to run a spreadsheet? (Do 6-year-olds need a spreadsheet?)
  • Does it come with OpenOffice? (No, but the word processor writing activity is based on Abiword)

Some people would not believe that the XO, when placed next to my Sony Vaio, is a fully capable laptop. (A demo of the laptop convinced them it is real, though…)

The most effective demo actually was the camera activity which shows the live video from the camera – webcam style – and captures an image from it. Everybody loved that, and commented on how their much more expensive hardware had no such camera – or their cellphone with a camera costs more than the XO!

The Software

The first clue that the interface is different comes from the keyboard – see here for a diagram. Note the symbols, especially along the top row. The laptop runs on a stripped down version of Fedora Core 6, but only the boot up sequence looks familiar. The user interface, known as Sugar, is completely different. The symbols occuring on the keyboard are also used in the software.

The best guide to the software that I’ve found is the lengthy Human Interface Guidelines page on the OLPC wiki. See also this IBM DeveloperWorks article: Sugar, the XO laptop, and One Laptop Per Child. In summary, some of the major features:

  • There are no menus. Functionality is generally implied pictorially by icons. The icons are culture-neutral to some extent – for example the camera is denoted by an eye, rather than a lens or picture of a camera.
  • There is no “save”. Work is saved on the fly, and can be accessed by a Journal activity. This means there is no worry about “where” you saved something or whether you remembered to save it at all. Tagging is implemented in the Journal to aid categorising and finding things.
  • There is no “open”. You can resume an activity from the Journal, which acts like a type of version control, so you can go back in time and resume earlier versions of whatever you are working on.
  • While Internet is not assumed, the mesh network is always in operation. Most activities can be shared with the child’s group of friends, classmates, or others in the area. Most content, such as pictures, audio or video can be shared.
  • And lots lots more – I really can’t do this justice!

The irony is that while my generation are more comfortable with technology than my parents’, for perhaps the first time I was confronted with a strange interface and wondered if this is how it will be when my kids get to grips with technology I never had… I had to “unlearn” the familiar, since in a lot of ways there aren’t simple equivalents for concepts.

I’ve been looking into software development for the XO – especially since the dominant language in the development of Sugar is Python. Of interest is the Develop activity that will allow programming on the laptop itself, applying the same Sugariness to the process. Note that bzr is (to be?) built in!

I really don’t see how running Windows XP on these laptops, even at $3 per “user”, makes sense. There is so much innovation here that it would be a complete waste to run a partially disabled version of a 6 year old operating system on the XO. Microsoft, 6 years old refers to the users, not the software! For more on this, see Jonathan Carter’s rant.

The Community

Antoine’s getting a local grassroots community going – see http://www.laptop.org.za/ and the mailing list (links on the site). Here’s hoping we can get MORE than one of these in South Africa!