Sugar on my Vista laptop
Today I installed QEMU emulator and managed to get the OLPC XO’s Sugar user interface running on my Windows Vista laptop.
Sugar is based on Fedora with a custom GUI shell. Here’s Sugar over Vista:
Sugar offering to search for more “activities” i.e. XO applications:
It’s been an interesting experience 🙂 There were a couple of hiccups. As soon as I’m sure of my facts, I’ll make my first update to the laptop.org wiki. So far, my only real problem is that I can’t install the QEMU accelerator module (Kqemu). Windows Vista says the .inf file “does not support this method of installation” 😦 But no worries, I can do without the extra speed for now.
Next: Get to grips with Sugar in its emulated state.
Update: I found a Kqemu accelerator for Windows here: http://www.h7.dion.ne.jp/~qemu-win/
See “Accelerators” near bottom of page — link http://www.h6.dion.ne.jp/~kazuw/qemu-win/Kqemu-1.3.0pre11-install.exe
I installed it in folder “C:\Program Files\Qemu\Kqemu”. This seems to work — I don’t get the error message in the cmd window now.
OLPC Australia’s first techfest
Yesterday I attended the first techfest organised by OLPC Australia. It was a full day of talks, demonstrations and workshops aimed principally at people who might want to get involved on the technical side. I’ve come away with much more knowledge of the OLPC project itself as well as the hardware and software involved on the server and laptop sides.
The day was hosted by Pia Waugh and Jeff Waugh, with talks and workshops by Martin Langhoff and Joel Stanley. There were about 30 people, I’d guess. Most of the interest was in the technical side of things, but I did talk to a teacher who had travelled and worked in various African countries and is now working in Aboriginal Education in Sydney. For her, it was the educational aspects of the project and the instructional design of the hardware and software that are important.
In case anybody wants to know how you can get involved with the project, I’ve highlighted some bits in purple italics below.
- OLPC — One Laptop Per Child. The OLPC project aims to give a specially-designed computer laptop, the XO, to children in remote and underprivileged areas of the world. The goal is to give these children access to the most up-to-date technologies for learning, experimentation, self-expression and collaboration.
- XO — the laptop provided to school children.
- XS — the server at the school.
- Sugar — the user interface i.e. the screen design, behaviour and tools which the XO presents to the children and other users.
- Activity — an XO application or program, such as Draw or Chat.
One of the breakout sessions at the end of the day:
e-Learning and challenges
The day’s first talk was an overview of e-learning and its challenges by Martin Langhoff. He covered the key factors arising from educational research, which drove the design of the XO and the thinking behind the OLPC project. We zigzagged between educational theory, anecdotes and technical specifications.
I didn’t get a good photo of Martin, but there’s one on the OLPC web site.
Here is some of the educational theory:
- Kids figure things out. Particularly when in small groups, where there’s a bit of competition, a lot of collaboration and the opportunity to teach others what you know. This happens better away from the classroom.
- Sugata Mitra’s Hole in the Wall project illustrates this concept. He made a hole in a wall which bounded a slum in India, where a number of children live and many do not attend school. On the other side of the wall, he placed a computer with internet access. The children could access the computer via keyboard and mouse. Within a couple of weeks, they were Googling for their favourite Bollywood starts. In a few more weeks, they were Googling in English.
- Constructionism is based on the discovery that we learn most when we are preparing material to present to others. This applies to small children too.
- The laptop’s user interface, Sugar, latches onto a child’s natural curiosity. It’s easy to get started, but the tools quick challenge the children by providing layers of complexity that are quite readily visible. For example, you can start developing a computer program with Turtle Art (a drag-and-drop way of moving chunks of code around) and then move into the Python programming language itself, via the XO’s “Pippy”. The names and terms line up with each other on each layer, so children quickly discover that a deeper layer is just a different and more flexible way of doing the same thing. Children start playing, and soon start giving adapted versions of the laptop’s inbuilt “activities” (applications or programs) to their friends. There’s more about the XO programming environment in my earlier blog post about OLPC in Sydney, and of course in the OLPC wiki.
Here are some of the environmental factors:
- The XO laptop is destined for remote areas, often with little or no power or connectivity. This demands non-conventional product development. For example, the laptop goes to sleep aggressively; avoids frequent polling, e.g. it doesn’t ask every 200 milliseconds what the battery status is 😉 ; and is able to deliver something useful even if there’s no or sporadic connectivity. There’s more about the XO hardware in my earlier blog post about OLPC in Sydney, and of course in the OLPC wiki.
- It would be useful for a school to have a way to request information from a website by URL, when the school does not have connectivity. Martin calls this “the return to waffle or UUCP”. The idea is that a messenger (someone who is travelling between the remote settlements and larger villages) would carry a USB stick with such requests. The messenger would go to the nearest point of internet connection and plug in the USB stick. A tool would crawl the requested websites and put the content on the stick, which the messenger would take back to the school server. This would also give the OLPC a chance to deliver patches and other updates to the school server.
- Interesting point: The XO has built-in hardware to act as a USB key. You’d just need to activate the software.
What about content — what information is or will be contained on the laptops and/or school servers? The project will be making a lot of use of Wikipedia. Here’s one place where people other than developers can help. They need good-quality content, principally in simple English or Spanish. Information about local culture is useful. Localisation of content to the small regional areas is very valuable.
Another way to contribute is to try out the new activities that developers are creating and give feedback. You can get a Sugar emulator. If you’re on Linux, they say that’s easy. Otherwise, you need to install vmware first.
Martin mentioned this concept in his talk and I’ve put it in a section on its own because it’s so interesting.
The problem: There’s so much information out in the world. Even if you restrict yourself to Wikipedia (ignoring all debate about Wikipedia as a source of information), there’d still be a problem putting the whole of that single repository onto an XO laptop or an XS server. (More about the XS below.)
The OLPC has spearheaded the concept of a wiki slice as a way of delivering a cut-down set of information in a compressed format. The plan is to devise a set of scripts to select the appropriate information. For example, you might score the articles by popularity to decide what should be included in the cut-down information set. There’s a page on Wikipedia for the WikiProject Wikislice now too.
My thoughts: I work at Atlassian, which produces the Confluence wiki. At the moment, the wiki slice project is aimed at MediaWiki, which powers Wikipedia. I wonder how much work it would be to adapt the scripts to work on Confluence, or on other wikis? Also, we’re often asked about offline use of the wiki content. Could the wiki slice technology be useful outside OLPC?
“Unsupported legacy operating systems”
And the Microsoft Windows thing? According to Jeff Waugh, that’s just not relevant. Martin’s view was similar: The OLPC project is just forging ahead. The answer to doomsayers is along these lines:
We’ve done it. We are shipping laptops. Over 100 000 laptops are out there now, in the hands of children or being distributed.
At the moment, they’re working towards distributing 240 000 laptops in Peru, to between ten and fifteen thousand schools.
The OLPC project is not spending time on Windows integration. They’re also not stopping it. They have implemented a dual-boot option, which will be made available to those countries who want it. Windows will come on an SD card, at an extra cost of USD 10 ($3 for the operating system plus $7 for the card). If you boot with the card in, you’ll get Windows otherwise the XO will boot Linux. OLPC does not intend to prevent countries from loading Windows onto the laptops. Freedom of choice is integral to the world of open source.
What’s a pity is that the dual-boot feature will negatively impact the fast suspend/resume feature of the BIOS. The current version aggressively goes to sleep when not in use and resumes fast when needed.
Perhaps, when countries see that it doesn’t really work to use an unsupported legacy operating system, this will all blow over 😉
In the second talk of the day, Jeff Waugh told us about the goals and status of OLPC in Australia. The goal is to support OLPC-related activities on this side of the planet. This will extend the reach of the project, because we are close to countries in Asia-Pacific region which need the XO and we are also close to people who are keen to contribute.
Jeff and Joel:
Areas of interest are:
- The Pacific
- Remote Australia
- Regional and metropolitan Australia.
OLPC Australia aims to build up a community of people who can contribute:
- Technical people to deploy the laptops and servers
Trials are being set up at the moment in metropolitan and regional schools, in Northern Territory and remoted Queensland, and in the Pacific. They are looking for volunteers to help set up the deployments. The work would be for a few weeks in one or two months’ time.
Jeff says that the project has had a good response from government. The current government aim is that “98% will have access to the National Broadband Network”. Geoff’s response is, “We are the other 2%. And we are an education project.”
Senator Kate Lundy took an XO to a Labor Party meeting. Kevin Rudd liked it. We know, because the XO took a photograph of his smile.
Jeff sees a huge opportunity in the Intervention project, and there are two state education departments interested.
OLPC Australia is looking for corporate sponsorships. As yet, there is no framework, but they are interested in any organisation which can give a concrete idea of how it can help.
OLPC Australia will also replace some of the content on the XO with Australia-focused information, such as the wiki slice content which deals with US presidents.
Live a life of XS – the school server
The third session was presented by Martin Langhoff covering the XS, or school server.
Until now, deployments have used standard server setups. Peru will be the first major deployment with the new XS which Martin is working on. At the moment, the focus is on infrastructure, backups of the XO laptops and configuration management tools. They also plan to look at security in more detail.
The physical design of the box caters for high temperatures. It will either hang, or rest on an integrated stand. The machine itself will take up one third of the space, the other two thirds will be just air flow. No fans.
Due to the unique nature of the project, a radically different administration model is needed. This is interesting to any system administrators out there. Martin is basing his ideas on models used at NASA, among others. Tools are based on the work of Steve Traugott and his infrastructures.org.
It’s a client-pull model, due to the problem of sporadic connectivity. The idea is that the servers keep track of which machines have managed to pull down the updates, so that the others can be manually updated via a USB stick.
There will be little or no end-user interface on the server. Initially, a technician will configure the server via auto-install. The server will be shipped to the school. With a bit of luck, someone at the school will plug it into a power socket. And that’s it.
Power supply may be sporadic. So the server needs to be able to roll back to a safe state if an update finished unexpectedly. Everything must just work. Martin calls this,
turning a complex server into an appliance.
What about passwords? How do we deal with the fact that a small team of technicians will be looking after thousands of machines? It’s not a good idea to have a master admin password that works for all time over all machines. The solution: At installation of the server, it will generate a list of one-time passwords which are unique to the server. This list will be stored at the network operations location. When the technician goes to a particular server, he will take a USB stick with ten or so of the passwords. This minimises the impact of a lost or publicised password.
On the collaboration side, Moodle is central to the server. MediaWiki is also used for asynchronous collaboration (as opposed to the synchronous collaboration supported by the XO laptop). The plan is to have several wiki slices running on the server, either independently or within MediaWiki.
Martin is also looking at content repositories. They need some way of sharing content among the schools. The content might be developed by teachers, an education department or even the children. The repository must be lightweight and distributed. It will support SCORM and IMS packages. World organisations such as WHO may even provide content this way.
Martin talked about the complexities of programming where you must look at long-term support, as opposed to regular updates being possible.
We can’t distribute emergency patches to the laptops or servers. After doing each bit of programming, we must consider all the important failure scenarios. This is very challenging.
A note also, that the laptops are independent of the servers. You can think of the server as an extesion of the laptops, providing backups, extra content, etc. When there are up to 20 or 30 laptops together, they communicate via the mesh networking — the “bunch of laptops under a tree”. When there are more laptops in the group, the server acts as a mesh portal, coordinating so that the network runs more efficiently.
Gung ho on the XO — the laptop
Joel Stanley gave the final talk of the day, before we broke up into groups to look at the machines themselves.
Joel ministering to an XO:
Joel gave a technical overview of the machine, starting with a look at its innards. We hopped from chip to chip, and a lot of it went over my head. Some snippets:
- You can now have mesh networking on your PC at home, by downloading the kernel module. It’s known to work on the B43 chips but they’re still ironing out problems with the Intel chip.
- The XO screen is trans-reflective i.e. it bounces incoming light off a mirror behind the screen to enhance the display. The next generation won’t need power at all to display the screen.
- The next generation of XO will support e-books like Amazon’s Kindle.
- The current software stack requires 256Meg of memory. This could be reduced, but that would take additional developer time.
- The XO includes a 1-gig hard drive.
The star of the day
Side view, with a Samsung mobile phone:
Innards of the XO:
XO screen showing the Neighbourhood. Each little figure represents another XO or a shared activity:
XO screen showing the activities currently loaded. This one shows (going clockwise from the top) two instances of Turtle Art, Draw, the always-present activity at the bottom (I’ve forgotten what it’s called), two instances of Chat and the Distance activity:
XO screen showing the Distance activity. Two laptops can measure the distance between them by blurting sounds at each other:
The OLPC project is interesting on so many levels — technically there’s a lot of innovation and scope; but also politically, socially, economically and philosophically it’s one of those grand schemes that come along rarely.
When I first saw pictures of the XO laptop I was disappointed, because it looks a bit like one of those pretend-computers that you give to toddlers. It’s not. Those are toys. The functionality is limited to what is pre-programmed into the box. In contrast, the XO is a serious collaboration and learning tool which intrigues developers as much as children. In fact, it aims to rub out the line between the two.
Links to more information
- My earlier blog post about OLPC in Sydney
- OLPC Australia web site and blog
- OLPC project web site
- Documentation on the OLPC wiki
One laptop per child OLPC Sydney
On Friday night I attended a SLUG meeting where Pia Waugh and Jeff Waugh demonstrated the XO computers used in the One Laptop Per Child (OLPC) project. The little machines are a cute, impressive package. The OLPC project is visionary, intriguing, and I think bound to grow beyond what’s yet dreamt of in our philosophy.
The OLPC project aims to give a specially-designed computer laptop, the XO, to children in remote and underprivileged areas of the world. The goal is to give these children access to the most up-to-date technologies for learning, experimentation, self-expression and collaboration. The project was first announced publicly in 2005.
This blog post is about the things that struck me most during the presentation in Sydney on Friday 28 March 2008. There’s a lot more information on the OLPC web site about the XO machines and about the aims, history and growth of the project.
The XO hardware
Pia and Jeff brought along a few of the XO laptops. Before the talk started, I wandered to the front and picked one up. First, I had to figure out how to open it. I dare say a five-year-old child would have figured it out in two seconds. It took me a bit longer, but eventually I flipped up the two bunny ears and opened the lid.
The machine is small — you can comfortably hold it with one hand and press the keys with the other. It has a handy grab bar at the back, so there’s little chance of dropping it while you tap the keys. The outer casing is quite tough, and the keys are overlaid with a soft rubbery cover. Jeff mentioned a use case that has been tested:
You can spill a glass of wine on the keys and they’ll still work.
Though, he said, that’s not necessarily a use case that was designed for 😉 since the principle users of the XOs are children — what’s more they’re children in remote and disadvantaged areas of the world.
You can also throw the XO against a wall, and most of it will still work. It is recommended that you close it first. (Wink again 😉 )
Jeff is a mine of interesting titbits. Here are just a few of them:
- To conserve power, the machine goes into low power mode three seconds after you stop hitting the keys. But the screen stays alive much longer.
- There is no hard drive, just flash memory. This makes the machine very robust.
- That’s the throw-it-at-a-wall use case.
- You can put the display into black-and-white mode — triple the resolution. This is great for use as an eBook. You can twist the screen round, to make the machine even more compact while reading.
- This is great for reading under a tree.
- Two round holes conceal the (video) camera and microphone. Above these are two pinprick lights, showing when the camera or mic is activated. These lights are wired-in hardware, not software-controlled.
- So there’s no way to trick the child into being recorded unknowingly.
- The battery lasts six to eight hours and can handle 40 degrees ambient temperature. There are a number of ways to recharge it, including situations where there’s no electricity:
- Hand-held crank, in the same cool dark-lime green and robust chunky design as the laptop.
- Solar power recharger, which can be located at a school so that the children can recharge while in class.
- Cow power — attach your cow to a long pole and walk it round in circles, charging the battery.
- The normal electric recharger we all know and love.
- Foot crank.
- And so on — new and funky rechargers keep appearing.
The XO software
Endearing and clever — those are the terms I’d pick.
What’s endearing is the appearance of the machine itself and of the user interface. The XO motif is used cleverly, to represent little people —‘O’ over ‘X’ representing a head and body. Click the ‘Neighbourhood’ key on the keyboard or the corresponding icon on the screen (both will get you to the same place) . Now you see little XO icons dotted around the screen, representing others on your mesh network.
Pia showed us around the user interface, activities and collaborative features. It’s a little like Facebook or other social networking tools. You can choose your friends and interact with them. Other nearby networks will appear too, even if you don’t have access to them.
The applications are called ‘Activities’. Examples might be a web browser (Firefox); Chat; a text processor (Write); and so on. When using an application, you can choose to share it. Then it will appear on other people’s Neighbourhood screens and they can jump right in and collaborate with you.
The designers of the user interface have avoided text as much as possible. They are also attempting to steer clear of a file system display (like Windows Explorer). Instead, there’s a pie chart to show which activities are loaded, and a ‘life stream’ of all the things you are doing.
The focus is on learning, of course. But not only on learning pre-determined material. The focus is also on creative activities — composing music, writing code, experimentation, and collaborating with others in your network.
The mesh network concept is pretty cool. James Cameron, an Ozzie outback software engineer, hung one XO in a tree and took another for a ride in his ute. He got them pinging each other at a distance of two kilometres. In Peru, they’ve managed to bring internet access to a remote town by putting an XO every two kilometres over a distance of thirty kilometres.
Stephen, a young boy who is an XO wizard, showed us some Python code he’d put together. There are three software development environments:
- Pippy — based on Python, allows you to code, run and share with ease.
- EToys — based on SmallTalk.
- TurtleArt — a cool graphical tool, where you drag and drop components into a flowchart.
OLPC Australia and region
Pia and Jeff mentioned lots of trials happening in New Zealand, the Solomon Islands and regional Australia. The objectives are to give the remote and disadvanted communities access to cool educational stuff.
The open source community is developing new applications for the XO all the time. Here’s one that caught my attention:
Soon, a cog on the keyboard will give you access to the source for the Python front end. So the children will be able to ‘mess up’ their own PCs by changing the code.
They can reinstall from a friend’s PC via the mesh network, or just switch from customised mode back to the default.
A big thank you to the Sydney Linux Users Group and to Pia and Jeff. And thank you to Atlassian for hosting the event in their Sydney office.
In the past few months, I’ve seen pictures of the laptops and I’ve followed Anne Gentle‘s excellent and in-depth blog posts on her work with the OLPC project. Now it was great to play with the machines myself, and to meet Jeff and Pia who are so absorbed in and committed to the project.
My husband Peter was at the meeting too. Afterwards, he said that he’d like to know more about the politics behind the project. Now, that’s a really good point. What sort of political impediments do the OLPC guys have to work around, to get the laptops out to the areas where they’re most needed? Is every country actually eager to allow them in? A couple of people mentioned that we might be seen as foisting Western technology on the children of the world. But does any country or political force actually see it that way?
I’ll be following this project with great interest, and also looking into how I might become involved. Ann Gentle has jumped in already. I wonder if the Australian branch needs the input from a technical writer like me?