Faber Finds generative book covers
| Print on demand (POD) is becoming more mainstream by the day and new(ish) contenders are popping up everywhere, slowly covering more and more parts of the market. Recently the renowned English publisher Faber & Faber has also joined that field. However, unlike the other players who are largely focused on the self-publishing game, Faber's plans were to bring POD to that part of the market, which due to the traditional ways of the publishing business has ceased to be a market at all: out-of-print books. Faber Finds is the name of said service and has just launched with an initial repertoire of 100+ titles, with more being added all the time. | A year ago Faber & Faber commissioned me to help with the design of a software system to generate complete & print ready book covers for their new imprint. The challenge proved to be more of a creative than a technical one, as the task given was to build a “design machine” which would be flexible enough to generate a very large (theoretically infinite) number of unique designs, one for each single book ever printed in this range, within the agreed boundaries set by the art direction(s) of Faber design team. The imprint has currently 4 genres, each with its own slightly varied style and rules I needed to take care of. |
Some of the first printed books with the fantastic custom made B-HMMND font
by Michael C. Place @ Wearebuild.
Border designs
| Faber also commissioned the super talented Canadian typographer Marian Bantjes to create four designs used as templates for the desired look & feel of the borders styles of each of the different genres offered by the imprint. Each of her design routes then needed to be abstracted, decomposed/split into smaller elements & shapes, parametrized and generally reverse engineered conceptually. The shapes would then become micro templates, or rather, form a shape vocabulary for the complex borders. Only once I understood all the rules and nature of the design elements used on all levels, I could start building a generative solution which would introduce variations at certain points of the design process, manage and judge them automatically. | This initial part of the process included things like identifying the 5 levels of symmetry used within Marian's sketches, experimenting with minimum and maximum border widths, exploring individual symmetry options & limitations for each of the shape elements below, finding the right density range of shapes used per border quadrant, ensuring author names and titles are correctly word wrapped whilst not obscured by the borders, auto-adjusting the font size for text on the spine based on the number of pages vs. length of text etc. In total we isolated over 35 such rules and parameters… |
Extracted & re-generated basic shape vocabulary from Marian Bantjes' sketches.
Early sketch with markers showing registration and symmetry points for each shape element.
(Btw. Umberto Eco is NOT published by Faber Finds)
Doing it in software
| Generative design systems often work on the premise of extrapolating a given design idea/art direction. Because our aim was to create such a system (rather than a single one-off design), it was important to find the extreme cases and boundaries of expressions possible and shape them. This idea is going back to the multi-dimensional design space of possibilities. Finding appropriate values to these design parameters required a phase of constant experimentation and conversations with Faber's design team - these collaboratively agreed boundary values then became the encoded art direction within the software. | Generating the borders was just one, if major, task of the final solution, though. The custom software written in Processing, straight Java and PHP works as an internal webservice at Faber which receives new batch orders and then generates complete, print ready PDF files with all copy, branding, spine, ISBN, barcode and optional high-res JPG preview using the book details supplied. Generating a single cover only takes about 1 second, but due to its iterative and semi-random nature can sometime require hundreds of attempts until a “valid” design is created which is judged to be “on brand” by software itself. |
A fully generated book jacket with spine, barcode, back copy and ISBN
Under the bonnet
| In addition to Processing's built-in PDF generation functionality it was a great help to work directly with the underlying iText PDF library, e.g. in order to generate the EAN13 barcode and add meta data to the saved PDF files. For both things I needed to patch PGraphicsPDF library to grant me lower level access to iText. | There're also some useful unit conversion functions for dealing with page sizes in PDF in the toxiclibs SVN… In another post we will be taking a more proper look under the bonnet of the whole generator application… |
For now: Happy reading!









Discussion