Little Printer arrives / © David Somers 2013

Making a Little Printer publication

‘Little Printer’ is an Internet of Things device made by BERG Cloud, a company based in London. I’ve made a couple of publications for it, and here’s some tips if you want to do the same (it’s easy if you have some coding knowledge!)

Resources and tools

What makes a good publication?

The border on the Daily Puzzle publication looks great; it uses varying shades of dithered grey and diagonal lines to create a subtle 3D effect.

Key technical points

  • No content at all (with status code 204); signalling there is nothing to print. This is mainly useful if your publication is less frequent than once a day.
  • If your publication has a finite number of editions (maybe it’s a series of 10 short stories) and they have all been delivered to the user (you can ask BERG to supply the delivery count via a flag in your meta.json configuration) it should respond with status code 410 (GONE) which deletes the user’s subscription — the best use of HTTP 410 ever.
  • With a copy of the publication and an HTTP ETag corresponding to the publication.
etag Digest::MD5.hexdigest(strftime('%d%m%Y'))

Providing configuration

‘One Down’ — a pair of clues from today’s Times Crossword — uses configuration to allow the user to choose whether they want a puzzle from the Cryptic or Concise crossword.

Third-party authentication

Two common gotchas

  • Asset URLs (stylesheets, images) must be absolute. The Little Printer rendering system (for the curious, it’s a fork of PhantomJS behind the scenes) does not support relative URLs. In Sinatra this just means using `url()` in your views.
  • You can’t use web fonts. More on this further down.

Testing your publication with BERG Cloud tools

Basic design considerations

Black, white, dithered

Pimp My Tweets — a publication we never finished — uses a hand-dithered header that looks awful on screen (pictured here) but beautiful when printed by Little Printer.
<img src='http://my-lp-publication.herokuapp.com/my-cool-logo.png' class='dither' />

Fonts

Paper layout

Have fun with Little Printer

Seeing Instagrams of people printing your publication just days after creating it is a great feeling!

--

--

👨‍💻 Head of Engineering @pixielabs 🎙 Podcast host @octalfm 🖱 Coder @twfall, @riveredapp, @traintrackio 👾 Gamer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
David Somers

👨‍💻 Head of Engineering @pixielabs 🎙 Podcast host @octalfm 🖱 Coder @twfall, @riveredapp, @traintrackio 👾 Gamer