Back to the beginning

Book machine

It would have been a shame to make this book — where we've presented our ideas about typography, programming and design — using old, established tools. So we didn't. For this occasion LettError developed a machine that generated the entire book, including images, colors, typography, color separations and fonts. A lot of work, but in the end this machine can do more than a regular layout program: it is more flexible, it takes care of many things all by itself and it helps to maintain consistency.

The book machine was written in Python, an object oriented programming language developed by Guido van Rossum (Just's brother). The machine is built from a large number of small programs (scripts). Some of the scripts generate the images, others gather the text and apply the typesetting instructions. Then there are more scripts to manage the flipbook animations and the secret image on the left side of the book, track the words marked for the index, number pages, etcetera. Large parts of the machine are generic and can be used for other projects.

Some of the scripts use random factors. The book in its current state is therefore one of many that existed before or could have existed. Books with different illustrations, other colors, or even occasionally different text. All variation was of course within specific boundaries. Eventually is was time to take it to the printer, the last version was generated. The large volume of files, text, program code and illustrations causes some special problems. LettError does not have one but two addresses and multiple machines: it was important that we could work at both locations and always have access to up-to-date versions of all files. To make this work as smoothly as possible we used a tool from the programmer's world: Concurrent Versions System or CVS. The computers make a connection over internet to the CVS server which contains all the information. The server also keeps a history of all changes to each document. Changes on one machine are distributed to the other machines via the CVS server. Digital cooperation made possible by Buro Petr van Blokland + Claudia Mens whose servers we were allowed to use.

With each modification to any of the files CVS sends a small log message to the subscribers. A collection of these messages represents the development of the entire project. For the trainspotters: the complete text is printed on the inside of the cover.