Talk:Application Developers

From OLPC
Revision as of 02:23, 4 June 2006 by 86.137.62.225 (talk) (A link to Tutorial for Developers: Text Input Methods added.)
Jump to: navigation, search

Overview

There are people in the OLPC management team and there are people working in the OLPC offices and laboratories and there are people working on the OLPC project as part of their employment at various companies and orgnaizations. There are people called interns working on the project over the summer.

There are also people around the world who are interested in the project and who would like to participate in developing applications to run on the laptop. Some of these people may be just making the attempt on home computers or maybe computers in public libraries and even internet cafés, doing the best they can with the equipment to which they happen to have access.

Remembering the concept of External Students of Universities and influenced by the Overwhelmed section of the Setting Up a Sugar Development Environment on Windows page, it seems reasonable to introduce the concept of External Developers. Thus facilities can be provided for External Developers, hopefully most of them by External Developers themselves.

The situation which started off this line of thinking, namely setting Up a Sugar Development Environment on Windows, could be a good example. Maybe External Developers could document step by step what is necessary to install the system on various types of PC, not necessarily the latest equipment.

How to get started developing an application

First of all, begin by understanding the OLPC Python Environment. Most external developers will be using Python to develop their application. Next, make sure that you understand the constructionist philosophy of education. The OLPC is not simply a stripped down PC for kids to play with and for teachers to use as babysitters. In the western world, kids do not get much educational benefit from computer use but there are other sources of education to compensate. The OLPC will be going into an environment where these other sources do not exist or will be marginal.

Expect that the kids have no paper, pens, pencils, books or trained teachers. Many OLPCs will be deployed into just such an environment. Of course, not all of the target children are equally deprived, but the point is that your application must actually help children learn something.

Ideally you will take some time out to install and play with Squeak especially the etoy environment for schools described at Squeakland.

Are there projects to join

Yes, of course. For one, the Squeak environment is being adapted for the OLPC and has an active community behind it involved in developing educational applications.

There is also a Developers Program for people who have a project which would benefit from having a prototype of the OLPC to test it on.

Can applications be developed in a library?

Could someone who can use a PC in a public library or in an internet café develop applications without needing to install anything on the local PC if they are allowed to attach something to a USB port?

In fact, yes this is possible but it does cost a small amount. For £5 (about $9.50) you can buy a Python distribution called Movable Python sometimes referred to as Python-on-a-stick because it runs from a USB stick memory device. For that matter it runs from any USB-powered storage device so it could even be installed on a 20gig Freecom drive. It can be customized by adding your own libraries so you could install GTK+, PyGTK and any other bits that you need.
I haven't personally tried to run Movable Python together with PyGTK but if your GUI is simple then you can even develop using WAX or WxPython and then have someone port it to PyGTK later when you have a working product.

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

A start is being made on this with the Tutorial for Developers: Text Input Methods page.

You can help us

Please use this page to develop the concept of External Developers and what facilities are needed.