This should be separated
- What kind of applications are important
- How to make the software
- Which programming languages should be used to teach programming (this should be moved to a seperat page)
- I have made an attempt at this kind of split and created a separate page called Programming for Kids
 Interactive Learning Tools
 What is important to teach
- reading and writing
- agricultural knowledge
- health (communicable diseases, dietary diseases, poisoning, excercise, emergency care)
- the basics of physics, chemistry, astronomy, etc.
- economicly valuable languages
 How to teach
- education games
- knowledge tests
 Usability Checkpoints
 How to make this programms
- compiled programs (C, C++)
- interpreted software (Python)
 Ready to use software
Please give translating infos (software + documention)
 Software in development
A friend and I have developed a program that drills children on mathematical operations. We would like to submit this for the OLPC as part of the software available to the children. It is currently just a build of the base features. There is room for some polish on the interface to make it more "kid friendly". It is relatively small (in size) and was made using python and GTK2 so if anyone is interested feel free to email me at email@example.com Thanx Ahmed G.
 This page is completely messed
To teaching IT knowledge is only a very small part of Education. To teach programming is not main purpose of this laptop.
- You are right that the page is messed up a bit, but you are wrong about programming. Please, if you want to support the OLPC project, read about constructionist education theories of Seymour Papert.
- If children at age of 6 years should start to use the laptop, programming is not realistic. Try to learn the thai alphabet an use the thai script for programming. Even for people with university degree this will be not easy. It's the same for children in thailand if they have to use the latin alphabet for programming. It would be possible to make a programming language that uses thai letters but... there was a german visual basic version that completly flopped because it was compatible to nothing.
- In Brasil, Nigera, China (children first learn pinjin) and maybe India an english based programming language will be not the big problem because the children know something about the latin alphabet. But what about Khmer, Thai, Tibetian, Lao, Ethiopian scripts, Arabic... I really recomend to all people involved in this project to learn a language with a different writing systems. This will give them an idea how difficult it is for the children to use latin and english. Knowing the language also is only the first step. There are different cultures, political systems, religions... that are even more difficult to understand than the language.
- Teaching means learning. We have to learn from people in other countries. The major task should be to understand the cultures. We have to learn!
- Sorry but teaching DOES NOT MEAN learning. And sorry but it seems you have not heard of ToonTalk -- Making programming child's play
- Teaching means learning. We have to learn from people in other countries. The major task should be to understand the cultures. We have to learn!
 MUSEs or MOOs
This was moved to discussion because intranets are not necessarily going to be available to OLPC users
A MUSE or MOO software to run on an intranet.
- The MUSE as an Educational Medium
- MUDs in Education, New Environments, New Pedagogies
- What can my students do at MundoHispano
- This is a silly idea. Software for the OLPC needs to be primarily self-contained and should only expect intermittent ability to communicate. For instance, during the day at school the OLPCs can talk. But in the evening, they will have few opportunities except for close neighbours. In addition, the users can be expected to take breaks for recharging sessions.
 Touch Typing Software
A version of some Touch Typing software and typing games to teach these kids to touch type, the faster you can work with a keyboard whatever age you are then the faster you can get on with solving the worlds problems and letting the world know about your solutions... ' eg unjustified government spending on military budgets that will eventully only lead to one thing, more War to justify more spending etc..."
It should be noted that many keyboards are laid out far more logically than the Latin-alphabet QWERTY and its near relatives in France (AZERTY), Germany (QWERTZ), and elsewhere. Indic-alphabet keyboards have all the vowel signs on one hand and all the consonants on the other, and have the consonants grouped logically by sound type--for example t, th, d, dh, in one column. Also, the spelling rules are much simpler. So it is much easier to learn typing in languages that use these alphabets.
Also someone thing that is not clear but you don't need to be cranking the computer while you use it. Some one else could or if nobody else is available, you can crank for a while, and then type. Or you could use batteries charged from solar power arrays.
I found the follwoing list of Touch typing software that exists already, there are also a number of other existing companies that provide Typing Tutor Software (Mavis Beacon etc) and I would hope that for a project such as this the companies would be able to provide opensource alternatives. http://www.google.com/Top/Computers/Software/Educational/Typing/
Cameron 23 March 2006
 ViOS-like information indexing system
