End-user application software

From OLPC
Revision as of 01:23, 17 June 2006 by Ethrop (talk | contribs)
Jump to navigation Jump to search


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.

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?

Vorburger

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.

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

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. An other advantage : when the children play, they will be more likely to try to make there one 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

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.

(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.

-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.

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.