Displayator blog

2011/07/07

Displayator: the origin story

TL,DR: Displayator (the app) is the 3rd iteration and 2nd incarnation of an idea that I first had back in 2006, when I bought my first pocket computer. After a few years of tweaking, I can finally have almost any public transport map I want in my pocket, including San Francisco, L.A., Manhattan etc… and so can you.


Displayator showing the displayable created from public transports maps of Bordeaux (France) and San Francisco (U.S.A.) at min and max zoom levels.

Back in 2006, I bought a Palm T|X. I was fascinated by Google Earth and Google Maps. I was also a big user of the public transports of Geneva (no car). They had a nice big beautiful PDF map of their public transport network. Unfortunately, while viewing PDFs on the Palm was possible, it sucked. So I toyed with the idea of transforming the PDF into tiles and showing those onto the Palm. I was a Java-mostly Developer, and after a fashion, it was possible to run J2ME jars on the Palm (if you managed to find the correct J2ME IBM distribution for Palm).Thus, I started working, in my spare time, on a way to tile images and viewing those tiles on a Java running machine.

At the time I was working at CERN, on control software for the (then under construction) LHC. Some of my colleagues were furnishing the Cern Control Center, and so I was seeing plenty of screens side by side. Each triplet of which were connected to a different Linux or Windows machine, on two different networks. As CERN stopped all the accelerator every year over winter to save money on electricity, the CCC grows empty, and all those nice screens stayed on but stopped being used purposefully. So if you asked nicely and proved that your code was harmless, you could run some test on those machines :-).

So eventually, the original Displayator was born. A way to see huge pictures (like the MIRAVI satellite photos) across many machines. It was composed of three different processes : a Controller, a Tile server, and an Image Viewer. The Tile Server ran headless on a server machine accessible by all the screen machines. So did the controller, but running with a window exported through X11. The Image Viewers ran on the Linux and Windows machine connected to the screens. The configuration to get everything started was rather involved (ssh to this machine, start process on the command line, ssh to that machine, start process on the command lines passing IP address and port of the other machine, repeat…) and the communication to transfer the tiles was buggy. I released four versions but eventually moved on to other personnal projects.

As time went on, the iPhone was released in 2007, and I got my hands on one in 2008. It too could read PDFs, but it too did suck at viewing them. It had its own Maps application, but I was living ‘abroad’ from my mobile phone operator, so even though I had the GPRS data plan, it was not very useful to get maps. Then Apple then released the iPhone OS 2.0 with the app store and the Developper SDK. I bought the license and started learning Objective C to work on a way to see big images on my iPhone. I could re-use some of the code of the original Dispayator, but only for the part that was tiling the images.

Eventually, in October 2009, I had a first version that could see huge images. The storage mechanisme had changed from an humble TAR file to a full blown SQLite database. After two more years of tweaking, the images could be easily transformed by being dropped on a GUI application. The iPhone app connects automatically to the application running on the computer. Now, I can drag and drop an images on the application on my computer, and, a few taps later, I have it on my iPhone. Where I can pinch to zoom and where it scroll faster than on my computer.


Displayator showing the displayable created from public transports maps of Geneva(Switzerland) and Manhattan (U.S.A.) at min and max zoom levels.

I finally can have a map of the Geneva Public Transport1 on my iPhone that doesn’t take ages to load. As I frequently travel abroad, I don’t need to pay anymore for the dedicated app for each city’s public transport (or switch app store). In my pocket, I now have the Bordeaux public transport map1. The Singapore Public transport map. I can even have the plans of places I might visit one day: all the San Francisco Public transit maps. And all of Los Angeles public transports maps. And the Manhattan Bus Map. All of them in my pocket.

And, as the app is now available on the app store, so can you!


Displayator showing the displayable created from public transports maps of Los Angeles (U.S.A) and Singapore at min and max zoom levels.

1: Annoyingly, I could not find a Java PDF reader that would open any random public transport map and output a nice PNG. There’s always some file that breaks PDFBox or PDFRenderer. So I resort to saving the PDFs as images in the Preview Mac OS X application. You can do the same in Linux using ImageMagick, but I don’t know of any good solution under Windows. Also, some PDF files are password protected (notably, those for Paris).

A complete list of all the posts on this blog is available in the archives.

If you have any trouble or question with the Displayator or the Displayable creator, you can send @Displayator a tweet or drop me a line at nicolas@displayator.com. Otherwise, I hang out in the google group for Displayator and the Displayable Creator.

— © Nicolas Hoibian, 2013 —