Tuesday, November 25, 2008

Computing for the developing world

Sunil and Benjamin presented on Computing for the Developing World. They described the goals of computing for developing countries, such as increasing access to technology and using technology to improve public systems like healthcare and education. They also shed light on the various constraints involved when creating technology for developing countries, such as: illiteracy, foreignness of technology, lack of infrastructure, and expense.

Some related projects include:

For discussion, we split into two groups.

One group focused on the requirements associated with accomplishing the goals stated above. The group also discussed how to determine what technology would be useful, and how to begin implementing it. Two ways of evaluating what technology would help a particular area are: asking people from the area who are familiar with technology (such as university students), and immersing a technology expert in the culture to allow them time to learn what the community needs. It helps to make sure that those being helped are motivated enough to help bring change, and to demonstrate the usefulness of technology to community leaders to help convince the community as a whole. The group also agreed that each solution needs to be tailored specifically to the area involved. Each village, state, country, etc. will have their own unique constraints. And lastly, it is crucial to keep in the current frame of mind and focus on what we can do now to provide effective technology for the area.

The second group focused on the maintenance of computing systems deployed in developing countries. It was agreed that because hardware is generally unreliable, there should be some sort of localized system for hardware repairs and replacements, which only pulls in new hardware from "upstream" when necessary. Providing local support is also an interesting issue: adoption of a technology must reach some sort of critical mass before providing self-sustaining local support is feasible. It's easy to forget that there's more to maintenance of a technology than the hardware. Maintaining software becomes difficult in this sort of environment: how does a remote developer determine the needs of their users? One idea might be to collect usage data, and send it back to the developer over the Internet. However, the required connectivity is unavailable in many of the targeted areas of the world, and for those in which it is available, it is often prohibitively expensive. The group also discussed some barriers to expanding a deployment to a wider range of regions, such as interface localization, and adapting to differing sets of locally prevalent technologies, such as SMS or internet connectivity.

No comments: