Friday, February 03, 2006

One Laptop per Child (OLPC) via the $100 Laptop initiative

I first really heard about the $100 Laptop by the One Laptop per Child initiative (OLPC) from news coverage of the World Summit on the Information Society (WSIS) in Tunisia, where Nicholas Negroponte and Kofi Annan co-presented a prototype. Having heard of similar initiatives before, e.g. the Indian Simputer or a concept called Nivo by Ndiyo (and undoubtedly there were and are other such initiatives), I wonder if this one will be successful.

Things do seem promising for this project... The goals are certainly very ambitious (hear: "plans to have up to 15 million machines in production within a year", "predicts could be 100 million to 150 million shipped every year by 2007") - but then, you have to set ambitious goals to reach real-world results, right? And this initiative is about something certainly worth dreaming for! The project clearly has enormous traction, and things appear to be moving: Since the UN summit in Tunisia, it has emerged that the major commercial laptop manufacturing company is involved in designing, and will be producing, the devices. In the U.S. the Governor of Massachusetts has submitted a bill to the legislature to deliver $100 laptops to all children in the state. A number of developing and emerging countries seem to be seriously interested, or have placed orders - the details are still a bit sketchy on this, as far as I could find. At the WEF in Davos a week ago a partnership with the UNDP was signed.

I do find the idea intriguing. The technical idea itself, I admit, but more importantly the vision and possible social implications this could have. Following are some of my assorted thoughts on various aspects of the $100 Laptop by the One Laptop per Child initiative.


Hardware

Let's first look at the raw hardware specifications. While all of this is probably not completely set in stone yet, the direction it seems to be taking is: AMD CPU, probably not x86-based. No moving mechanical parts (no CD/DVD-ROM, no HDD), but Flash memory. Several USB ports. A novel and innovative display, which can work in "dual mode" B&W and colour. A "flashy" exterior design. Very low power consumption; chargeable with a hand-crank generator. Linux OS and software.

Some of it is "innovative" - not mainstream today, thus untested, hear possibly risky. To push costs down as much as possible in any way, it's probably worth taking some risks for this. From what I understood, some of the major questions notably around the screen as well as the power consumption are still open.

Their approach of flash memory and no HDD may seem vanguard today, but I read the other day that this is coming from classic commercial vendors, too, and will likely be commonplace in higher-end notebooks in a not too distant future. This is certainly very useful to increase the much needed robustness for such devices - as anybody will confirm that the hardware piece that most frequently fails in computers today is spinning hard-disks.

I am curious how that innovative dual mode screen will come along... being able to switch between a low-resolution colour and high-resolution black & white mode reminds me of good ol' Atari days! I hope you don't have to reboot to switch between modes (unless rebooting is fairly quick)? Such a "modal" interface (screen) could possibly also make the software more cumbersome... have you used a recent Palm (e.g. T5) where some of the, even built-in, software can't use the full display size? What a pain! Can a dual mode screen really not be avoided? What resolutions are we talking about anyway? Is it "paper-like" crisp display, like that e-Ink stuff that you hear more and more about, most recently just these days with Sony's new eBook reader? Are such screens capable of nice shades of grey? Maybe initial versions of the 100 dollar laptop could have just that - I wouldn't bet my money that a colour screen is a must-have; maybe just a nice-to-have? Again, it depends on the intended usage, but if this would help to position it as a learning device instead of yet another, but cheaper, gaming console - then IMHO crisp B&W is a feature, not a bug!

I wonder how much memory it will finally have, both RAM and long-term storage. The official FAQ says 128MB of DRAM, with 500MB of Flash; I'd think anything under a few GB of Flash, say 10 GB Flash, would be a pity, a risk. Digital Photo Albums, anybody? It's my 2.5 year old kid's favourite application - seriously. Pre-loaded offline Encyclopedias? Space for learning software? (Maybe more storage, disk-based, could be offered centralized, where needed, through a simple out-of-the-box wireless NAS shared in one school? Another idea may be to have built-in compression of some file types for storage on the Flash; remember Stac's Stacker for MS DOS?)

