kindleframe · 5. May 2013, 21:26

One of the things I talked about at UX London (which I will write up soon) was a thing called Kindleframe. I realised that every morning I checked on a few apps that did a few things – the weather for the day, how the tubes were running, and my two calendars, work and home. Well, if I remembered I checked. And when I didn’t, I was always caught out by a tube line being out of action or that it would be raining heavily later.

So I wanted something that pulled all of this information together. Initially I thought something by the front door (like Russell’s bikemap) but I realised I didn’t have any useful power sockets near the door. So then it turned into something that could sit on my bedside table.


A Kindle seemed like the perfect display or information radiator. It’s e-ink, so it’s not glowing in the dark. And the hi-res of the screen means that you can fit quite a lot of information in a small space that’s still readable. There are three problems: the first is that the power connector is on the bottom of the device. The second is that it’s not flat on the bottom. To solve both, I turned it upside down (and added a right angle micro USB cable to make it a little less intrusive). The third is the charging light next to the power connector, which needs black insulating tape to solve. I did think about putting it into an actual picture frame, but there’s really no need (and the glass made it harder to read when I tried it). Simply take a cheap picture frame, remove the back with the stand, and use tape, glue or Command strips to stick it to the Kindle’s back.


I used the code from this weather display, but swapped out the SVG renderer with PhantomJS and a simple web page that loads 4 other web pages: TfL information, BBC weather, a page made out of two scripts that minimally render my Google calendars, and a page from github that I could update with freetext. Then I set up a cron job on the server to render a page every 5 minutes, turn it upside down (with imagemagick) and compress it with pngcrush into something the Kindle could display. The pages are mobile-friendly so they render well on the Kindle.

On the Kindle, I jailbreaked it, and installed a script to download (wget) the rendered image from the server and display it (eips -g) every 5 minutes.


Because it’s just the web, it’s easy to update and change URLs to build into the page – e.g. the BBC mobile weather URL changed after a few weeks, and it was easy to update the html page to point to the new URL.

If you want to build something similar, I suggest reading everything (especially the comments) on the original kindle weather display, and then you can grab what extra little code there is from here. Jailbreaking the Kindle is quite infuriating, especially getting login via wi-fi working, so please see the forums if you need help with that.


Using the menu for resetting text size, you can also change the screen orientation, making any one of the four edges “top.”

I’m curious if something in your process – the jailbreaking perhaps? – rendered that option unworkable, requiring you to use imagemagick to display your info “upside down”

John    14.05.13    #