Created by Emilie Pillet at ECAL, HTTPrint is a Google Chrome extension, developed in collaboration with Thierry Treyer, which generates a webpage that captures your navigation on the web. It captures data, such as the time you spend on each page, the URL, and images and text, in order to produce visual output. You can capture and save the result by printing it at home or ordering a print-on-demand newspaper.
HTTPrint is composed of two parts. The Scrapper is a script used by Chrome to capture every page you visit. When you leave the page, it stores parts of its content (images, title, paragraphs, etc.) and some metadata (url, time spent on the page, etc.) in a local database of the browser. The Scrapper has some limitations; some website have pages that are difficult to dissect and not a lot of content can be extracted. Also, some security limitations prevent the plugin from extracting the images on a page. You can overcome those limitations by launching Google Chrome with the `–disable-web-security` argument. But since you have to disable some of the browser’s security, HTTPrint is not ready for a wide public release.
The other part of HTTPrint is the Renderer. It is a script triggered when you click on the extension icon. Using the information in the local database, it builds a representation of your history according to the well-defined rules. Those rules use the metadata (how long you stayed on the page and/or the website, at what time of the day did you visited it, etc.) to change the layout and apply effects on the scrapped images and text. The longer you stay on a page, the smaller the text will be for example. Everything in the renderer is HTML/CSS based and it makes use of the “print” media query and CSS properties to dictate the look of the webpage when printed, which means you can directly print or output a pdf from your browser.
Project by ECAL/Emilie Pillet
Tutors: Angelo Benedetto, Gilles Gavillet, Nicole Udry
Assistant: Giliane Cachin
Graphic Design Diploma / ECAL / University of Art and Design Lausanne, Switzerland