This website is now archived. To find out what BERG did next, go to

Post #5018

Bringing the London Bus Network home

The afternoon Transport For London quietly launched, a desk-beer was in my hand after our Friday Demos. Countdown tells you when busses are arriving at any of London’s 18,541 bus stops. I was due for a meeting in a pub in 20 minutes, but I thought I’d have a poke around. It quickly became clear that whilst there was not yet an official API for the data, the website itself was running from an internal API. It only took a little bit of playing before I was able to programmatically access the data and within my spare 20 minutes I had written and deployed a tiny web application redisplaying TFLs data.

I had enough to start exploring what’s possible with this data. The simplicity of the website allowed it to work on any device I tried at any size. Where could this service fit best in mine and others lives? With another 20 minutes, auto-refreshing and a bus stop search page, it was ready for the world.

I quickly got feedback from people who had made it into an OS X dashboard widget or added to their iPhone screen. Having it accessible from your pocket or work desk was unsurprisingly but pleasantly very useful. on an iPhone

But what about our friends’ and indeed our own work on media surfaces, secondary screens, information radiators and the like? I’ve always wanted to explore what can be done with the Kindle as a relatively cheap web enabled e-ink display, and it worked on mine straight away. So I taped it to the inside of the BERG office front door.

Kindle showing live bus times taped to door

It sits there, quietly updating every 15 seconds. Not glowing, not demanding attention, only offering it at the quickest of glances. As comfortable as a wall clock. From my limited testing, the 6 month old Kindle can do this for about 48 hours before needing a recharge, a figure I’m sure could be increased with some effort.

The Kindle came home with me that night (soldiering on in my bag with unnoticed updates over 3G). I tried it out in various places. The living room was my first thought, but updates from the big city outside didn’t fit well in there. Maybe, like the office, on the front door might work, but by that point I have already committed to leaving the house. All that told me was how long I was going to have to wait, enforcing the world on me, not empowering me to adapt.

Kindle showing live bus times next to a toaster

It found it’s eventual home next to my toaster. I’m not a morning person, and my mornings are usually reactive, not routine. I will try and grab breakfast at home, but often end up grabbing a bagel en-route to work. Now my kitchen tells me if I have enough time for toast.

A service involving 8,500 GPS enabled busses and many servers is very impressive, but it really comes into its own when it doesn’t show off.

Before this:

After this:

15 Comments and Trackbacks

  • 1. Matt Webb said on 14 September 2011...

    I love this — I’ve been using this a ton, mainly to choose which way to turn when I leave the house :-)

    What my use reminds me of is Paul Hammond’s Minimuni project from 2008: — this is an absolutely gorgeous bit of situated software.

    Paul has 3 Muni stops near his place in San Francisco, all of which take him to work, and all of which are in different directions. This is a dedicated page that tells him where to go.

    He says: “It puts arrival information for all the stops near me on one page, and puts the emphasis on when I need to leave the house to catch a train. It tells me whether I need to get going right now, or whether I have 5 minutes to play with my kid before leaving.”

    Check out the link, the UI is minimalist and just about perfect for his use of it.

    James, can this comment count as a feature request for the TFL data viewer?

  • 2. Tom Martin said on 14 September 2011...

    I’ve got a little app rigged up to list bus timetables except I only list two stops, Home and Work. it’s software designed especially for me. Unfortunately because Centro doesn’t offer any kind of API I’m stuck doing with weird scraping and regexes to extract the times.

    Never considered using a Kindle as a cheap screen, perhaps I should tape it near the front door so I know how quickly I need to walk in the mornings.

  • 3. Scott Smith said on 14 September 2011...

    Wonder what could be done with one of these?

    I do think e-paper may be the most underexploited tech out there right now, in particular for the sort of ambient, non-invasive apps you are describing here.

    Nice work.

  • 4. John said on 15 September 2011...

    This is really great! I am sure a lot of people will love this.

  • 5. Derick Rethans said on 15 September 2011...


    Awesome. Is the code for this somewhere? Where I’m at, we have two stops really close together and it’d be good if the little widget could show it for two stops….


  • 6. Matt Cooper said on 15 September 2011...

    This will really come into it’s own as the nights draw in and the weather become chillier. Suddenly the amount of time you wait at the bus stop is something you’re very aware of.

    similar txt based systems are very popular in Scandinavia in the winter for this very reason.

    Also, great for bus stops *without* the countdown led displays. Ironically they’re the stops which need this data the most.

  • 7. Panja said on 15 September 2011...

    Love this! In line with London Fashion week it would be great to make some chunky jewelry that feed the data in according to your location. In the meantime a giant kindle in your top pocket wouldn’t be a bad look either.

  • 8. James Darling said on 15 September 2011...

    Matthew, Tom and Derick: There are many very personal specific use cases that would only work for 1 or a few people. I feel it’s pointless to try and meet them all in one app.
    To keep this project flexible and minimal, I’m trying to avoid features like the plague. But you sure can make your own, the code is at

    Panja and Scott: I agree, e-ink seems to offer a lot of untapped, unglamorous potential. I wish it was easier to hack with (if you have any tips I’d love to hear them).

  • 9. Helen Duffett said on 15 September 2011...

    Love – I use it every day!

  • 10. Jaime Scatena said on 16 September 2011...

    You guys from Berg don’t cease to amaze me!

    That’s the kind of useful witty development that could only be achieved by creative people interacting with other creative minds.

  • 11. Paul Squires said on 19 September 2011...

    Great work guys, and encouraging to see that the Kindle is starting to be taken seriously as a multi-purpose device outside of its ereading capabilities.

  • 12. Alastair said on 19 September 2011...

    Nice work. Also – where can I find that toaster?

  • 13. Clive Page said on 8 January 2012...

    Thanks very much for making that available – I’ve bookmarked on my Kindle and will try it out next time I have to take a bus in London.

    One suggestion: it might be even easier to use in some circumstances if one could alternatively input the number of a specific bus-stop (most of them have the number displayed now) instead of having to spell out the name of the location and select from a list of nearby stops.

    All the best,

  • 14. James Darling said on 26 January 2012...

    Clive: I looked into this, but there are actually at least 3 different UID systems for the bus stops, and couldn’t (in the short time I worked on this) find a cross reference. If you do find it though, feel free to add it to

    In other news, the toaster broke this morning.

  • Trackback: On (Not) Waiting for the Bus | We are Now Go. 4 February 2012

    […] terribly profound about the code I wrote last weekend (or the utility – James Darling of Berg built something very similar a week or two ago using an old Kindle): a few dozen lines of AJAX and CSS that ping the public API […]

Leave a Comment

Recent entries from
James Darling

Popular Tags