Sample Applications
In order to kickstart application development for the OLPC, it would be useful to have some sample applications that developers can use as a foundation. This does not mean complex apps like AbiWord but single-function higher level apps built in Python that use some basic features of the GTK GUI or GECKO.
At this point in time, these apps don't exist so we need developers who are willing to build them. Please don't start adding too many features to these sample apps. It is preferable to publish the app as soon as it is basically functional. Then, if you want to develop it further, do this as a separate project.
Desktop Calculator
This should try to include some additional functions, preferably business functions that would be of some use to a small family business. However, the calculator should try to make these accessible to people unfamiliar with terms like NPV or amortisation. i.e make it extremely user friendly
Simple Graphing Tool
This should allow entry of tables of up to 30 values in up to 4 columns. The data can be saved to CSV files or read back from them. Columns can be titled, graphed in a chosen color or hidden. This is sufficient for kids to learn about data collection and do some simple analysis of the data.
Glossary Tool
This is a Javascript/HTML application that makes use of dictionaries in sdictionary format to assist kids in learning a language that is foreign to them. When the user moves the mouse over a word, the app looks it up in the dictionary and displays a tooltip with the translation. Essentially, this is a specialised e-book reader but, since it is a sample application, it does not need all the bells and whistles of Evince. Just a straightforward HTML window with Javascript support.
Narration Tool
This builds a slide show on a time line for a series of audio clips. Students and teams can construct reports illustrated with their own charts and photos. Interpretive readers can read a story while showing the pages so pre-literate students can get prepared to read for themselves.
Given the ability to capture and employ screen shots, this tool could be used to build or to localize instructional material for using any application on the laptop. This comports well with the idea of learning by doing, since screen shots are naturally specific and reassuring for the try-it-now owners.
A later version could supply methods to emphasize some aspect of an image. Obviously this feature is a simple matter of programming, just add a second visual layer. :-) Perhaps, given the feature, some beginning readers would enjoy adding word-by-word visual emphasis to a story to assist in teaching those who cannot read at all.