There seems to be a tradition in aid programs for Africa to do "good things" like provide food, employing orphans, or provide comuters, without careful considerations of what the long-term effects of these programs might be. Employing orphans to make bricks so they can subsist seems like a great idea, but it puts the local brickmakers out of work.
The MIT Media Lab is currently developing a $100 laptop for sale in quantity to educational ministries in Africa. The laptop will supposedly be Linux powered. I wonder: is Linux designed for this environment? What learning paths are available to students? Will they read man pages to learn how to program if they don't have web access? If they do, are there resources available in their spoken languages?
The $100 laptop will have a 1GB disk in it, which means choices will have to be made when deciding what to put on it. OpenOffice.org is likely out, but is Gnumeric appropriate for children who will grow up to run tomorrows businesses in Africa?
Perhaps rather than designing this system for them, the better solution is to ensure that they have a way to participate in the design of the system themselves. How can we ensure that these children take ownership of the design of this system. The source code is available, let's make sure they use it. Let's get every kid taking control of their computer use. I can imagine teenagers building software that revolutionizes their parents' businesses from open source building blocks.
If that happens, these children will have leapfrogged the American education system, putting them at a significant advantage.
What makes me qualified to do this? I have the programming background, the design background, the HCI background. If I had more experience understanding how people need programming that might help.
Where do I want to go? I would want contacts in the university system there, and know schools I would want to visit, or at least have an explanation for how I would find those things.
Do I need to know any languages? Am I going to english-speaking areas, or will I need to know french or portuguese, or other languages?
What am I trying to produce? A specification for software, some modified GNOME distribution, a set of strategies, a body of knowledge that will be used for design, a design, etc.