In early 2001 I saw an illustrated post in the alt.binaries.education.distance newsgroup about the ViOS system.
The system offered a third party view virtual world 3d landscape as a way of indexing the web.
A description remains on the web.
There are also some notes on ViOS in the following document,
I wonder if I may please suggest that the ViOS look is worth considering as a way of indexing information sources for the users of the $100 laptop.
It might perhaps be possible to have the display done by a relatively small program and the data in blocks which could be fetched from a server as needed.
9 March 2006
There is also the following article.
SCORM is a well-developed global standard for distributing and reusing interactive content. The client installation for running SCORM packages appears to be large as it uses the Java runtime environment. However, the RELOAD Apache-Tomcat player has been packaged into a 90-MB live CD using PuppyLinux, and work is underway to see how SCORM can be run with less resources, such as with the 90-MB live CD acting as server and with smaller Java client environments such as Blackdown Java. This is one of volunteer projects at PuppyLinux. - Raffy of puppylinux.org, May 6, 2006
- No can do; we will not shipping or supporting Java on the laptops. --Ivan Krstic
SCORM actually has nothing to do with Java. No reason a player couldn't be written in another language.
Java will not be available on the laptops - idea for possible alternatives, one for short term use and one for long term use
I have noticed the comment about not shipping or supporting Java on the laptops in the section above and I seem to remember previously seeing somewhere that Java would not be used on the laptops because it was a proprietary product, even though, I seem to remember, there had been an offer of a free licence by Sun.
One key feature of Java is the portability of Java across platforms and such portability would be good for the future. So I am wondering whether the idea is the following document would be of interest.
If such a system were implemented in ISO/IEC 10646 (to which Unicode is locked) then the possibilities of a portable object code could be achieved without the proprietary aspects of Java.
William Overington 16 May 2006
Are the objections to Java based SOLELY on its non-open status? If Sun follows through on its recent announcement that it will open source Java, will this decision be re-visited?
jeffa 17 May 2006
It's safe to say that the largest impediment is the lack of an open jre from Sun. Sun has been making noises about open sourcing Java under an acceptable license for years. We would need action, not rhetoric. And we're already building out software in Python so the longer that they wait, the less chance it will be worth it to use Java. A couple of months ago we sent an olive branch to Sun and they rejected it so the ball is in their court.
Christopher Blizzard 17 May 2006
Java now is open source. Don´t you think that the OLPC team could ship the images with a JRE in it?
Here in Brazil we have a lot of educational sites with flash and applets. I sucessfully installed Flash but it didn't work with java. Does anybody knows how to do it?
Joao Bosco 19 Jan 2007
I would like to echo the previous comments by Joao Bosco. I am a programmer who has been living and working in Zambia for the last 3 1/2 years and have taught Java classes here to Zambian students. The excellent materials available for Java as well as the fact that it is used as the standard language at the Zambian national university to me is a compelling argument for its inclusion in the OLPC package. Further, it is a 'complete' language with a mature well documented API which helps all developers whether Zambian or American.
As a side note, I would be more likely to contribute to the OLPC project if it supported a JRE.
Thomas Hubschman 31 Jan 2007
I recommand the Ruby language which is a powerful object-oriented scripting language. Its syntax is so clean and terse that it is called "executable pseudo-code".
Almost all the advantages of python are also valid for Ruby. Ruby is one of the fastest growing and at the same time very modern programming languages. Ruby seems even more advanced in its concepts.
Ruby is much more object-oriented than php or python, it is more strict in this. It has great language constructs that make many disadvanteges of strict object orientation go away. So you have pure object orientation without the disadvantages.
Programming in ruby is always described as being "more fun" than in many other languages.
There is also a very nice comic like introduction which children would maybe like: http://poignantguide.net/ruby/ (klick on the link open the book)
Don't teach the childern yesterday's concepts when such beautiful and creative tools are available for free.
- Do you mean all those old Smalltalk concepts??
- I mean let's try and find the best tools for children. Software and the human mind develop very fast. Children's concsiousness is maybe already ahead of those who want to teach them. Don't bore them. I put the sentence in the ruby section, but ruby is only an example.
- How is Ruby anti-boredom??
The section below got deleted in a purge after it had been copied to External Developers. It had been left here so that the original enquirer would know where to look. Please allow a few days so that the original enquirer has a good chance to find the new location.
 Language Training for Developers
All software must be translated to foreign languages and script. Most of the software developers don't know anything about languages with different writing systems. A lerning software, that helps to learn some chinese, tibetian, thai,... words including script, could bring the nessessary knowledge to the developers.
The aim of this isn't to enable software developers to translate the software, but to give them knowledge about fonts and text input methods.
- This idea has been copied to the External Developers page where there is now a link to a page where a start is being made on providing this information.
 Environment Simulator
A SimCity or tamagotchi like software that simulates the environment of the children would be nice. The children have the ability to
- do agriculture(tillage, forestry, ...)
- buy and sell products
The software should display
- health of people (depends on food,...)
- stock of food
The software should simulate bad things
- changed prices at the market
 Video-On-Demand Downloader/Player
Somekind of software as the http://getdemocracy.com which is a video channel RSS downloader, and it can also download using BitTorrent peer-to-peer.
There should be a user-friendly software which can progressively download video onto the student's laptop. A certain amount of Megabytes is automatically used for the videos. To free up space, videos which are mostly spread on the network already would automatically be deleted. The videos on students storage are synched with the videos at the school 100$ 200GB server, as well as the whole thing works in synch with video delivery RSS feeds provided on the internet, be it Google Video or otherwise, as the government can broadcast videos on the RSS feed as being the video curriculum.
I think video is going to be the best educational application, and so, it has got to work smoothly on the laptops. Every class will be filmed using a usb webcam connected to a laptop, the recording goes on the video server so students can consult passt classes at any time. Content of the teaching can also be uploaded to the internet, the teacher can download and view lectures by other teachers as inspiration for the lectures he should make himself in person with his students.. Students will enjoy Documentaries, Cartoons, Films, Debates and video-messages and video-conferencing. There should be a way to easilly use usb-webcams to record small clips, students can store them on the 100$ server and upload them, to thus send and receive video messages to and from people around the world.
 Multi-User Writing
Given that these systems are ideally meant to operate in tangent with a School Server, I can think of a simple idea for promoting writing practice among children. A lot of suggestions have involved establishing a wiki, however I think that an alternative system can be used. Specifically, one can create a user-choose your own adventure type book. Ideally, the story (or stories) would be stored on the school server. Each child would be able to access the root page which is purposely made to be general. Each child would then be able to add a branch from that page (or from consecutively made pages) in which they can write an additional portion of the story and offer options.
For example: Today George is really happy. He got out of bed and went to:
1.) Go see his parents
2.) Go eat breakfast
3.) Look out the window (has not been written yet)
4.) Something else (has not been written yet)
Either the current writer or an additional writer would then be able to select a choice to continue down the story and either add additions or read at one's leisure.
Perhaps it would be useful for whoever is in the Teacher's position to be able to offer corrections in order to prevent others from learning and then internalizing written mistakes.
Okita 5:01 PM, 13 April 2007 (EST