Monthly Archives: May 2009

libusb-1.0.1 released

I’ve just released v1.0.1 of libusb. It includes a handful of bug fixes and adds a Darwin backend from Nathan Hjelm, meaning that libusb-1.0 applications can now run on Mac OS X too. Other contributors include David Moore and Hans Ulrich Niedermann, plus Peter Stuge is now hosting git and some other bits – thanks!

XO laptop deployment logistics

For a small team, deploying 3500 XO laptops in 10 schools is a significant challenge. The difficulties include assigning the correct number of laptops to each class, ensuring that each child has a laptop, and having some way of tracking which child owns which laptop for the purpose of future tech support and repairs. Additionally, the handout process can be difficult – children are extremely excited to receive their laptops, hence the classroom environment can easily ascend into chaos, becoming rather stressful. The children also need some initial guidance to complete the installation (entering your name, and choosing colours for the sugar interface).

For the OLPC Paraguay deployments in Caacupé, we created a system which worked rather well. Actually, the basis of it was shamelessly copied from Uruguay, as recently observed by Sebastian Codas.

First, the preparatory stages:

  1. The teacher of each class creates a register of their students, including their national ID number. (In Paraguay, the children are required to obtain national ID before receiving a laptop, whereas having national ID at that age is ordinarily quite rare. The huge increase in the number of children with ID in Caacupé is another significant success of this project.)
  2. The principal of each school submits all the registers to ParaguayEduca.
  3. The registers are entered into ParaguayEduca’s inventory system.
  4. The inventory system generates a label for each laptop, including: student’s name, class, school, and a random, unique ID. The unique ID is also printed on the label as a barcode.
  5. When printing the laptop labels, the inventory system also generates the labels to go on the laptop boxes (up to 5 laptops per box), including: school, class, and total number of boxes that should be received by that class. Laptops are combined into boxes by classes – no box ever has more than 1 destination.

Secondly, the process of applying the labels:

  1. Each box of 5 laptops is unboxed individually.
  2. The pages of labels (many per page, grouped by destination classroom) are cut up into individual labels.
  3. The laptop labels are stuck to the laptops, inside the battery compartment.
  4. Each laptop is scanned into the inventory system using a USB barcode scanner. Note that two barcodes are scanned per laptop (which are next to each other): First, the label with student information as described above; second, the already-present barcode that shows the serial number of the laptop. This creates an association between the unique serial number of each laptop, and the student that will receive it.
  5. The laptops are reboxed, with the appropriate labels being stuck to the box.
  6. The laptop boxes are stacked according to which school they are heading to.
Labelling laptops
Labelling laptops in the warehouse

Finally, the delivery:

  1. The laptops for an entire school are loaded into a truck.
  2. We drive to the school.
  3. We request the help of 15 or so of children from upper grades, ones that can carry laptop boxes.
  4. We unload each laptop box from the truck, giving it to a child. An accompanying teacher clarifies the exact location of the classroom, and the children move the boxes.
  5. In the classroom, a volunteer explains the process to the teacher: 5 laptops per box, each laptop has a label. Simply read out the student’s name as printed on the laptop, insert the battery, hand over the laptop and a charger, and move onto the next one. Note that no registration or paperwork is needed here (it was done much earlier), it is literally handing out the laptops to excited children.
Laptop handout at Santa Teresita Cabañas
Easy laptop handout process

There are several nice points about this system. Firstly, laptop handout, which can be a stressful and difficult process, is now incredibly easy and can be done by anyone (all the difficult parts including paperwork have been done beforehand), allowing us to harness a group of local volunteers without any prior involvement in the project. Secondly, the information (student name and class) visible on the label can be easily used by anyone to return a misplaced XO to its owner, and further enforces the principle of child ownership. Thirdly, it’s quite failure-proof: the label is inside the battery compartment so is unlikely to be lost or damaged, but even if so, a new label can be easily generated from the serial number of the laptop (which is very difficult to displace, being additionally stored on a chip inside the laptop!).

However, no system is perfect. Any system which requires someone to do something 3500 times — such as slicing and applying labels — is time consuming and prone to human error. We were a little low on space, in a hot and smelly warehouse. Nevertheless, the project itself and the experiences in the schools were more than enough to keep us motivated.

It’s amazing to look back on the week and to see how much work was done, even if we did start at 5am every day! Within 4 days, we completed entering the registers into the inventory system, finalizing and testing connectivity and electricity at schools, printing labels and labelling laptops, and of course delivering laptops to schools and assisting the handout.