Wednesday, April 25, 2007

the india hole in the wall experiment

What can we learn from the india hole in the wall experiment, conducted by Sugata Mitra?

That children, aged 6 to 12, including poor children with little education, can quickly teach themselves the basics of computer literacy, without any adult help whatsoever

What basic computer literacy did they learn?
  • Ability to use the mouse, to point, to drag to drop
  • How to draw, eg. with MS Paint
  • How to browse the Internet, to find things of interest to them
The key thing for this to work is that teachers and other adults get out of the way. "Minimally invasive education". Curious kids can train themselves to operate a computer at a basic level

Therefore if we can provide computer access to these kids then to teach them these basic skills is a waste of teacher time and money. They can do it themselves!

Then teacher time can be freed up for more important things, such as Alan Kay's list of non universals:
  • reading and writing
  • deductive abstract mathematics
  • model based science
  • equal rights
  • democracy
  • perspective drawing
  • theory of harmony (?)
  • similarities over differences (?)
  • slow deep thinking
  • agriculture
  • legal systems
Children will learn the computer basics in this way. But not adults.

Doesn't this show that Negroponte's OLPC idea of levering the children to speed things up in developing countries is a good idea, that up to a point it will speed things up:
It's about levering the children themselves. Children are extraordinary - we don't give children enough credit for what they can do. I mean, we all know when your cell phone breaks you give it to a 12 year old, when you don't know how to use your laptop you ask your kid. We all know that! And yet we sort of think that they have to, after the age of 6, stop learning by doing and learn by being told.

And, in the best of situations, a child in the developing world is in a classroom 2 1/2 hours a day, five days a week, which averages a lot less than 2 hours a day over the week. So, even if you make that experience better, you're only dealing with a small part of the problem. So what we did, we said to ourselves: "How can we actually leverage the child for a lot bigger part of the day, and do something particularly for the poor children in remote parts of the developing world?" And we set to do what we call the "$100 Laptop"
- Negroponte: "levering the children"

Tuesday, April 24, 2007

graphing with Etoys

Click image for clearer view of the code

Etoys has special container objects called Playfields which can be used for assembling parts, staging animations and also graphing.

The screenshot shows some code which graphs the motion of the ball on the y axis. The ball is in one Playfield, the graph is in another

Unfortunately, the incredibly annoying Squeakland site does not generate a direct URL for this valuable resource. To get the instructional pdf go to, then click on site map, then click on Etoys Project Guides and then download Grapher.

Monday, April 23, 2007

Comparing Game Maker with Etoys / Squeak

Game Maker is far more popular than Etoys / Squeak as revealed by a rough and ready Google search:
  • Game Maker 27.7 million hits
  • Etoys 2.5 million hits
  • Squeak 5.7 million hits

More significantly, the Game Maker forum is very active. I just went there and there were 149 current active users. I've recently subscribed to the Squeakland forum and receive one or two messages a day. No comparison.

Why is Game Maker far more popular than Etoys / Squeak? From the following comparisons it seems clear to me that Etoys / Squeak is a superior program which has been poorly promoted and which also has some quirks that slows its uptake.

1) The name. Game Maker makes a direct appeal to the millions who want to make games. This is a significant but achievable challenge, to make a game. To whom does the name Etoys / Squeak appeal to? Hard to say but it doesn't quite cut it.

2) With Game Maker the concept is simple, clean and appealing. It does one sort of thing and does it well.

On the other hand, while Etoys is developed for young people (with its drag and drop features) the concept is not so clear. You can make games with Etoys but that is just one of many things you can do with it. Moreover, this other stuff is not very clear from the website. Initially, there is just vague talk about "multimedia"

Apart from Etoys, Squeak itself is a multifaceted, ambitious program which branches out into Seaside (dynamic web apps), Croquet (collaborative 3D multi-user online applications), Sophie (digital media assembly tool) and others

With Game Maker all the energy goes into developing Game Maker. With Squeak, the energy goes in all sorts of directions, not just Etoys.

3) Mentioning either of the words Education or Learning is potentially a big turn off for young people. The Game Maker website front page does not make this mistake. But the Squeakland website falls straight into it, with it's banner "come play and learn with us"

4) Documentation and Tutorials.
With Game Maker these are clearly presented with comprehensive tutorials available and labelled for different skill levels: Beginner, Intermediate, Advanced.

For Etoys the English website (Squeakland) is a dogs breakfast with bits and pieces scattered more or less at random throughout the site. It took me many visits to put it all together.

5) Platform.
Game Maker is Windows only whilst Etoys / Squeak runs on all platforms

6) License and development community.
Game Maker is Proprietary, Etoys / Squeak is free and open source. The main developer is Mark Overmars and he has been very energetic in bringing out 7 versions in as many years. It is evident that the Etoys / Squeak development process is much more messy, with no benevolent dictator stepping forward (as there is for some other FOSS communities). This 2004 paper by Ned Konz is a frank assessment of some of the problems within the Squeak development community.

7) Drag and drop
Both programs have great drag and drop features to help a beginner make a quick start. I would say the Etoys version is superior because the variables can be seen on the same page as the animation (and even altered while the program is running, due to Squeak's late binding)

8) Multilingual diversity.
Game Maker is available in Dutch and English. Etoys / Squeak is much broader than that and attempts to reach all audiences. The Site Map page of the Squeakland site boasts links to communities in Japan, Germany, Spain, Nepal and Brazil.

