OLPC is a failure in one aspect, but…

Chris Blattman linked to an Alanna Shaikh post that buries the One Laptop per Child project:

It’s time to call a spade a spade. OLPC was a failure. Businessweek called it two years ago. Now, Timothy Ogden, editor-in-chief of Philanthropy Action has made a compelling argument to give up on OLPC. He points out that supporting de-worming programs has more impact on child learning than the OLPC laptops.  The laptops were designed without end-user input, they cost too much both to produce and to run, and they’re now being outcompeted by commercial laptops. Only about a million OLPCs have shipped so far.

Meanwhile, a commenter, Gansler, notes Shaikh’s rhetorical tendency:

Alanna Shaikh and I worked together. I found then, as I do now, that her rhetoric is a bit thick, a bit black and white – all is doom and gloom (though sometimes it’s awesome and bright). I find her “Dream is Over” comment very much in line with that.

While I do consider the OLPC laptop project itself rather a failure — its relentless pursuit of volume, its alienation of the teaching profession (the two are related, in a chicken-and-egg way: OLPC has to sell in spades to achieve low per-unit price; third-world educational budgets are limited; ergo some money has to be diverted from traditional, human-resource-heavy teaching approaches. Rather unethical at the very least, using thirld world students and teachers as human lab rats.

Whether it would have worked better had it targeted educational niches in the developed world — home-schooled kids, isolated rural kids wanting to collaborate with others across geographical distances, or as a supplement in general for public school education, since after all, studies /do/ show that a high proportion of US teachers are not qualified to teach their subject — is an exercise is uchronia. We’d simply never know. We do know certain things, though:

  • OLPC single-handedly removes the linkage between ultra-portability and ruggedness on one hand, and price on the other. Remember the pre-netbook days of super-expensive ultra-portables? Intel responded by introducing the Classmate, which begat the netbook, and the rest is history.
  • The OLPC user interface, Sugar, lives on in Sugar on a Stick. It’s bootable from a USB stick, can be installed, and runs on commodity hardware which are aplenty even in underdeveloped countries.
  • The amazing LCD from OLPC is being commercialized by Pixel Qi, and is coming to a laptop near you within months. Obligatory plug: I maintain a Facebook group that (attempts to) keep track of Pixel Qi announcements. Some of the videos are just simply delicious.

So I guess this is turning into a eulogy. OLPC has failures in abundance, but it is a radical, category-creating product. Negroponte could have managed it better, but he should still be able to take pride of what the project managed to accomplish. You can’t make an omelette without breaking eggs, after all.

For those of you steeped in Judeo-Christian history, think of OLPC as the John the Baptist to netbooks’ Christ: loud, insistent, un-PC, and martyred, but a success nonetheless.

Application bundles coming to Linux!

Those using Mac OS X or ROX Desktop might wonder what all the fuss is about. After all, they have had application bundles since the beginning. Everyone else will probably be wondering “what are application bundles anyway?”. First, then, a primer.

If you think of an application as an object, a thing, then you want to be able to treat it like any other object (say, a document): you can copy it by drag-and-drop, move it to another location, run it by double-clicking, and when you don’t need it anymore, drag it to the trash. This works if you’re on the aforementioned system, but not for everyone else:

- Windows applications write to system directories, and the default Registry setting is normally set up only once, during installation
- Unix applications are installed all over the file system

Even with package management (e.g. RPM+yum, DEB+apt, Smart, emerge) the situation is far from ideal:
- application still cannot be dragged-and-dropped
- can’t run an application without installing (for trying it out, for example)
- if you don’t have the original package you can’t recover it from the installed files (I don’t believe the package database holds the pre-/post-install scripts, only the pre- and post-uninstall ones)

And even OS X’s implementation is not ideal: there’s no way to declare dependencies, so a lot of applications just bundle all the libraries they can’t expect the user to have installed already. ROX is ahead here with their integration of the 0install system: you first download an almost-empty application bundle, and the first time you run it it triggers 0install, which can pull in the main body of the application, and install the dependencies too.

For some reason ROX’s installation system has not caught on yet with the major desktops (neither Nautilus nor Konqueror, the two main desktops’ file managers, handle launching ROX AppDirs, the most basic prerequisite for interoperability; for some reason the talks with the XFCE project did not go anywhere either). But now at least another project is picking up the idea, and were it to be successful, would see application bundles available to millions of users. Who? Why, the One Laptop per Child project.

(J5 blogged about it several weeks ago, but I didn’t get to that post until now. Mea culpa.)

I don’t know how it’s implemented there, but as I commented, it could possibly go like this:

App.xo
|– deps.xml
|– info.xml
|– binary
|– icons/
|– libs/
|– share/

with the application directory monitored for changes; drop a new application in and Nautilus will scan deps.xml for any prerequisites that’s not yet installed and offer to install it.

That way we can have OS X-style ease-of-use without their application bloat (since a lot of the .app bundles there just ship all the libraries they can’t assume the use.

2006-11-25 19:09 EST Update: Here is the specification for the bundles. No dependency tracking yet, unfortunately.