Benjamin Seibel (@bnjmnsbl) | 10/03/2018
Who hasn't thought about open data while brushing their teeth? At the lab, we often wonder how public data can be made more accessible. One way to achieve this is through interfaces that bring data out of your computer screen and into your everyday life – for example, into your bathroom mirror.
Doesn't he look nice?
The idea behind this "Magic Mirror" is to put a display behind a semi-transparent mirror. The mirror lets in just enough light to hide the display itself, while the information on the display seems to appear within the mirror itself – as if by magic. We had a leftover screen at the foundation and decided to do some upcycling. Here's the recipe:
- picture frame with a plastic or glass front
- semi-transparent mirror foil
- an old LCD screen with a wreckable case
- Raspberry Pi (we used a Model 3; older versions should work just fine)
- HDMI cable
- a bit of styrofoam, black cardboard and black spraypaint
- An easel like you would use for a canvas
Our workbench (3D printer was not used)
Hardware-wise, the biggest challenge was putting the foil on the picture frame without creating bubbles. I'm notoriously bad at stuff like this and was quite nervous ("We only have one attempt, guys!"), but Louise and Seb managed to do it masterfully. Meanwhile, I freed the display from its case with a screwdriver using a delicate mixture of precise techniques and brute force, meaning it was the perfect task for me.
We spraypainted the styrofoam black and built a passe-partout to fit the display nicely behind in the picture frame. The final construction ended up quite heavy, so we decided against hanging the mirror on the wall and put it on the easel instead. Having it on an easel also makes it quite easy to move the mirror around.
Software-wise we did take a look at the modular Magic Mirror-Framework for the Raspberry Pi. This framework is a nice, open source project from the Netherlands that offers many different modules and even some open data widgets from Berlin, like this one for the public transport timetables. The installation is also fairly easy to complete. Unfortunately, the framework turned out to be a bit slow for animations – the second hand of our digital clock, for example, was moving quite erratically.
Our Magic Mirror runs straight from Github Pages
In the end, we decided to go the easy way by just building a regular website and letting it run in the Raspi browser's fullscreen mode. It performs better, and you are able to use all the usual array web tools out there to make your data look nice. This made it particularly easy to include a map on Berlin's air quality, live news or a twitter feed, for example.
Our final Magic Mirror (also in the picture: the fabolous @sebimweb).
Given that it wasn't too much of an effort to build, we're quite happy with the result. The mirror is a real eyecatcher at events and manages to draw attention outside the data viz community as well as within it. For us, it's a nice playground to experiment with different visuals. We'd like to try some things with facial recognition and machine learning soon – there is probably significant potential to execute more complex applications. Maybe even in the bathroom. And for those of you who've had your interest piqued and would like to construct your own Magic Mirror: happy building!