philwilson.org

Reanimating a Little Printer project

09 March, 2024

I’ve made a little app which generates an image for you to display or print how many people there are in space right now. The code is here.

This is based on work that the excellent design and technology agency BERG did a decade ago with their Little Printer.

Little Printer was a wonderful little service which used a network-connected thermal printer with a personality to send little messages of wonder and joy into your house.

Little Printer on a bookshelf

It was released in 2012 and as all these products inevitably do, the servers went offline a few years later and the service went away. BERG released their code and a little community sprang up to help liberate the devices and keep them running, which you can see at https://tinyprinter.club/ and additional work from design invention studio Nord Projects.

In the 12 years since Little Printer, desktop sized bluetooth-connected thermal printers have become a thing, and you can get one delivered to your house for less than £20 from Amazon or Aliexpress. I have this nice cat-themed one:

Thermal printer with a stylised cat face next to a Lego superman minifig for size comparison

When tidying up my repos in GitHub I found I’d forked one of the Little Printer repos many years ago, so now that I’ve got a thermal printer wouldn’t it be nice to get that running? This one prints out a little picture telling you how many people are in space right now. I can’t find a photo of this working on a Little Printer, so let’s give a spoiler instead:

Printer publishing "How many people are in space right now?" on paper

Let’s have a quick look to see if the decade-old Ruby code runs out of the box (although with low expectations it will). No surprises, it doesn’t:

So let’s see if we can rewrite this app!

Here’s the code.

The Fun Print app that supports my printer allows me to print directly from a URL, so I just give it the address of my web app, and it prints out nicely, as you can see above, and because my printer came with several rolls of sticker paper, I can simply peel it off and stick into my Techo!

Obviously the real benefit of Little Printer is that it’s push-based. If I want to be able to push this data to the printer in the future I guess I’ll need to convert the web page into an image, so I’ve added some (currently unused) rendering with Capybara to the application. I might give some of the resources linked from https://tinyprinter.club a go in the future to try and get push working, but I’m quite happy with pull at the moment.

See other posts tagged with berg general printer ruby space and all posts made in March 2024.