9) Philosophical and educational base
Prof Dr Mark Overmars teaches Game Making at Utrecht University in the Netherlands and is clearly an expert in that area.

Alan Kay (the head of the Smalltalk team from which Squeak / Etoys arose) would have to be classified as one of the most original and creative thinkers of our time both for his own inventions and extraordinary breadth and depth of knowledge

10) User Interface
Game maker has a conventional Windows UI

Etoys / Squeak uses the innovative Morphic UI, which most users have not seen before. Morphic is great once you get used to it but it is different from what is currently running on 95% of the world's computers.

11) Web
Game maker games do not run on the web. Etoy projects do.

12) 3D
Both Game Maker and Squeak have 3D but the 3D in Squeak, which looks superior, is not currently part of Etoys.

13) Quirks
Game maker is a specialist but conventional Windows program

Etoys / Squeak has quite a few quirks. eg. on the Windows platform you have to use the middle mouse button to see the morphic haloes

14) OLPC
Unlike Game maker, Etoys / Squeak is being distributed on the One Laptop per Child Project, which might solve some of its current distribution problems :-)

Sunday, April 22, 2007

the frustrating but eventually successful search for etoy resources

The squeakland site is poorly organised. It has taken me several visits to find a range of good tutorials and exemplars. I'll try to act as a guide here to save others time in getting started. Read this in conjunction with an earlier draft, guide to learning etoys / squeak, which mentions a couple of great articles by Alan Kay, the Drive a Car tutorial and another good tutorial page.

These are good starting points but after having read the above Alan Kay articles and doing the above tutorials I was still missing a systematic guide to learning other features of Etoys. So I've ordered the Etoys book by B.J. Allen-Conn and Kim Rose

However, recently, I have found some more good tutorials on the site and some more examples that run on line.

The trick is to click on the site map button (unfortunately, this is not a separate, distinct URL) from the squeakland home page and then the EToys Project Guides link which takes you to four projects which can be downloaded as pdfs:
  • How To Graph Motion
  • Your Own Lunar Lander
  • Your Eyes Can Be Tricked
  • Help The Salmon Find Its' Home
Systematic introduction to Etoy themes. Just the sort of thing I was looking for

Also from the site map page there are links to Elementary School Projects, Middle School Projects, Squeak in High School and Squeak in University. These are on line projects which run in your browser and can even be edited on line, due to late binding

It's annoying that some of the projects (especially on the Elementary and Middle School pages) don't load, indicating poor site maintenance. However, some of them work and a lot can be learnt from them once you know the quirks (mouse middle click and the blue inspector eye halo)

From the site map page I also learn that squeak might be big in Japan, Germany, Spain, Nepal and Brazil since there are separate links to those countries

NB. This excellent page from a French site gathers together a wide variety of Etoy projects in one place

NB. This great page containing some more advanced projects, from a German site, is also very interesting

Great characteristics of Etoys / Squeak:
It is open source, cross platform and multilingual. Etoy projects can run and can even be edited on the web. Etoys has a user friendly drag and drop features. The code and the animation can be viewed together dynamically on the same page.

Etoys OLPC and Vtoys

You can install and run OLPC version of Etoys on Windows fairly easily. The four step method is explained 2/3rds of the way down on the Etoys page of the OLPC wiki. I just did it then using Method 1 without any installation problems. However, there are some interesting projects in the ExampleEtoys folder, which came with the OLPC etoys image, which I can't figure out how to run.

On the bottom of the same page there is a mention and link to Vtoys, a visual programming language built with Etoys, available only in French. This article, Squeak, eToys, V-Toys: open software source of programming and creation, explains:
Visual Toys is a brick collection programmed with scripts eToys, which are assembled in a visual programming language without text and intended for the young children.
Following one of the links at the bottom of that article I found this excellent page of online Etoys created by kids and adults

Friday, April 20, 2007

guide to learning etoys / squeak


Partly because it's packaged with the OLPC and so will be used by millions over the next few years. I want to be part of that process and learning Squeak is one way to become involved.

Partly because Squeak is amazing but the overall advocacy is not the purpose of this article, so I'll leave that for now. The two recommended articles below by Alan Kay will help get you started here.


This is a bit tricky because of these quirks: mouse buttons, User Interface and patchy on line documentation. I'll explain these as I go along

Good articles

Read these carefully, if you haven't seen squeak / smalltalk before there are some quite different ideas in there. I certainly didn't appreciate all the nuances until after I had actually played with squeak as well
Squeak Etoys Authoring and Media
Squeak Etoys, Children and Learning

First Projects

The tutorials here are good but don't start with Kedama, which is more advanced, do that later. Scroll down to the Painting, Handles and do those first. You need to do the Handles tutorial because the morphic UI is different to anything you have used before.

Then go to Drive a Car tutorial, which is well documented on line

Edit on line in a browser. Amazing!

Late binding means that you can inspect and even edit projects on the web. In puzzling how to do a simple animation I came across the term "Holder" but didn't know what it was. Later on I read about it in one of the Alan Kay articles mentioned above. But I still wasn't able to use it correctly. However, by going to Sam's face ball animation I could see how it worked directly. I was still puzzled though as to what sort of entities were inside the holder. But I could figure this out directly by middle mouse clicking (note the mouse quirk) on the objects in the holder and seeing their names: Sketch1, Sketch2, up to ... Sketch7, that they had all been made from the initial Sketch.

