End-user application software
Software Ideas
End-user Application-level Software
Collaborative Editor
A collaborative text editor with built-in chat like Gobby. Of course, the OLPC team is building their own chat application, but in the long run, it is better to adopt an existing project and work with them, than it is to reinvent the wheel. The OLPC may need some different low-level protocol work to cope with intermittent connectivity, but that could be done by improving Gobby.
A similar idea would be the syncronization between wikis. MoinMoin provides such syncronization. A student could work on a page on her laptop and the next day sycronize with the server at the school.
OpenDocument Viewer
An OpenDocument Viewer will be very important. OpenDocument Format (ODF) is a highly-compressed format for documents, a fully open international standard (ISO 26300), and viewers can be very small. It can "flow" much better than PDF can, yet it's easier to distribute and more capable than HTML. Perfect for elecronic books and presentations.
Graphing Calculator
A Graphing Calculator software should be added as well as these devices are quite costly and not widely available. An example would be the TVH-72g Graphing Calculator for mobile phones, see One Graphing Calculator Per Student
Recording & Sending Voice Messages
Recording and subsequently listening to voice messages - this is not very big in "our" world, other than the voice mail on your phone; few people seem to record and attach voice messages to typed emails. But if you don't have phones at all, and no always-on for VOIP, maybe recording a voice clip and sending it could prove to be a popular usage - particularly for the parents of the kid that the laptop belongs to, who may be unable to read and write much?
- Recording is VERY important - say in OGG format. The main application perhaps is taking 'Voice Notes in class. There is need for software to support Voice Note synchronized typed or handwritten (a pen interface is important in many settings, including education) text (typed), sketched and Webcam captured content - and thus capture the flow of information in a class and fuse it with student notes. This would define a new type of "Notebook". Students who missed class would find this invaluable. Should be possible to store Note books on a class or school sever and periodically burn them onto CD/DVD. L Pfeffer
Fonts
The Gentium font has support for lots of languages which use latin and extended latin characters, such as Vietnamese and Pan-Nigerian. It also supports Greek and Cyrillic characters. The currently supported glyphs are on the Gentium website.
The above page includes the following quote:
- Gentium is freely available and may be used by anyone at no cost. It is now released under the SIL Open Font License, a free and open source license that permits modification and redistribution. Our hope is that it will stimulate literature production and elevate extended Latin alphabets to greater parity with the basic Latin alphabet. We also hope it will encourage other type designers to appreciate and support those fascinating and beautiful extra letters.
The Gentium FAQ explicitly notes that the license allows Gentium to be distributed with both open source and commercial projects.
- DejaVu is a font project to enhance Bitstream Vera by fixing bugs and increasing the Unicode coverage. DejaVu is a free and open-source font. Currently, DejaVu has good Unicode coverage, supporting the full Latin Unicode block (Vietnamese, Pan-Nigerian, etc), Greek (extended) and Cyrillic (extended). DejaVu also covers Unicode symbols such as Dingbats (PDF) which would make kids happy to include in their documents. DejaVu comes in three typefaces, Sans, Serif and Monospace which is good for a uniform desktop. -- Simosx 14:55, 17 June 2006 (EDT)
- In my opinion, Gentium is an excellent font for printed materials, but it does not read well on a screen, especially at small font sizes. --SamatJain 13:17, 7 August 2006 (EDT)
Coverage of Gentium and Coverage of DejaVu.
Game Console Emulators
Make some Nintendo and Sega console emulators (NES, SNES, GG, MS), try to ask Nintendo and Sega if they agree to let you load onto the machine a selection of hundreds of the best console games from the 80'ies and 90'ies for the children to have fun with.
You could maybe even ask Nintendo and Sega join the OLPC as corporate members, they could provide their games, and provide upgraded wireless mesh-networking gameplay functionality for some of those games.
I have not seen, many educational games in Nintendo or Sega
Obviously you have never played SESAME STREET COUNTING CAFE, an execllent game for Sega, I actually played it far more than I care to admit. Educational games tend to have poor sales and little media attention so it is not suprising that you haven't heard of them. Futhermore even games that are not strictlly educational have value too, they can help kids develop abstract problem solving skills, pattern reconition, and the ability to experiment. And any ways what is wrong with letting kids have so fun? Or is that only allowed in first world countries. Lout april 5
However we must not confuse Constructivism with Edutainment.
OLPCities
You can take a look at the project OLPCities. It's an open source, modular project using JavaScript (not Flash) for the creation of on line web applications having the GameBoy style. You can create "Lots" or a complete "City" having activities. There are tutorials available about how to do this. And there are a protopype that you can play not only at the OLPC station but at some browsers (IE, by example), NOW!
Games
I totaly agree with Lout. My opinion about games : for learning physics and mathematics, some non educational games can be of a great interest. For example, the classical asteroid-like games : you need to control a spaceship moving in space, you can only rotate and add a pushing force in the forward direction (so, to stop you need to rotate 180 degrees, and add a force that will oppose the inertia). This kind of game can give the children a good feeling of Newton law of motion. They are many games of similar interest. Another for example is Gorillas, that explores parabollic movement. It would be nice if the kids could program their gorillas to calculate the initial velocities and angles using feedback given from the game engine:
the explosive banana landed 30 units to far. the explosive banana was blocked by a building.
Another advantage : when the children play, they will be more likely to try to make there own games, and that the best way to learn how to code (What the fun for a child in hacking or making an educational software ?) --Charlie
- I am a software developer, and my embarrasing confession stems from games. My first exposure to computers was hacking the saved game files to cheat and give myself more credits. But this introduced me to hexadecimal (a whole different counting system than base 10!), endianness (I have 0x01c0 credits, why it is stored as c0 01?), and reprogramming a game to give myself infinite (insert power/resource here). There is absolutely nothing wrong with providing games, and even more so if the games are "hackable". -PatrickTou 18:20, 15 August 2006 (EDT)
And in games where the player can choose between a lot of stuff (an example is the modern game need for speed underground) help kids develop creativity. --Commodore
Focus should be put on creating games for linux not emulation
Emulation is not very efficient since it requires more space and CPU overhead than a program written for the native OS. By having developers creating new games and clones of existing games, no cost or licensing is required and a lot of the unnecessary bloat can be cut out leaving the core of the game, saving valuable space.
Also games don’t necessarily have to be educational. Simple 2d games are a great way to pass time and have fun. Video games are a big part of technology, and I believe all children should be able to experience them. By including the source code of the games students can use it to help them program their own games.
Including both educational and popular 2d games played in our society can help get children excited about this technology and give them incentive to use the device to further their minds.--Rocke86
Instant/SMS Messaging
To buddies in the mesh.
Gaim Instant Messenger would probably be included, but a more advanced system, where you could maybe see everyone near you and chat with them would be cool.
- See discussions and solutions on Instant Messaging Challenges and Talk:Instant Messaging Challenges: You can even use gaim in just that more advanced way as you suggest. --lynX
(Reader Contribution) Multilingual Instant Messaging requires translation libraries; a U.S. government thinktank created a good approach that runs native and translated languages in parallel; I have a research license, happy to explore. todd at cftw dot net
Midi player/composing software
Including a midi or similar engine would allow music to be stored in very small instrumental files and by including composing software using various instruments allow students to create music of their own with out worrying about running out of space.
The freeware Anvil studio is a good example of composing software http://www.anvilstudio.com/
A similar program with the bloat taken out would be a great musical education tool.
By including this engine it would allow games and programs to have sound effects and music while only adding a very tiny amount of data. I think it would be a cool idea to include a small library of various types of music in .mid or a similar format so that students can listen to music, open it in the composing software, and get excited about making their own.
Also .mid and .kar files can carry a text channel allowing the device to act as a karaoke machine, fun ;). This could be quite useful for teaching language and other educational material. These formats are very compact; often a file of only 10 kilobytes can produce a full minute of music depending on simplicity of song, this would allow 500 two minute instrumental music files to fit in 1 mb, even more if compression is used. Good example of midi/kar player http://www.vanbasco.com/karaokeplayer/
Here is a list of existing linux midi software http://linux-sound.org/midi.html
--Rocke86
Sound would be very needed I agree but to include software for them to play music would be bloat maybe. I would like if they would play their own native instruments like didgeridoos or something :) --Commodore
The TamTam music and sound application is being developed specifically for the OLPC at the Université de Montréal by a team of musicians, programmers and music educators. It rests on top of the Csound audio engine and proposes an environment for children to explore music structures and sound design.
--ethrop
Real time music keyboard
Use the keyboard to make music, turns the laptop into an instrument! Simply map keyboard keys to notes and instruments, note length is determined by how long the keys are held down. Software keyboard is displayed on screen that shows what note is mapped to what keys and users can customize what range of notes and instruments are used.
If a midi system is present this could be a very small program. Advanced features such as record to midi file could be added to let children save their song in a small format that could be played back and edited with a composition program. This program’s functionality could be included in the composing application, but could be a separate app to keep its simplicity.
--Rocke86
- Music trackers (or mod players) do exactly this and were very popular back in the days when PC's like Amiga and Atari were common. I remember running tracker software on MS-DOS on a 286 computer. This is well suited to a limited storage machine like the OLPC. Some background on tracker software is in this article. There are at least three trackers/modplayers for Linux:
Video Player
The OLPC is capable of being used as a video player using a variety of codecs.
Here is a quote from the progress report on the 11th of June 2006:
- Jaya Kumar, the original author of the AMD CS5535/6 audio driver, reports from Malaysia progress with the current accelerated Xorg X Window System driver on the hardware, including Xv video support and a variety of codecs and audio. He is seeing good audio/video synchronization without frame dropping at full frame rate.
Text to speech
As mchua said text to speech would be great for the disabled, I also think this would be great for a wide range of other uses...
-reading aloud of textbooks, web, and text messages
-Radio like ability, avoiding heavy bandwidth and storage requirements of sound files. Children could bring the laptop home and have a group of people around to listen to news/info as it is read aloud.
-Proofreading their own histories or papers.
-Ability of programmers to call and use this text to speech engine to speak and have dialog between two or more voices (saving space by not needing sound files)
-Teaching of languages/pronunciation
Since space and power is a concern, a speech to text engine would need to be small and not require a powerful CPU. By sacrificing quality a very small engine should be possible.
Take a look at AnalogX SayIt http://www.analogx.com/CONTENTS/download/audio/sayit.htm
It may not sound very pleasant, but with a little work a similar engine with various male/female voice presets would be quite feasible and have a small size. Work would be needed for different languages and pronunciations. Custom voices could also be created by students by adjusting speed, pitch, language and other settings.
A list of existing linux text to speech applications http://linux-sound.org/speech.html
--Rocke86
Programming and Compiling Software
Since children have computers, they should have the tools to learn how to program them too. Probably with LOGO unless there are other programming languages that have been translated into other native natural languages other than English. Logo has been translated into many languages since the 80's, and there are books in those natural languages about Logo. Squeak is also suitable for children, especially the eToys component of Squeak. It runs identically under Linux, Mac and Windows OS.
External Mass Storage Made Easy
Software to make it easy (for the not so computers savvy teacher too) to have and access external mass storage through the mesh. Physically located perhaps on a school computer or perhaps even somewhere on the internet.