No CD-ROM/DVD seems right to keep power consumption down and movable parts out - I haven't ever missed one on my Tablet PC sub-notebook that I am writing this on! (Actually, one possible use that may prove popular could be to also use this device for watching movies, both instructional as well as for after-school entertainment. Not sure if the current display design would allow for this, does using "similar technology as the one used in those cheap portable DVD players" imply the refresh rate is fast enough? Maybe an external drive could be offered that connects via USB. Or how about some peer-to-peer streaming stuff; think one drive/player per say school class, and groups of kids watching a (same) movie on several laptops? A normal standard CD-ROM for VCD reading, rather than a DVD, will do based on my experience in India; although I'm not sure what the difference in price between the two is nowadays. Such CD support is not top priority, of course.)

Lastly on to another piece: Will it have reasonable quality and intelligently positioned built-in microphone and speakers, and simple plugs for microphone and headphone (not just USB, for cost)? Firstly, for Text to Speech (TTS) which may be interesting for literacy applications? Secondly, for recording and subsequently listening to voice messages - this is not very big in "our" world, other than the voice mail on your phone; few people seem to record and attach voice messages to typed emails. But if you don't have phones at all, maybe recording a voice clip and sending it across the country in a hard disk on a motor bike (see below) could prove to be a popular usage - particularly for the parents of the kid that the laptop belongs to, who may be unable to read and write much? This idea would also be applicable if the connectivity was some kind of store-and-forward architecture.

Thirdly, and most interestingly probably, a built-in microphone and speakers would allow the laptop to be used as a VoIP device. This would require always-on connectivity and sufficient available bandwidth, but for cases where there is no or unreliable POTS connectivity, and e.g. some satellite IP link is being set up along with the laptops for the children, this usage could be hugely interesting in itself. All of the three suggested uses are not only about including a microphone and speaker, but at least as importantly about easy built-in software using the microphone and speaker.

Another aspect, more "architectural" than about individual components as above, is the classical "one user, one device" paradigm prevalent in most current PCs - and as far as I can tell in the $100 laptop. In principle I think this is the right approach... also because, somewhat to the surprise of my idealistic self, "ownership" seems to be a very important concept to children (and thus I guess all humans) - else my 3y old son wouldn't remind me that "this MY Lego, papa!" However, somewhat similar other projects in this space have suggested alternative architectures; the Simputer can be a "shared computing device" based on a built-in Smartcard Reader/Writer, and the Nivo/Ndiyo is a thin client approach - both mainly motivated as cost saving measures, I think.

I'd probably steer away from the shared device approach. As for a thin client style (each appearing to be personally owned, although completely interchangeable), the main counter argument is probably the need for maintenance/administration and general dependency on the central server, think e.g. particularly power in this context? Still, maybe providing a (much) cheaper wireless portable thin client (think one-chip LCD+wireless controller; nothing else inside, particularly no memory and real CPU, which are probably the next most expensive part after the display?), for say $20 instead of $100, plus a commoditized say $1000 Dual-CPU with 2 GB RAM server, per school/entire village, could of interest in some situations? This is assuming that the configuration and loaded software etc. of all devices would be very homogenous, which is probably a fair assumption in this context? If the server could run say 100 clients (essentially running very similar software to what was built for the full $100 laptop of 128 MB RAM each, but with all of the OS and application code shared, thus only using about 16-32 MB for per-client data) then this seems at least imaginable, and would mean a total cost of just $3000 instead of $10'000 - for the 100 children. Still, that's a lot of ifs and assumptions of course, and only real pricing, scalability and the "market" can tell if there was an interest for (also) providing this - later.

Software & Development Model

Contrary to the hardware specs, I haven't been able to find much about the planned pre-loaded software etc. yet. Should one assume the software will be relatively "standard" Linux, so something along the lines of X11, GTK, Gnome or KDE, OO and Mozilla stuff? Or a more custom developed and tailored suite of applications? (Given the only 128 MB RAM, the latter may be more likely, given that say just Thunderbird+Firefox alone easily eat up say ca. 30+50 MB. Or not; could you actually configure a "standard" desktop Linux environment to work OK on "just" 128 MB RAM?)

A key question of this aspect will likely be if the OLPC Foundation's main goal is to get "cheap raw iron" or a centrally organized software development model leading to a complete pre-loaded "educational laptop" out of the door? In the first case, individual receiving countries, groups, ministries, schools, or even individual recipients would have to search for and evaluate software options, customize, pre-load, and install software.