Sam's script is on display too and by reading that in conjunction with the Alan Kay article I could figure out how to do it

The screenshot shows the light brown holder containing the elements of my imitation of Sam's Face Ball animation, but better to click on the link above to see the online dynamic version

So, I have now reach beginner status. Where to next?

Some things are so annoying and I don't know whether that is my ignorance or a deficiency in the program. For example, when using Paint Undo only goes back one step, I don't know the keyboard shortcuts and I can't copy and paste a part of a drawing. Where is the help, mentoring, documentation? This is a definite problem. Everything is patchy, nothing is comprehensive.

I have searched the web more than once and the best I can come up with is this:

Buy the B.J. Allen-Conn and Kim Rose book, Powerful Ideas in the Classroom (squeakland, amazon)
It includes 12 "Etoy" projects in a sequential curriculum that explore powerful ideas such as feedback, increase-by, acceleration and gravity
There are other great more advanced books available about squeak but this seems to be the only one specifically about Etoys, the drag and drop where beginners will start.

Join the Squeakland discussion forum. Visit the archive to check out the quality of discussion. Recent example of an interesting comments I found there:
Eric Eisaman (4th April):
Well, I have been using Squeak Etoys for two years in my high school classes as a means to create physical simulations, presentations, and games. I like Etoys as an initiation to object oriented programming however, at times students students become overwhelmed with Etoys. If this happens frequently within a specific class of students, I have them use "Scratch", available at . "Scratch" is a gentler approach to programming than Etoys yet lacks some of the advanced functionality. Next year I may start everyone in "Scratch" before moving on to Etoys. The more advanced students have shown some success in creating with the latest Full Squeak image without using Etoys. I am however, limited in my own abilities to help the advanced students. I have done a few tutorials with Tweak yet lack enough understanding to use it in class. I feel that Croquet will be a great option for my classes, but I continuously receive callout errors when the program tries to access the OpenGL library which I know is installed. I think it's important for the students to see growing levels of sophistication built on the same basic virtual machine going from Scratch to Etoys to Squeak to Smalltalk
Also it's great to see that experts like Alan Kay, Kim Rose, Bert Freudenberg, Ron Teitelbaum and St├ęphane Ducasse are contributing to this forum!

Wednesday, April 18, 2007

kids teaching teachers

Great article by Sylvia Martinez, A Generation YES for One Laptop per Child, at OLPCNews site. Another background article here by Sylvia on why she wrote that article for the skeptical OLPCNews.

Sylvia's core idea is that kids teach teachers how to use modern technology
Our model is successful because teachers love children. They became teachers to inspire and create the greatest range of opportunities for kids. Even if the system can sometimes squash that instinct, teachers will embrace anything that returns them to their passion for changing the world. The OLPC also offers that opportunity and will engage and inspire many teachers.
Teachers learning from kids! Isn't that an essential part of what real learning is all about? That is the not so hidden agenda behind OLPC.

conditionals in EToys

Keeping a car on the road using conditionals and colours in EToys

The screenshots gives an idea of how if statements work in EToys / Squeak. The car goes forward when brown is underneath, turns right when the yellow is underneath and left when green is underneath

I worked this out by visiting the Squeak in Elementary School page illustrating work by 5th graders in New York and 4th and 5th graders in Los Angeles. These projects can be dynamically run and even changed on line.

I haven't worked out yet how to publish a project on line so that it will run.

late binding references


static, dynamic and late defined (Ron Teitelbaum)

If you wanted to animate a sequence you would draw your background, then design your cells, draw them up, color them and then film them in order.

This would be an example of static binding. Everything is designed and created before filing starts.

If you had a sequence where while the film was running everything was changeable that would be dynamic binding. The system running the sequence doesn't need to know before it runs what it is going to do.

Squeak uses extreme late binding and you can see that because the program is actually running while you use it. You are using squeak to program squeak. This is much different then the programs where you write code, compile it (which does the binding and checks for errors), and then run the code.

Matching socks analogy (Mark Pilgrim)

Late binding is throwing all your socks into the one drawer. Early binding is matching them beforehand.

"I have a perfectly good system. I take all the socks out of the dryer and throw them into my sock drawer."

walnut analogy (Ian Piumarta)

In conventional programming languages, the programmer has control over how to write the source code and what behavior to obtain, but all other things (syntax and semantics of the programming language, compiler, run-time; and on a lower level, system libraries, OS, hardware) are rigid and imposed from the outside. The typical programming languages are disastrously early-bound, provide insufficient meta-data, no reification of implementation, and they artificially hide the internals: they're like walnuts, hermetically sealed and taking big time (just like for a squirrel) to get at the juicy stuff that's on the inside of the shell.


Software: Art, Engineering, Mathematics, or Science? (Alan Kay)
Software engineering is complicated. It is not yet as scientific as engineering. It took many years to progress from building the pyramids to building the Empire State Building.

I think this is what needs to be done to finally create software engineering. We need to do more building of important software structures, and we need to do it in a form that allows analysis, learning, and reformulating the design and fabrication from what has just been learned.

