Appreciate the Background on OLPC Technology Choices
Posted on January 25, 2008 by Winter in Software: Applications, Prototypes: OLPC
- "Why did they think it was better to run an odd keyboard and an odd desktop (sugar) rather then just a cut down Linux distro with XFCE and carefully selected applications?"
- "Why add a 'View Source' key, almost no kid will use it"
- "They didn't write an education plan because they don't believe in 'regular education and teachers'."
- "The XO is useless because you can't play MP3, watch Flash, or print"
Why Sugar?
Basically, the Desktop is a lousy interface. Deep down, it is based on a menu selection system. A menu is a tree based search which gets confusing VERY fast. Even grown ups cannot understand all the menu choices in, eg, an Office application. The reason experienced *nix users love the command line is that this allows you to break free from these confusing, isolated menu selections.
The designers of the XO took the view that an education computer for children should work like a child thinks. It should work like a toy. That is because toys are designed to work for children. The desktop metaphore was designed for adults and mimmics their work experiences. It was also designed to overlay a hierarchical (tree based) tool structure, that is, a menu. However, small children in the developing world probably have little experience with "File cabinets" and "Directories" in office buildings. Furthermore, the hardware imposed severe limitations on memory use, eg, no virtual memory.
The interface, Sugar, had to transparently combine:
- Group work activities (sharing)
- Context sensitive choices
- Show the current state of the system, eg, how much memory is used by each activity
- A file system with built in version control like Git, to hide the intricacies of storage from the children. The children must NEVER lose any work and back-ups should be automatic (if you think you understand file systems, that proves you don't)
- Basic connections between work and the applications that access it
- Have state-of-the art security for users who might not know what they are doing and who can't use passwords
- Automatic, viral, and extremely safe updating
- Automatic anti-theft systems to protect the CHILDREN from mugging and violence
- Loads of other things not done under *nix
- The Keyboard should be as small as possible for making a smaller laptop.
- Also, children should never be exposed to a caps lock key and other cruft.
- And this should all work for children who can hardly read on a system with less than 1GB memory.
The Need to View Source
And the "View Source" button is there for an extremely good reason. One of the defining moments in the history of the World Wide Web was the decision by the Mosaic team to include a "View Source" menu option. This single addition allowed thousands of users to become web designers.
It allowed me to set up a complete web site in the early nineties. All the arguments against the "View Source" button on the XO could have been leveled against the "View Source" option in Mosaic. And they were ALL proven wrong. If you want the people in the developing world to contribute to the OLPC and their own country, they need a "View Source" button. If not as children, then they will reap the benefits when they grow up.
It is rather fashionable to look down on Geeks as Lost Boys who don't want to grow up and who's opinions can safely be ignored. That vision gave us Vista. But these are the people that succeeded in making the impossible true. They all REALLY understand what they are doing. Some of the best software architects on the planet, or their students, were one time or another involved in these decisions.
OLPC in Education
The same holds for the educational aspects of the OLPC. It has been fashionable too to bash Alan Kay's ideas, but it will be difficult to come up with a living specialist who is both better and willing to tell us he is all wrong. It has been written many times, even by me, the OLPC is about communities that simply do not have enough teachers to teach all the children. There are too many of these communities (around 900 million children are affected) and they are too diverse to even contemplate designing curricula for all of them.
The OLPC decided the best they could do was to help those communities (teachers, children, and parents) to cope with this shortage and adapt the content of the laptop and the teaching. It is no use to try to integrate the laptop into the curriculum as this won't be possible anyway (there often aren't even books to adapt), and this won't increase the productivity of the teachers enough to off-set the costs in hours of the integration.
In short, "Never judge a man until you have walked a thousand miles in his shoes."
(I know the joke version, but it is you who will then be a thousand miles from home)
MP3 and Flash
To get back to the last comment:
"The XO is useless because you can't print, play MP3, nor watch Flash"MP3 is patent encumbered, so can't be distributed. Anyhow, these children can hardly be expected to have large MP3 libraries laying around. I think they can manage with Ogg (which has better codecs).
Flash is a resource hog and, in my opinion, a largely useless format only invented to block saving movie streams. There is an open source implementation, Gnash, and it will be possible to include it into the software mix if needed. Still, Sugar has its movie format, so Flash would be needed only for YouTube. Given the current problems with getting these children on-line, I don't think the education boards will view the inabillity to download YouTube movies a major problem.
XO Printing
Getting down to printing from the XO
Printing has been promised for this spring. Personally, I would give priority to PDF (eg, in a PDFCreator set-up). PDF is a good archiving and interchange format. Native PDF printers are arriving, and whatever Linux printing architecture will be chosen in the end, it will be able to handle PDF.
Not that paper and ink are so cheap in the developing world that printing should be a priority. Think of taking a regular laser printer to the tropics (40C/120F) with 95% humidity, no airco, 200 miles from the nearest distributor of toner and paper. Guess how long this thing will print. Use an ink-jet printer, calculate the cost per sheet.
I can understand the lack of priorities in this department. It might be a negative outcome of the G1G1 program that the OLPC now feels obliged to spend their scarce time to write a printing infrastructure for the XO.
