I assume they'll probably opt for a strong standard "image", think kernel, drivers, including hopefully good default browser, email client etc. At the same time, leaving the door open for innovation and participation by the larger community, so by no means a "locked down" box is clearly important. Particularly targeted receiving countries certainly do have a lot of talented folks, and it should be as easy as possible for folks to jump on board and start hacking and trying out interesting new applications.

So a federated development model with a strong central coordination role of e.g. the OLPC may be a suitable approach. Just how much coordination is useful probably remains to be seen, but why not e.g. a registry of suggested/needed software, a forum to coordinate software development between parties using this. Or how about volunteer summer projects for CS university students, like Google's summer of code thing?

By the way, I wonder what the OLPC partnership with Google is about anyway... I clearly see the "conceptual" links (e.g. grassroots & large scale) and understand they have provided some financial backing, but wonder if they are working on something specific together at this point? Software? Connectivity? Definitely many very smart geeks over there... and who says brainy geeks couldn't come up with useful ideas to reduce poverty in the world by improving children's education?

On another note, if standard Linux Desktop software is not applicable, maybe "picking" from other earlier projects is of any interest? Simputer software is supposedly made freely available - may be worth a look if any of it could benefit the OLPC project. Also, as there is anything from good ol' Apple Newton left over that could of interest? How about looking at NewtonScript and the data soup, and freshen it up more in the direction of "content", with the relevant synchronization, easy application building, and a modern dynamic programming language, all built-in to ease building learning-oriented applications on the OLPC device? Maybe the apparently planned inclusion of Squeak goes in this direction. Sounds pretty interesting to me; I need to look more into that stuff.

On to some more specific ideas for software: Could support for "non-real-time Internet connectivity" be built-into e.g. the browser, or even a lower level?

I myself often read some web pages that I had downloaded while on the network at home while traveling, disconnected from a network, and of course when clicking on a link you get some stupid technical error message. Why can't the thing remember I want to read the linked page later and "queue" it somewhere? This idea is probably more much more relevant in some OLPC scenarios than it is for myself; what if you are connected to the "Internet by Motorbike" say only once every two weeks, as in the Motoman project in Cambodia?

Making it possible (and easy!) to store Emails to one device, then to another, and ultimately forward to Internet when connected sounds like a great idea. Probably not just Emails, but requests to download information, publishing of content such as homepage or blog updates, etc. Doesn't it make you feel like good ol' FIDO Net is back?

The Wi-Fi Mesh Net should be seen in this light. It is probably not only about sharing a real-time always-on Internet access. For example, it may be useful to be able to send email, or easily exchange files, within an ad-hoc network of $100 laptops forming a wireless Village Area Network (VAN), without any central server infrastructure, and configuration thereof, whether DNS, DHCP or SMTP or anything of that sort.

On to another area of software: Just pre-loading some enterprise collaboration tool (you know, shared calendars, to do lists, and document manager) is probably of limited interest. However, how relevant are more specific school/classroom collaboration tools, e.g. something like the "Future Learning Environment" Fle3, in the OLPC context? How pertinent is eLearning stuff? Probably not so much in primary education or am I wrong?

In some way the software and content may be at least as important as the raw hardware in the larger picture of the OLPC vision... A quick search today revealed low-end desktop PCs to be going for somewhere in the $250 - $350 range. Prices of commercial laptops are higher, but also dropping by the month, and in the medium term (few years probably still) a sub-$100 laptop is possibly commercially available anyway, maybe also because of this project's impact on the commercial market, e.g. thanks to available innovation in display technology (that OLPC is not patenting) etc. or simply because of market price pressure. At that point of largely commoditized low-end hardware, what content and software is made available will define progress, not the hardware anymore.


Educational Tool & Content

It took me a little while to understand that this is aiming to be more than simply, say, "distributing traditional school material in electronic form". The aim is to enable children, by distributing Internet-connected laptops, to learn better - on their own, thus augmenting the traditional form of a "broadcasting-instructor-led" learning experience.

This fits with what has been observed e.g. in India by "minimally invasive education method" research, by the people around the Simputer project, where a computer was made available mounted on a wall to children who had never before used one: "(...) six-to-thirteen-year-olds can teach themselves to use computers regardless of their social, economic, ethnic and even linguistic status. (...) We always underestimate their abilities."