There seems to be a bit of a chicken and egg problem here. If we don't really have an engineering discipline, then won't it be too difficult to make big constructions that are also understandable enough to learn from? And won't the mess we've made be too difficult to reformulate to give us a chance to understand whether our new findings really have value?

I believe that the secret weapon that can be used to make progress here is extreme late binding. Of what? Of as many things in our development system as possible.

One can make a good argument that most of the advances in both hardware and software design have been facilitated by introducing new latebinding mechanisms. Going way back in hardware, we can think of index and relocation registers, memory management units, etc. In software, we went from absolute instruction locations and formats, to symbolic assemblers, to subroutines, to relocatable code, to hardware independent data structure formats, to garbage collection, to the many late binding advantages of objects, including classes and instances, message sending, encapsulation, polymorphism, and metaprogramming.

design is hard (Alan Kay)
The biggest problem in programming is not so much the strange seeming nature of the raw materials, but that as things scale up, architecture dominates the materials. I.e. design starts to become more and more of a factor. And design is not learned in a day, even with the best materials and environment. The very best programmers and computer scientists I know -- who have absolutely no problems with raw materials -- still have great difficulties with design for most systems that are worth doing. This is one of the reasons we like to make things late-bound: we don't know what we are doing half the time, and are constantly finding out things that we needed to know earlier....

In the case of designing computer stuff, there really isn't enough of a body of great design yet to provide thousands of applicable patterns, and so even seasoned professionals tend to flounder. And, again, better late-binding of everything extreme late-binding) really helps us flounder our way towards some of our goals

Why is Croquet built on Squeak?

Croquet required a number of capabilities that could only be provided by a true late bound, message sending language. Croquet's relationship to Squeak gives Croquet the property of a purely object-oriented system. This allows for significant flexibility in the design and the nature of the protocols and architectures that have been developed for Croquet. An essential part of our development process is Squeak's ability to keep the system running while testing and especially while making changes. Squeak allows even major changes to be performed incrementally and they take no more than a fraction of a second to effect. Another key feature of Squeak is its generalized storage allocator and garbage collector that is not only efficient in real-time (so that animations and dynamic media of many kinds can be played while the garbage collector is collecting), but that allows reshaping of objects to be done safely. It may be interesting to note that when we first set out to build Croquet, we intended to do it in Java. However, we had to abandon that approach because Java lacks needed meta facilities.

Tuesday, April 17, 2007

EToys (late binding)

The image comes from my replication of the Drive A Car tutorial from the squeakland website. You make a car and then write a script to make it move. Then add a steering wheel and modify the script to control the steering. The blue lines on the diagram originate from the pen down option, so I can see the path made by the car.

Late binding in EToys (Squeak) blows me away.

Variables and their values can be altered while an animation is running in front of you!! This has enormous educational implications in the teaching of important maths concepts.

The commentary in the Drive a Car tutorial is very valuable as well, particularly the points about:
  • the value of allowing children to play with icons while gradually and subliminally gaining fluency and appreciation of the power of symbols (described as the "Montessori game")
  • the relationship between play of this type and real mathematics: "It is our job to make lots of little aha's happpen during the play, not to disrupt the play. We are not trying to teach them specific math at this point, but how to be real mathematicians. The children have to play with math to do this."

Then, after listening to Alan Kay's 2003 ETech presentation, I become annoyed that something so educationally valuable that was invented decades ago in LISP and SmallTalk has been denied to generations of children.

For a video of Alan Kay doing this go to this page, scroll 2/3rds of the way down the page and download the video titled Kid Program (Med-res - 57 MB)

Alan Kay explains how late binding is also valuable for experienced programmers:

Most software is made by programmers creating text files that are fed to a compiler and loader which makes a runable program. One can tell how early- or late-bound a system is by looking at the things that can be changed while the program is running. For example, it is generally true of C based systems that most changes in the program have to be done by going back to the text files, changing them, and recompiling and loading them. This is even true of Java. Organizationally, this often leads to at most one or two system builds a day before most bugs can be found.

A late-bound system like LISP or Smalltalk can change pretty much everything while it is running -- in fact, both these systems are so good at this that their development systems are written in themselves and are active during runtime. For example, a program change in Smalltalk takes less than a second to take effect, thus many more bugs can be run down and fixed.

But late-bound has some deeper and more profound properties that include abilities to actually change the both the structure and metastructure of the language itself. Thus an important new idea can be assimilated into the constantly evolving process that is the system.

Another aspect of late-binding is the ability to change one's mind about already instantiated structures that are already doing work. These can be changed automatically on the fly without harming the work they are already doing.

Etc. Wheels within wheels.

These ideas are not new, but they are quite foreign and out of the scope of the way most programming is done today
EToys software is being distributed on the OLPC. Information and picture gallery

Monday, April 16, 2007

instrumental reasoning: enemy of progress

Early in his Etech 2003 presentation Alan Kay identifies instrumental reasoning as the enemy of progress

Instrumental reasoning - new tools and ideas are evaluated according to the current goal structures of the evaluator, the idea is accepted or rejected based on whether this new thing contributes to the current goals

Most people use instrumental reasoning. It is the most dominant form of human reasoning. Learn a system and then stick with it

The printing revolution happened 150 years after the invention of the printing press by Gutenberg. Those who understood the potential earlier were in a tiny minority.

The section of the population most likely to reject instrumental reasoning are children

"to think as no human brain has ever thought"

