Top
Best
New

Posted by LourensT 4/11/2025

Live Map of the London Underground(www.londonunderground.live)
508 points | 115 comments
lol768 4/11/2025|
https://ben-james.notion.site/tube-data

> You will regret using this data. You will regret using this API.

> It serves data from individual arrivals boards, which all spell stations differently.

> It describes train status in free text that varies between stations. “Approaching Barnet”, “Near Waterloo”, “Heading to Bank”, “Departing Southgate”, “Leaving Hampstead”, etc.

I'm not sure what you expected from an organisation still offering nothing but SMS-based MFA to its "customers" and one that got massively disrupted by a 17 year old in a cyber incident which seemed to paralyse the entire organisation a few months ago...

Symbiote 4/11/2025||
It's also the organization that rolled out the second large stored-credit contactless payment system in the world (after Hong Kong), and was the first to introduce bank card contactless payments.
theginger 4/11/2025|||
Best part of 20 years ago, which is a long time in anything, it's a lifetime in tech. About 15 years ago I used to work on some projects for greater London authority, we seemed to mostly be squatting on transport for London servers and they seemed to have good tech and people seemed to like using it. 5 years later they couldn't get away fast enough.
ghaff 4/11/2025||
These days just tap a contactless credit card is about as good as it gets-while still having the Oyster alternative where the credit card isn’t a good or preferred option.
lol768 4/13/2025||||
Hurrah. That was 13 years ago and it still doesn't support railcard discounts.

TfL may have been innovative a long time ago, but they haven't moved with the times at all. Hell, the Oyster POMs only got contactless payment readers in the last couple of weeks. Prior to that it was "chip 'n' pin" - y'know, the technology introduced back in 2004.

HPsquared 4/11/2025|||
For some reason I'm thinking of the classic "Speed cooking" videos:

https://youtu.be/8TVpQiCIqp4

bookofjoe 4/11/2025|||
FunFact: I have enjoyed HN for about 10 years even though I have NO IDEA what an API etc. is. A tribute to its welcoming big tent for non-techies like me who wouldn't know a dark pattern from dark matter.
Pathogen-David 4/11/2025|||
If you're curious: An API is more or less just the communication boundary between two pieces of software.

A common sign of a bad API (including this one) is when it presents data in an overly human-centric way rather than something more computer-friendly.

For a human it's really easy to see "Regents Park" and "Regent's Park" are very very likely referring to the same station, but a computer can't know that unless a human goes out of their way to tell it that.

You could argue the TfL API is perfectly fine for its intended use-case of updating the arrival screens (which are meant for humans), but it's generally better to design APIs to grow for future use-cases you haven't thought of yet. Changing an API tends to be hard once it's being used in the real world.

For example: The older TfL stations have LED matrix displays for displaying information, which are very limited in how much text they can display at once. The newer stations have big TV screens instead, which can show a lot of information. It wouldn't surprise me if this is the underlying reason behind some of the inconsistencies, especially ones like "Kings Cross" vs "King's Cross St. Pancras". I'd bet the longer names with punctuation correspond to arrival displays in the newer stations.

exe34 4/12/2025||
this reminds me of the time I got on a train to Kingsley instead of King's Cross, because the train board only said "Kings" and I didn't think to check the boards/platform number in a rush.
Pathogen-David 4/13/2025||
Ahh, that's the worst. Hopefully you realized your mistake sooner rather than later.
exe34 4/13/2025||
only went one or two stops the wrong way and turned around. I was new to the British train system.
eks391 4/11/2025||||
An Application Programming Interface provides data to a requester. They are built/shaped by the provider and so the provider usually has documentation for a user to know how to pull and parse it, with example snippets.

Its like having a printer with preset documents it can print. You set it on your desk, and others can click a button to have the chosen preset sheet come out. You can get creative by hiding some buttons, making some buttons also require a fingerprint of the user to print the paper, or the printout changes every minute, etc.

But the API printer sits on someone's server and prints objects, or organized data, and sends it to whatever you used to call, or request, from the API.

sa-code 4/11/2025||||
It's like a website but for code instead of people.

People use web browsers to hit websites, but when code hits URLs they are typically just called APIs. A website is technically an API too

unfocused 4/11/2025||||
I'll try and explain it simply with no technical information.

An API, or Application Programming Interface, allows you to interact with software using pre-defined agreements, or contracts.

Think of API as a set of legal contracts. I use this analogy when explaining it to lawyers.

If I give you $5, and I say give me an Apple, you will give me an Apple, as expected by the predefined contract, that I receive an Apple.

If I end up receiving Broccoli, then what we have here, is a bug. Or, in other words, the contract has been broken.

Now apply this to other domains in commerce - e.g. I give an ID of an item in a store, and I get back the name of the item, it's price, and if it's stock.