This is not limited to the developing world, as results from using computers in the classroom in a US state seem to demonstrate. There is something about learning, at self-paced speed, with a computer that is different... it's responsive, you can try out things, and, it's not the human teacher or the kid sitting next to you - maybe this sounds strange, but (to some kids at least?), this probably helps with learning.

I am still a little curious as to what this may translate to in practice. Only enabling Internet access is unlikely sufficient, though in my mind certainly an aspect of this; and the people behind OLPC have almost certainly thought of this. Will there be specific applications written and included with this device? For starters, e.g. literacy applications to learn or improve reading and writing skills like I believe the Simputer has for Indian languages? Other applications to teach say like basic math? And content like History, basics of Law and Human Rights? Who will decide? Once there are many, how will they be distributed?

One prime candidate, which has been mentioned by others already I believe, may be the now well-known Wikipedia. Its founder after all wrote, quote: "I'm doing this for the child in Africa who is going to use free textbooks and reference works produced by our community and find a solution to the crushing poverty that surrounds him. But for this child, a website on the Internet is not enough; we need to find ways to get our work to people in a form they can actually use." Another candidate with possibly interesting content may be the OneWorld connection. Certainly others more knowledgeable in this domain will know about other on-line communities which would naturally fit with the OLPC project.

There may be some technical challenges for local inclusion of such currently online Web-oriented content for offline reading on the device, or otherwise easily made available, unless ubiquitous Internet connectivity can be provided, but I believe such problems can be solved. If simply the amount of the content is a problem due to the limited memory (?) of the devices, maybe some sort of a distributed file system, with all devices in one school holding partial content, be suitable here? If Internet connectivity is available, but with very limited bandwidth, doing centralized local content caching on a server is of course trivial. To again avoid any central infrastructure requirements, maybe some funky peer-to-peer distributed caching could be devised?


Financing/Money

Some thoughts on the money side, how this will be financed etc. As I understand it, OLPC has received funding to get started. The idea is to produce and sell the laptop at production costs to governments. What I don't get is how the numbers would work out for the countries that are being mentioned as being interested, like China, India, Brazil, Argentina, Egypt, Nigeria, and Thailand. A $100 times how many children in primary schooling age these countries have, isn't that still a very important investment? The UNDP has officially jumped on board and will support this - I am curious if and from where the money will ultimately be made availabe.

Don't get me wrong - this most certainly seems a very worthwhile cause. In fact, it made me think of that quote about "give a hungry child a fish and you'll have fed him for the day, but teach it how to fish and you have given her the means for feeding herself a life long", or something like that. Investing in children's education should clearly be very high on any countries spending priorities.

