XO Laptop Printing is Required Functionality


Currently the Sugar/OLPC/XO development community is discussing what to add, change or improve in the next major release. Printing is a topic that is currently under discussion. This discussion occurs on the OLPC development list and related lists. These lists are open, and any interested party can join.

WANTED: printer support.

Mr. Plosonka has stated his opinion that the XO not printing is a feature on these lists. Apparently, he feels the need to expose his opinions to a wider audience here.

I strongly feel that printing is a necessary part of a fully functional XO experience. So here's my rebuttal.


His first, and major, point is one of sustainability. "We cannot replicate our US lifestyle at a global level" and states that "to lower our level of misuse of resources becomes a badge of honor, and thus a no-printer policy is something we can all be proud of". This is the worst kind of cultural imperialism. This is telling the users of the XO that they should do what we say -- and tell them to do, not what we do. The OLPC experience should be empowering and open. Include the ability to do everything, and let the users decide what is or isn't of value to them.


Historically, right after persistent mass storage, the next major functionality that computers added was printing. The ability to produce results that can easily be shared and reproduced is a critical part of the computing experience. Showing around one's work on the XO is fine, but you can't guarantee that your XO, or some other repository that can be accessed will be available when you want to do so.

The XO is being deployed in environments that range from being impractical or inhospitable to printers to cities in the developed world. There should be no presumption of a one size fits all solution.


The pieces are there. The XO can print. The issues under discussion revolve around how best to do it, and what it costs in resources on the XO.

CUPS provides a mechanism for managing and using printers on the XO. It has been successfully installed and used since very early in the XO's life. See Tony Pearson's write up here. This allows easy printing to shared, server based printers, as printing with CUPS just looks for the server to provide printing functionality.

Mr. Plosonka says "Yet all of those can be dealt with at the server-level". Well here it is.

The next step is the ability to print from a individual XO. Adding software such as Ghostscript to the XO can provide that. CUPS sees the local printer as another resource just as it would a printer on a server.

The final pieces of the picture are what would it take on the XO to allow the user to select a printer and print. Work has been done on this front. See [[Printing_Design]] and this picture which is a screen shot of actual printer discovery.


Simple, user accessible, printing should be added to the XO as soon as possible.

Users should be free to print or not, as their needs and circumstances dictate. In extreme cases, where the on XO use of resources to support printing is a critical item, or where printing is not supported, users should be able to remove printing support.

Robert Myers is an OLPC community volunteer.

Related Entries


It is just common sense...

Only one quibble - computers were printing long before there was any form of mass storage. Most early computers read punch cards and printed on line printers.


I'd propose a fourth reason: GRANDMA.

The main use-case for OLPCs is education. Education means communication between the student and teacher, but also between the student and parents and student and grandparents or extended family ("look at what a neat drawing or essay I did last week!"), and between student and peers (friends, cousins, etc.)

Both the student and teacher have OLPCs: done.

The student brings the XO come to show his or her parents: done.

But beyond that limited circle, one MUST assume that people (grandparents, cousins, friends in other schools or cities) DON'T HAVE XOs. And they may not have direct access to a computer.

So if you don't have the same computer, what can you do? PRINTING is cheap and relatively easy and paper shares with ANYONE.

Bottom line: if grandma can't hang up junior's art and writing in the kitchen, something is seriously missing.

(You can think about this as a less abstract version of the "practical" argument above, or turning "sustainability" on its head--the sustainability of one piece of paper for grandma is much more sustainable than the price of another XO.)

Printing is for all sharing. Yes, this Grandma (who is loving xos) would sometimes like art that could stand alone. Further it takes art to another dimension to print to silkscreen or transfer ink. But that isn't the justification I'd use.
This Grandma evolved thru the big splurge of our generation being an Apple II+, which came already assembled, to play with when we came home from our work world of developing with punchcards and tapes. When home printers were not common, reliable or affordable and it was a real glitch in the home computer market. Transitioning from writing you can hand to another, to a theoretical blip somewhere, was hard. Might be good to continue to support acceptance of electronic trade/interaction by having to only share with someone else who is able to view, but it feels too exclusive. Having the school as central printing adds to the feeling of exclusion. I don't know the answer but withholding printing doesn't seem to resolve waste, certainly schools in USA waste tons.
Guess the question is, is the xo to stand on its own as an individual child's tool, or be limited to only being part of a network controlled by education establishments.
Paper was/is a reliable backup. In use with students now, paper allows more than one child per laptop to work on a project (we have 5 to 1. They use worksheets to collect data and consolidate into one computer by turn.) I know the goal is a laptop each but until then, print makes it more sharable and more truly accessible.

I think the wrong questions are answered.

Could the XO print?
Obviously, it is a computer running Linux and all the components are ready.

Should the XO print?
If there is someone who has a need for printing, who would want to stop them doing it.

These are the trivial questions. Now the hard ones:

Who should pay to add this functionality?
That does seem to be the real question. Such options cost money and resources. Adding CUPS and a host of printer drivers to every XO send to the developing world requires memory real estate. RAM and HDSS have to be reserved, maintenance recruited. What applications or options are going out to make room for that?

Why should the OLPC/Local educational board reserve these resources for development, deployment, storage, and maintenance?

Why should the receiving countries pay for it?

These are the important questions. If you want to add printing to the XO, no one will stop you. But you must be very convincing to make others do the job for you.