unkeen 4/11/2025|||
To the gloriously mansplaining sibling commenters: Do you really think a question has been asked in the parent comment? If you do, why?
Mountain_Skies 4/11/2025|||
For each person who is willing to speak up and say they don't understand something, there's usually dozens more who silently are wondering the same thing. Even if the parent commentor didn't want an explanation, they opened to floor for others to help out the silent folks who actually were curious as to the explanation.
bookofjoe 4/12/2025||
So true. I have a rule of 100: for every person who takes the time and trouble to actively respond to something on the phone/by mail/online, there are 99 others who feel exactly the same way but can't be bothered.
bryanrasmussen 4/11/2025||||
Do you really think they're "mansplaining" to the user identified as bookofjoe?
hardlianotion 4/11/2025||||
Pretty sure they're all women.
johnmlussier 4/11/2025||||
What’s the harm? Parent can choose to not read if they want.
bookofjoe 4/11/2025|||
This made me smile.
frakkingcylons 4/11/2025|||
This is something that a small LLM handles quite well. I’m using one to normalize MTA delay reports so I can aggregate stuff in a sane way.
MrsPeaches 4/11/2025||
Was this big one recently that took out the Zip cards?
tim333 4/11/2025||
Seems to be: "TfL’s efforts to deal with the cyber attack have resulted in a growing shutdown of its own systems, meaning that new zip cards used by children and teenagers cannot be obtained" "17-year-old male has been arrested on suspicion of Computer Misuse Act offences in relation to the attack. The teenager, who was arrested in Walsall ..." https://www.standard.co.uk/news/london/tfl-cyber-attack-pers...
i_like_robots 4/11/2025||
I've seen visualisations similar to this before, but this one is by far the most beautiful and I could watch it all day.

I echo the sentiments on the TfL API, I've built the same Tube Tracker app over and over for more than 10 years[1] as my go-to for learning new tools[2] or testing changes to frameworks[3] and I'm not sure it's ever improved. A chap called Chris Applegate wrote extensively about his battles more than a decade ago[4], did they ever add the stations between Latimer Road and Goldhawk Road on the Hammersmith & City/Circle line?

[1]: https://www.matthinchliffe.dev/2014/03/05/building-robust-we...

[2]: https://svelte-tube-tracker.vercel.app/

[3]: https://github.com/i-like-robots/react-through-time/pulls

[4]: https://web.archive.org/web/20150620042340/http://www.qwghlm...

nullwriter 4/11/2025||
its incredible the sentiment on TfL API without realising your country even has an API for your public transport. Thats a huge leap in itself, let alone an actively maintained one
charkubi 4/11/2025|||
I also implemented this 16 years ago[1] while researching a lot of new technology all at once, it was tricky but very satisfying to get it working.

[1]: https://github.com/charleskubicek/wheres-my-tube

iamcalledrob 4/11/2025|||
Agreed, this is absolutely beautiful.

The detailing of things like how trains "overlap" each other is incredible

ge96 4/11/2025||
Also this one

https://minitokyo3d.com/

totetsu 4/11/2025||
But its after the last trains now so not much to see.
dachris 4/11/2025||
There's this board game we played as kids - https://en.wikipedia.org/wiki/Scotland_Yard_(board_game) where you move around the London public transport system chasing Mr. X (everyone always wanted to play Mr. X) - it was really funny
bbx 4/11/2025||
I still play that game! Fairly popular in France, but nobody seems to know it in England weirdly enough. The newer board is a bit less readable than the 90's version. I also play it on my phone, although the AI isn't that good.
hk__2 4/11/2025||
I’m French and this is the first time I hear about it.
usr1106 4/11/2025||
It was fairly popular in Germany in the late 80s / early 90s.
willvarfar 4/11/2025|||
Grown ups play Mornington Crescent.
crabmusket 4/11/2025||
I loved that! Thanks for reminding me of it.
gala8y 4/11/2025||
Cf. "A real-time 3D digital map of Tokyo's public transport system", https://news.ycombinator.com/item?id=37829061, Oct 2023
hooch 4/11/2025|
Quite exceptional
the_mitsuhiko 4/11/2025||
The Austrian version of this is particularly cool because it has all forms of public transport on it: https://anachb.vor.at/ (click Kartenoptionen -> Live map -> alle einblenden).
wwarek 4/11/2025||
And even API available (for some forms of public transport): https://www.wienerlinien.at/ogd_realtime/doku/ogd/wienerlini...
Althuns 4/11/2025|||
I just spent a bit of time in Wien and was blown away by the ease of use of their transit system and its integration into Google Maps. For someone from the US, it's like a different world.
archagon 4/11/2025||
I noticed Yandex maps for St. Petersburg has this as well. Always wanted it in the US.
modernerd 4/11/2025||
Tube Creature is also cool (the source of the tube paths for this map).

Particularly like the "Tube Tongues" metric — the second-most commonly spoken language after English by residents near each tube station, it paints a real picture of a diverse London:

https://misc.oomap.co.uk/tubecreature.com/#/tongues/current/...

IIAOPSW 4/11/2025||
Incidental to this, I'm now convinced that the tube map is overrated and a quasi-geographical map would suit London better. And by "quasi" I mean slightly expanded or contracted in certain spots for clarity but basically correct.

But the district labels are a bit too in the way right now, and in any case it would be nice to see the stations.

Kwpolska 4/11/2025||
For most big cities and conurbations in Poland: https://czynaczas.pl/ (city picker in the top left, defaults to Warsaw, and shows many modes of transport).
_joel 4/11/2025||
Jago Hazzard will be happy (well worth subscribing on youtube btw if you like trains)
ratatoskrt 4/11/2025|
> It serves data from individual arrivals boards, which all spell stations differently

It doesn't, at least not for most lines. TfL's data is notoriously inconsistent, with multiple backends used for different purposes. For most lines, the dot matrix indicators are fed by the signalling system and timetables (more modern signaling systems are timetable-aware). Meanwhile, the online API relies on estimates from TfL's TrackerNet.

More comments...