Grants for such a large-scale program could probably come from established philanthropic foundations (The Soros', Aga Khan etc. of this world?) and first world states active in this fields. It may also particularly appeal to respective arms of commercial enterprises in the IT field; e.g. to me this sound like a match to the new Google Foundation's motto who wants "to do things at scale". And "One Laptop per Child" certainly sounds like "scale" - this doesn't look like it is about your average NGO or corporate lets-ease-our-conscience by sponsoring some classrooms somewhere with some fresh pencils, schoolbooks or just a couple of computers.

But I wonder if substantial amounts could be collected from private individual donations as well? Here is why: To me, this seems a "match" for "personalized" donations - instead of $50 into a big pool to "eradicate hunger", you'd give $100 for a tool to a child, one child. A child with a name. It's like those "adopt a child and donate $10 monthly for food" etc. schemes. Except that here, maybe the donors name would initially appear when the laptop is used, "This laptop has been sponsored for you by XYZ, plus picture. Click here to send a short Thank You Email, describing what you are planning to do with your new learning tool." It's just an idea; gauging whether there could be novel approaches to the "money input" side as well in this project.

Of course, the idea of a commercially available version of the laptop has come up as well. "Those might be available for $200, and $20 or $30 will come back to us to make the kids' laptops.". For some reason, I have some doubts that say brand conscious teenagers in developed nations would be very interested in purchasing such a device - and maybe that's quite all right. Depending on the software or content on them that sets them apart, maybe it would have similar relevance for primary level education in the developed world as it in developing countries. Similarly, I think there may well be a commercial space for a very low-cost Internet access device for the many underprivileged in developed nations, outside of the educational space. However, successfully commercializing the laptop probably shouldn't be in OLPC's scope. Now that Quanta is involved, and the $100 design is not going to be protected or any part patented - how about just letting the commercial laptop market forces deal with this? As long as it's ensured that some chargeback comes back to OLPC. Or maybe not even, as increased commercial sales would implicitly lower the production cost? (It may be hard to delineate what an OLPC-based/inspired design is after some point of diversifying commercial models; unless it's simply the use of the innovative display technology. Although, wouldn't that be almost like licensing the patent again?)


Support & Service

On to something else: Some bloggers have questioned how service would work for the $100 laptop. A fair point to raise I guess. Some thoughts:

From how I understand the model, neither OLPC nor the original manufacturer themselves would probably want to get directly involved in any service or support chain, neither end-user nor 2nd-level. I'd expect much of this to be done by local partners and intermediaries; possibly not so much in the traditional commercial hardware vendor sector, I'm thinking more of local self-service structures. But there are probably some things that can be done and thought of during the design of the $100 laptop to facilitate this aspect.

For example, the local whiz kid at school should at least be given a fair chance to unscrew the cover to say find the cable from the power plug to main board that may have fallen loose, and be able to re-solder it without burning the CPU, hopefully not placed right next to it. Widely available standard plugs & cable types probably are a good idea here - contrary to what one sometimes gets the impression commercial laptop vendors do.

Also important, a professional high-end quality verification program with ongoing feedback from the field, not really about fixing one broken device at a time, but effectively collecting information for avoiding a given known problem in the next iteration, is likely also a very important piece of the service story. By the way, the "feedback-loop" will be extremely important not just for the hardware robustness improvement, but also to learn about usage patterns, software features, etc. I wonder how this can be effectively organized at such a large scale?

Apart from all those hardware aspect, curious kids will certainly easily manage to screw up the software side of the device - and they should! A built-in hard-reset that can re-initialize the OS etc. from ROM; sort of like my ThinkPad has with a hidden partition on the HDD that can re-install without the usual Recovery CD, is very effective and useful, I found. (You always have the problem of personal data, files, and configuration settings. Some solution for that would have to be provided; e.g. easily copy to your friend's device over the wireless network?)

Last but not least, one area that comes to mind is that of environmental concerns in this context; particularly of batteries and devices to be disposed in general. This area should certainly be given thought. In my native country Switzerland all electronics equipment now has a mandatory surcharge on purchase, and that money is used to appropriately dispose old equipment, which can be returned to any point of purchase, independent of original vendor. Probably some sort of scheme like that is needed. Maybe it could be enhanced by actually returning some of the initial surcharge money to whoever turns in disposable laptops and batteries? When I was in India a few weeks ago, I noticed a scheme like this for paper recycling: Apparently you actually get money for brining old paper to recycle somewhere. It's not much, but still enough to create a small business of people going from door to door collecting paper to recycle, and consumers to keep paper instead of throwing it away into the garbage.


Misuse

Now, suspending the utopian and idealistic mood for a second, here is another aspect that went through my mind: Does any thought have to be given to things like black markets and other alike ugly phenomena? Just a thought... if these are for education distributed through the state only, wouldn't there be a danger of re-channeling devices to be sold instead? Should they be commercially available just because of this? Or to the contrary, if similar devices were sold on the official world market, would this lead to corruption diverting devices from one purpose to the other, not reaching the intended audience? This question has of course been raised before, and I have read about one idea that the devices could be "yellow like a school bus to make it unattractive to thieves" - but I wonder if it will be quite that simple?

Even if they are not channeled to black markets outside of the education system in one country - how to tackle problems of corruption leading to e.g. more devices going to privileged upper class schools instead of remote rural areas, if that is where they were intended for? Just flood one given "market" with so many machines that this is unlikely to be of any interest?

There is also, certainly valid, concern for "abuse" on the production side of things; I mean of the hardware, probably not the software. I have read some pretty horrible reports on environmental problems in China and the effects this has on some local populations; I think the article was about some place where they "recycled" used electronic equipment without any precautions when dealing with hazardous materials, with entire villages terribly sick, and ground water contaminated, etc. It would certainly be a shame, literally, and unacceptable to the project, if the production of a cheap laptop for children in one part of the world would negatively impact children, or adults, in another part of the world.


Concluding

To me, this is certainly a very exciting project. I hope the time is right for this to happen, and have a lasting impact on the world and in particular those who need it most.

Best of luck to the OLPC project - and let me know how I can help!