The hope is that, in not too many years, human brains and computing machines will be coupled together very tightly, and that the resulting partnership will think as no human brain has ever thought and process data in a way not approached by the information-handling machines we know today
- Man-Computer Symbiosis by J. C. R. Licklider (1960)
Ron Baecker describes here how his career was inspired by Lick's initial vision.

47 years on from Lick's original insight, it's sad that many people in education still don't get it. Alan Kay says there has been no innovation in computer science for many years ("... most undergraduate degrees in computer science these days are basically Java vocational training"). I think we need to go back to when there was real innovation to rediscover the spirit of those times:
Licklider’s history suggests the influence of six interacting sources: Trained in psychology, math, and physics, Lick became an accomplished scientist and psychoacoustician. He interacted with and was in turn influenced by pioneering cognitive psychologists. He came under the influence of radical new ideas in cybernetics, information theory, and neuroscience being developed by amazing MIT mathematicians, scientists, and engineers ... In doing science, he was both experimenter and model builder, using analog computers and, by the 50s, digital computers to analyze data and build models. Today he would be described as a hacker
- Man-Computer Symbiosis by Ron Baecker

Friday, April 13, 2007

OLPC: Nigeria

This Nigerian school is the first test deployment site for OLPC's XO laptops. Source

"Beyond politics, logistics and planning, seeing real children hold the laptops was a breath of fresh air"
- Khaled Hassounah

Hassounah's job makes him simultaneously a tech guru, project manager, diplomat, cultural coach and public relations contact. As a technical officer, he explains to interested countries how the initiative works, detailing the laptops' unconventional design and relating the governments' side of the bargain--like providing rural distribution and localized content
- Plugging Africa's kids into $100 laptop

Nigerian children playing with their laptops

Hassounah shows the students how to boot up their open-source laptops

The local community built this school, now well worn, from plaster, wood and tin. One hundred fifty students and three classes cram into the two-room building

OLPC installed a satellite dish, power generator, and modem to give the school electricity and Internet connectivity

Sunday, April 08, 2007

Negroponte: "levering the children"

Some people are upset by Nicholas Negroponte when he speaks about "levering the children" in connection to the OLPC Project. They are arguing that he is being too critical of mainstream teacher thinking in his openly stated approach of using the laptop to directly empower children. I've joined Sylvia Martinez in the comments of this thread of One Laptop Per Child News in support of Negroponte's levering the children approach.

Here are some long extracts from a Negroponte talk where he outlines his arguments in more detail. It's clear that OLPC is a well thought out radical approach to education, not just trying to mimic the deplorable dumbed down way in which we generally use computers in education in developed countries. This follows from the core principles of the project - child ownership, low aged, saturation, connection and free & open source.

Nicholas Negroponte:

Well, somebody introduced me recently as the "Good Bin Laden" and this has indeed sort of seemed to be the case because some people look at the $100 Laptop as a form of terrorism. It has terrorized the industry in many ways. I look at the problem in the following way.

You are not going to have peace in the world as long as you have poverty. And, the only way to eliminate poverty is education. If you focus on education, particularly primary education, along the way you are going to have other second-order effects like the environment, like lowering the cost of health education, lots of things. If you focus on education you can do a great deal more than if you look other places to solve the particular problem.

There are 1.2 billion children in the world. Fifty percent of them don't have electricity, 50% of them live in the rural parts of the world. The reason that's important is that when you live in a rural part of a poor nation, even though that poverty is a much better form of poverty than urban poverty which is the absolute worse, it's also so primitive that children will often have as a school a tree.

Or some of the teachers won't show up, or the teachers will have a 6th-Grade education at best. So, if you look at that and you say to yourself: "How do I fix that? How do I deal with that?" It is not by training teachers, it is not by building schools. In all due respect, it's not about curriculum or content.

It's about levering the children themselves. Children are extraordinary - we don't give children enough credit for what they can do. I mean, we all know when your cell phone breaks you give it to a 12 year old, when you don't know how to use your laptop you ask your kid. We all know that! And yet we sort of think that they have to, after the age of 6, stop learning by doing and learn by being told.

And, in the best of situations, a child in the developing world is in a classroom 2 1/2 hours a day, five days a week, which averages a lot less than 2 hours a day over the week. So, even if you make that experience better, you're only dealing with a small part of the problem. So what we did, we said to ourselves: "How can we actually leverage the child for a lot bigger part of the day, and do something particularly for the poor children in remote parts of the developing world?" And we set to do what we call the "$100 Laptop".

The reason we did that versus telecommunications, is that telecommunications is going in so many different ways, whether it's Wimax, WiFi, some of the new satellite concepts using 3G, etc. There are many things happening. And I can maybe move some deck chairs around, make a little effect, but that's happening. The laptop wasn't happening.

One of the reasons the laptop wasn't happening is that there is a phenomenon which I highly respect. I understand where it comes from. In full disclosure please note that I am a board member of Motorola, we do this at Motorola! And what is this? This is something that HP does. The natural tendency of electronics, we all know, is to drop in price roughly 100% every 18 months.

This is really its natural tendency, to do this. So, what do you do? You add features. You add features and you hope that you add features fast enough so that at least you keep it stable, maybe even raise the price a little. I don't belittle that phenomenon. That's a very natural phenomenon. Then, add to that phenomenon a second natural phenomenon that is a computer programmer writes a piece of software. What do they do? They want to make it better. How do they make it better? They add features! And they do this invariably.

