Papernet Design Pattern: Microprinters ### **Problem Summary** Print small bits of online data from a web service or mobile device, without drivers, formatting, or special software on the client ### **Example** [Ben O'Steen's MP Expense visualization](http://benosteen.wordpress.com/2010/04/25/making-the-physical-from-the-digital/) parses a Google Spreadsheet and generates receipts, which are linked back to the source material via a QRCode. ### **Usage** * Use for printing a stream of data (such as a twitter hashtag, @replies to a user, etc.) without human intervention * Use as a networked printer for links, triggered by a call to a web service -- as in the [instapaper](http://www.instapaper.com/) bookmarklet * Use when the output is intended to be ephemeral (e.g. directions to the pub you're meeting at, to be crumpled and tossed when you arrive) * Use when you want to collect data in real time and display it in a non-interruptive manner * Use when you want offline access to important information in situations where use of a smartphone or tablet may be awkward, inappropriate, or difficult * Use when the data to be printed is textual or graphically simple (e.g. a sparkline graph or QRCode) ### **Solution** An arduino and RS232-serial interface connect to the serial port on a simple thermal-paper printer. The arduino uses an ethernet shield to poll a custom hosted web service; the service receives the data to be printed and formats, then queues that data for the arduino. When the arduino receives a positive response from the service, it magic to receive the data, then prints to the thermal printer. From a user's perspective, what happens is, when a certain set of criteria is met -- a URL has been passed to a service via some mechanism such as email or a bookmarklet, or new data has appeared on an external service such as Google Alerts, Twitter, Tumblr, RSS feeds, etc. -- the microprinter prints a slip of flimsy thermal paper with the information on it. ### **Rationale** A microprinter provides a physical output mechanism for digital data. It's not so much a finished product as a sketch that points at a pattern: the low-friction way to produce little tangible icons of digital data.