A Device for Rural Computing

Let's take a look at some of the important features of a computer for rural areas:

Hardware

First, some of the hardware characteristics of a rural computing device. I write these first coz I am not a hardware guy (like any other Indian :). Hardware scares me!

Resistance to dust

This means we need:

Resistance to heat

High temperatures are a reality in most villages, and air conditioning is out of the question. Most ICs and other PC component can work at well above room temperatures. However, they generate their own heat, which raises their temperature. Hence, we need components that generate less heat.

Ability to run from a battery

Grid (AC) power is erratic or absent from many (most?) villages. Erratic power is a terrible nuisance, and power conditioning equipment is costly and prone to breakdown. It is also highly inefficient.

Instead of cleaning power online, it would be great if we could charge a battery from AC power when it is available, and run the device from the battery's stored charge. Kind of like an online UPS.

A device that runs from a batter has a DC-in socket for power, instead of an AC socket. This also eliminates the need to have different models for 230/110V countries.

Where grid power supply is absent, the battery could be charged using solar power, pedal power, wind power, bio-gas, or any such small power generating unit. In a typical computer, battery power is first inverted to AC and stepped up by an invertor, and then converted back to low voltage DC by the SMPS. This is a waste of circuitry and power, and creates a lot of heat.

Low power components

The above requirements lead to this condition. Use low power components. All the power that the ICs in a computer use, gets converted into heat. This heat has to be pumped out of the computer or it will increase temperatures and fry (roast?) the computer.

Low power ICs use less power, hence run longer on batteries. They generate less heat, and hence are less prone to heating up and getting busted. They also require less cooling. A cold device like a mobile phone or a digital watch requires no active (fan based) cooling, and is completely sealed from dust. Fans themselves consume a lot of power.

Power circuits are the most prone to breakdown in a PC. Bad power is also the primary cause of burn outs in PCs. We need to pay great attention to the power circuitry of any rural computing device.

Portability

Very desirable. Not everyone in a village can afford such a device, and portability means shareability. AID/TNSF currently use portable VCD players to screen educational movies in villages. One of my research aims is to create an interactive VCD player for them.

A portable device can be sent easily for repair by parceling it through the postal system. Try finding a hardware repair guy in a rural area :). This reduces downtime and costs.

Software

AID was using computers in its projects in Nemeli block of North Arcot district, Tamil Nadu, India. I used to travel from IIT to the site once in a while, by local train and bus, to fix problems with the PCs. More often than not, the problem was with the software.

Stability

Who doesn't hate OS crashes? They are the number one cause of PC downtime. I would happily let go of a lot of functionality, if only the software wouldn't crash on me. I guess that's why Nokia phones rule... simple, but clean and bug free.

Affordability

Ok, ok, so I'm basically talking OSS here.

Reliability

Windows installations have a way of deteriorating with time. Leave them to themselves for a few months, and computers become slower. To top it all, if they're connected, they get infected by worms and viruses. Ugh!

I used to manage a cluster of workstations at my department. Sixty Linux computers, all diskless, running from a single Linux server. Twice, I left the place for two months during the summer vacations. Not a single computer stopped working. Now, it's been eighteen months since I graduated. The computers still tick away, unaffected by time.

Deterioration also occurs in Personal Linux Computers. I think the whole culprit is the harddrive. Or any state on the computer, for that matter.

Automatic upgrades and patches

I will not say I want software without bugs or security holes. That kind of software doesn't exist. I want a device who's software gets upgraded on its own, periodically. New features get added, bugs and security issues get fixed, without my involvement.

There are two ways to achieve this. One, upgrade over the network. Now what kind of village has a high-bandwidth computer network? The second is to reinstall the entire computer periodically with the latest software distrbution(s).

My Preferred Device Model

That's when I came up with the following device model. Ok, let me not say I came up with it. That's when I settled on the following device model.

Have a device that boots from a CD. There is stuff like Knoppix that boots Linux on a computer from a CD. It might be slow, but it gives us the following advantages:

Instead of complicated boot options, you can have a set of CDs that have the configuration written on them in bold letters. Now choosing between English and a vernacular GUI is a snap!

Storage, obviously, is a problem with such a device if it is not on a network. I've racked my brain enough on this, and time was the healer. USB pen drives are now very cheap, and can be used to store all the storage needs of many many users. So, we use pen drive(s) for data storage, and CD/DVDs for media. Yes, it is possible to boot a device from a CD, then eject that CD and pop in a media CD to play video or music.

External storage on pen drives and CD means if the device breaks down, I don't need to recover anything from it before sending it for repair. If I have another device handy, I am ready to go again. It's like changing SIM cards between GSM handsets!