Every new piece of software in my mind is distinctly worse than the predecessor. It's fatter, and it's got this and that. So, suddenly, the fat lady can't sing! It's like a very fat person who is using most of their muscles to move their fat. So, if you look at these two situations - trying to get laptops connected to kids in rural places and trying to get the price down, you have to rethink a laptop completely. This isn't a matter of just looking at component costs.

There are two ways of making an inexpensive device, as applies to a laptop. You take cheap labor, cheap design, cheap components, and make a cheap laptop. This is done all the time. If you travel in India and China you see cheap machines that are cheap in the pejorative sense as well as the literal sense. There's a second way to do it. The second way is very rarely done.

The second way is to take very large scale integration, take really cool and interesting design, and take a very advanced manufacturing process where you pour chemicals into one end of the factory and just spew out bipods at the other end, and then take very large numbers. The key is large numbers. What you can then do is to make something that actually isn't a low-cost laptop only it's actually a pretty advanced and interesting product.

So, that's what we set out to do as a nonprofit. Very important; we are a nonprofit organization. Steven and I last night at dinner even argued about this. Because being a nonprofit organization is very important I draw no salary. Somebody said to me when I started: "You must be profit-making, because you will be sustainable and get good people."

Rubbish! My COO earns $200,000 a year, which is not very high. I was looking for a CFO recently, how could I find a CFO that's really good for under $200,000 a year? So, I put out a job description at zero salary, and the queue for the job was endless! People who had such extraordinary careers and wanted to be the CFO of "One Laptop per Child".

So in fact, it's very sustainable at least to get it rolling. So, that's the quick story. It's launching in eight countries. There are a couple of corporations that have been quite outspokenly against it - I think that's a little silly. It's a little bit like arguing against the Red Cross because you don't use Johnson & Johnson Band-Aids, but that's OK. By being a nonprofit our moral purpose is year and I think that the heads of state around the world that are advocating this and are now part of it as a movement is really very, very important because it's different than going in.

HP has shareholders, I have no shareholders. And I picked HP as a name, it could be IBM, anybody, they have shareholders. They have to look at children as a market. I look at children as a mission. It's very, very different. So, maybe Steve and I will go back and forth on this, but I think that the "One Laptop per Child's I'd like to leave with you as an impression

And, such a big group, I actually have a working, assembled model with me... Not model, sorry, I have the habit of calling it a model. It's not a model, this is really one that came off the assembly line, it's actually machine No. 5 - and it really works. Some people have said it's a crippled, small machine. Rubbish! This does something your machine can't do.

It's sunlight-readable, it uses so little power we can hand crank it, and it's a meshed network. When you set it up, even when it's off it's a little router, it's a little Cisco router type that's inside. So, a lot of the technology that is in here is really very, very sophisticated and the people who worked on it (I'll leave it here for people to play with afterwards) - the people who worked on it really did, quite frankly, an extraordinarily good job.

and later in the same talk:

The economics are really very simple. If you look at the $100, which in the beginning is going to be about $150 anyways, if you look at the $150, that's a big amount of money if you look at it as $150. If you amortize it over 5 years which the World Bank and the development banks are going to do, that's $30. $30 per year over five years, we know how to connect every child for $1 a month, unlimited 7/24 connection, so that's added another $12, that's $42. That's the start price and drops to $32 dollars in about 24 months.

Look at that $32 which is the end of 2008 price and what you have to compare it is, in your country they spend $1,700 per year per child in primary education. If you're spending $1,700, my God, $32 is meaningless, meaningless! Argentina is the richest or second richest country we're dealing with. Now, in Rwanda they spend $150 per child. Suddenly, the $32 is a big piece. But, the $32 is going to leverage, in this case, the kids to do something that wasn't doable before.

So, even though the economics as a percentage of what people are spending on education is a bigger percentage, it may have a bigger effect. One common question I get is why aren't we doing it in the United States? We're not doing it in the United States because the average is $8,000-$10,000 per year per child for primary school. When you're spending that kind of money it really doesn't matter, you know. Plus, you don't need the hand-winding; you don't a lot of the things. Do you start with older kids? No. You don't start with them.

Politicians always want to because those are the kids who are going to be first of all in the job market, and second of all perhaps voting for them in a pretty short period of time. To start with 6-year-olds is a very long-term investment. And it's not like building a tunnel or a highway which may take fiver or six years but you see a lot of construction going on; it kind of looks like you're doing something.

Education doesn't have a payoff as quickly. So, the reason you have to start with the very young children is that if you screw up primary education you spend all your time fixing it afterwards. And, most kids don't get to secondary education anyway. I've built five schools in Cambodia, primary schools, in the absolutely remotest parts of that country. The town that I first did it in which is where the first laptops went five years ago, very much an inspiration for the $100 Laptop, the average income is $47 a year in that town. This year I heard in September that twice as many students showed up for first grade.

That's what I call a success! Were they coming from other villages? No. What's happening? The 6-year-olds were telling the other 6- Year-olds: "You know, school is pretty cool. You might want to come." The parents started going to the school, looking at it, "What's happening?" And, suddenly, twice as many kids instead of being in the fields were in school. That sort of thing to me is so compelling, when I see that happening, that I think that the economics is really not the issue. A common, sort of the "everything else" part of your question, it happens a lot.

"Why would you give a kid a laptop when they're starving and they don't have primary medicine and, you know, they have health problems, and they don't have a roof, etc. etc.?" Look, when you're starving all that counts is food. If you're unhealthy all that counts is health. If somebody says: "Why give a child a laptop?" I quickly say: "Substitute for the world laptop for education' and you'll never say that sentence again." And, it's true.

So the question is: "Do you believe that this can be part of and an important piece of education?" If you don't, then don't do this! It isn't for you; it isn't for your country. If you believe it is, then it's not "versus" I mean, nobody sits around and says: "Should we do education or worry about food?" Not both. They're always done in parallel. The books argument, that's the easiest. Brazil, I know the number by heart, its $19 per year per child in primary and secondary school, that's almost $20 which is $100, amortized over five years.

The kid gets two books, maybe three books. Maybe there's a library and so on. But, you can just justify this on books, because only rich kids have the extra books like atlases and reference books, let alone all of the other pieces of literature that you'd want to have access to. If you're connected by Google or whatever to the internet you've basically got all books, most books. And the amount of people, the amount of goodwill... Paolo Coelho sent me a piece of e-mail two days ago and said: "I'm donating all my books." I thought, well, I hadn't even thought about that but if people want to donate their books and so on, we'll take their books.

So, I think we have a much better chance of providing them books in which the economic of books I call that the Trojan horse. We go to say Mr. Head of State or Mrs. Head of State. Think of interest as a book. Just books, just textbooks. In most states (the United States is not one of them), most states control the textbooks, use the textbook channel. The Federal channel in Brazil does the textbooks. You may think of that as a liability but we use it as a feature, distribute through that channel, and it's a Trojan horse approach.

It appears gently as a textbook and then at night the kids come out and use it as a laptop. That's the Trojan horse approach with sort of a book story as we've thought about it. So, books are an easy one, and the economics are not hard. These are not big numbers. They're big numbers if you take the population the Minister of Education in China has 220 million kids in primary and secondary schools. If you multiply 220 million times $100, that's a lot of money!

But, you look at what they're spending per child already, and take a small percentage of it; it's not a hard story.

Saturday, April 07, 2007

Micro ... who?

Microsoft is Dead by Paul Graham

Read the whole thing, it's short, well written and deep. It gave me a great feeling of liberation that this is finally official, ie. that a real expert has said it. It's not a bash Microsoft article, it's just taking the current trend and extrapolating. Paul Graham predicted the main reason back in 2001, with his essay, The Other Road Ahead, that the new way is web apps, that the old way is desktop

Unfortunately, in Schools we will have to wait around for a while longer while the corpse rots. Schools lag xx years behind the times, substitute some figure between 10 and 100 for the xx

Paul Graham has his own reasons, very good ones too:
  1. Google
  2. Ajax
  3. Broadband
  4. Apple, surprisingly!
I knew some of this already (through reading other Paul Graham essays) but I think there are other reasons too, like the OLPC and the leverage that will provide for new ways of doing things, particularly the rise of free and open source software

Bill Gates has left the sinking ship and hopes to make a name for himself helping the poor

Friday, April 06, 2007

OLPC - irresistable force?

The tremendous positive potential in the deliberately designed intent of the OLPC project is shown by its core principles (worth reading in full) of child ownership, low aged, saturation, connection and free & open source. By "deliberately designed intent" I mean all of the hardware, software and educational & political intent of the project

Given where it has already got to it is very hard to see how the OLPC could fail although its positive effects can be slowed down. Some thoughts about that:

Some Governments won't buy it. eg. There were reports in November 2006 that the Thailand government had cancelled its OLPC order following the military coup there. Happily this decision now seems to have been reversed and OLPC testing is proceeding in Thailand according to a recent report.

Some adults will suppress it. This is bound to happen but given that it will initially be personally owned by the students, mobile and take home any successful suppression would have to be ridiculously authoritarian to reverse the designed intention. ie. taking the laptops away from the children and locking them up.

Some young learners won't like it or identify with it. This will be the case for some but others will like it a lot. In developed country terms it's much more like a mobile phone than a computer confined to a lab. The Indian hole in the wall experiment shows that impoverished children learn quite a lot about computers without any instruction at all.

Other alternative technologies will turn out to be more popular. Some people, such as Keith Devlin, think that mobile phones are the answer:
Forget the $100 laptop, which I think has garnered the support it has only because of the track record and charisma of its principal advocate (Nicholas Negroponte), the ubiquitous computing device that will soon be in every home on the planet is the mobile phone. Despite the obvious limitations of a small screen and minimal input capability, with well-crafted instructional materials it will provide the developing world with accessible education in the basic numerical and quantitative reasoning skills that will enable them to escape from the poverty trap by becoming economically self-sufficient.
Not sure about this last one.

It is quite hard to see how OLPC could not be successful although the quickness of uptake and degree of success will vary enormously in different regions depending on the attitudes and actions of the adults involved

There are also tremendous gains to be made in developed countries such as falling prices of laptops, increased usage of free and open source software by both developers and consumers, the example in parts of the developing world of a far superior model of computer usage in Schools and the penetration of an alternative user interface (Sugar) with a community metaphor replacing the desktop metaphor:
The mesh network is a permanent fixture of the laptop environment and is represented explicitly in the interface. A zoom is used to relate four discrete views, each of which caters to a particular set of goals: Home, Groups, Neighborhood, and Activity
All of these things represent a huge challenge to the suffocating effects of the Microsoft monopoly which increasingly is holding back innovation and development

Ethan Zuckerman on OLPC

Developing countries authority Ethan Zuckerman (founder of Geekcorps) has written a couple of informative critical articles about OLPC. I'm supplying some extracts focusing on social issues but it's preferable to read the originals in full, since his informed commentary ranges widely over both technical. educational and social / political issues. If you read the first article then check out reply 9 in the comments, from SJ Klein.

In describing my enthusiasm for and concerns about the project to both people working on the laptop and people critiquing it, I’ve flippantly offered an observation: there’s been roughly ten times as much thought about the hardware as about the software, and roughly ten times as much thought about software as about the challenges of rolling this device out to schools around the world ...

Hearing the ambitions for arming students with powerful, programmable learning devices, my skepticism comes to the surface. Not because I think the machine is not up to the task - instead, I suspect schools are likely to fall short. In much of the world - and, unfortunately, too often in the US as well - schools favor discipline, control and rote learning over creativity, self-directed learning and collaboration. No matter how you slice it, the laptop is a deeply subversive creature, likely to undercut the authority of teachers who don’t figure out how to master the device as quickly as their students. Like everyone else who’s worked in IT and international development, I’ve got nightmare stories about computers locked in rooms so no one will break them. It’s too easy for me to imagine teachers threatened by the laptop ordering students to put them away and watch the blackboard

Walter and crew aren’t unaware of these issues. He points out that the machine is a laptop precisely so students can take it home and learn with it in spite of their teachers. To encourage teachers to experiment and get comfortable with the devices, it will be easy to undo changes to system configuration, and to reset the machine to a stable distribution

But really taking advantage of the potential of the laptop requires changing the entire ecosystem of education in the developing world, a process that’s going to require more time than the year or two after laptops are distributed… and the efforts of people other than very bright MIT professors. The scale and scope of this project means that a large portion of the questions I most want to ask - how will this be used in the classroom? will teachers accept it? how will kids cope if machines break or get stolen? what happens when people use machines to do decidedly antisocial things? or creative and entrepreneurial things? - are really hard to answer until the machine is out in the field. I wonder out loud if it would make sense to do a small pilot before the project goes further - Jim points out that the current plan to distribute five million laptops in five nations next year is a pilot - when you’re talking about building and distributing more than two billion devices, a few million is just a toe dipped into the water

Tuesday, April 03, 2007

the $200 developed world laptop

Quanta has announced that it will distribute a commercial version of the OLPC in developed countries that could be sold for as little as $200

There is a great article by Ron Teitelbaum in The Weekly Squeak (great blog!) about this, he makes these points about the changes that the OLPC may bring about:
  • consumer rejection of bloatware
  • increased demand for open source software
  • consumer demand for lower prices of hardware
  • that the $200 laptop could be marketed at a toy for children
The mere existence of the OLPC is changing the way we think about what is possible

Sunday, April 01, 2007

from guido van rossum

A couple of interesting quotes from Guido van Rossum's (the creator of Python) blog reporting on the Python 2007 Conference.

About the OLPC (one laptop per child) software:
The software is far from finished. An early version of the GUI and window manager are available, and a few small demo applications: chat, video, two games, and a web browser, and that's about it! The plan is to write all applications in Python (except for the web browser), and a "view source" button should show the Python source for the currently running application. In the tradition of Smalltalk (Alan Kay is on the OLPC board, and has endorsed the project's use of Python) the user should be able to edit any part of a "live" aplication and see the effects of the change immediately in the application's behavior. (A versioned document store will make it possible to roll back disastrous changes.) This is where Krstic wants my help: he hopes I can work magic and implement this feature for Python ...
The fact that python has become the main language being used to develop OLPC software (and not alan kay's squeak / smalltalk) is an incredibly powerful reason to teach Python in the schools of developed countries

For more discussion on python in education see the Edu-sig archive, which is "the starting point for a community around the Computer Programming for Everybody (CP4E) project, and a general meeting place for educators interested in teaching Python. " (about and subscribe page). There are some great discussions on this list.

About educational political gridlock:
The keynotes had a strong educational theme: on Saturday morning Adele Goldberg gave a passionate plea for improvements to the USA's educational system. 40 years ago, US education was #1 in the world; today it is #19. The public school system is stuck in a complete political gridlock; changes are nearly impossible to make due to the many constraints imposed on schools by federal regulations, fearful and litigious parents, bullying, lack of funds, and many other depressing factors. It also seems that most uses of computers in the classroom have turned into disasters: the well-meaning geeks behind many school computer experiments don't understand the situation in the average classroom. For example, computers show up without sufficient power, are likely to be stolen, or locked up in a safe rather than being used! Schools are in total fear of the internet, which is seen as a source of pornography and influences of the devil
Pretty much the same situation has developed in the Australian public school system

My hope is that within a few years there will be millions of OLPC in the world used in a way which demonstates to the moribund education system in developed countries that there is a better way. That is clearly the educational philosophy supported by the developers of the OLPC as outlined previously in this blog, see "we are impatient..." and seymour papert interview