Settings

Theme

Show HN: Ubähnchen – Animated subway map of Berlin

xn--ubhnchen-1za.vercel.app

278 points by Elzear 3 years ago · 111 comments (110 loaded)

Reader

rob74 3 years ago

Nice! Would be more realistic (and more Mini Metro-like) if the trains actually stopped at the stations though. Also, the trains don't have to disappear and reappear at the terminal stations, they could just stay there until they are scheduled to go back - after all, that's what they do in reality as well...

Any chance that the source could be made available ;) ?

  • belter 3 years ago
  • pvg 3 years ago

    It's linked in the (somewhat easy to miss) about page

    https://xn--ubhnchen-1za.vercel.app/en/about

  • ant6n 3 years ago

    The solution with fade out / fade in is pretty clever. Short layovers will cross-fade automatically, but you don’t need complicated internal information about which train continues from one run to the next.

    Stopping would be neat, but may also be visually messy.

    • rob74 3 years ago

      It doesn't have to be complicated though, and it also doesn't need additional information. The trains could simply be "parked" at terminus stations, and when a train is scheduled to depart in the other direction, check if a train is available at the station - if yes, use it, if no, create a new one.

  • pantalaimon 3 years ago

    Strangely S-Bahn does stop at stations, U-Bahn does not.

    Maybe a difference in the source data?

NeoTar 3 years ago

I really like it! Well done!

- As others have mentioned, it seems dodgy on Firefox. The button to switch between U-Bahn and S+U mode doesn't seem to work at all on Safari (?)

- Completely unreasonable request, but it would be cool if it were to show the current engineering works - i.e. the U1 not running, and the temporary U12 taking over the western U2 and U1

If anyone else is a urban railways geek, then may I introduce you to CartoMetro - https://cartometro.com/ - an amazingly detailed map of various (mostly French) urban rail systems (although sadly lacking Berlin!)

radiosnob 3 years ago

Very nice. Given the smoothness, I first thought this was real-time:) As someone who lives in Berlin, I didn't know there was an open API for the VBB. I'll have to have a look at it.

And loving the Minimetro vibes! (Running this on android 10 on a OnePlus 7pro - runs smooth in Chrome)

  • once_inc 3 years ago

    I too thought for a moment that this was real-time until I noticed the absolutely frighting speed at which these trains would be passing through the tubes.

    People waiting at a station would be sucked onto the tracks by the vortex created in the wake of a passing train. The front of the trains would probably be red hot with friction, while the passengers would be screaming until their train reached the end of the line, where it would pass out of existence, presumably into another dimension.

    That is, until god slowed reality back down to 1x speed.

  • quantumduck 3 years ago

    I don't know if VBB used this, but most transit agencies publish their data in two standard formats these days GTFS for static schedules and GTFS-real time for real-time data. Any application you build around these formats would immediately scale to pretty much every big city.

    Google maps and Apple maps provide transit directions in their apps using GTFS and GTFS real time data (partly the reason why Apple maps was able to add transit directions feature so easily - Google had to deal with the transit agencies years before that and convinced them to publish data in open source standard formats).

  • YLE118 3 years ago

    Agreed on the minimetro feel!

    I thought it was live too, I wonder if there's a way to do that? I like that you can see both the s and u bahn, though I kind of wish the abstract map would carry over.

    • ElzearOP 3 years ago

      Thanks a lot for the feedback!! The "live mode" is already developed using hafas-client[1] and VBB-API[2]. I just asked VBB to give me API access, I'll release the feature when I get it. If you are interested, VBB already made a live map[3]

      1: https://github.com/public-transport/hafas-client 2: https://www.vbb.de/vbb-services/api-open-data/api/ 3: https://www.vbb.de/fahrinfo/

      • derhuerst 3 years ago

        Author of hafas-client here!

        Do you know about v5.vbb.transport.rest's /radar API [1]? Because it wraps VBB's de-facto-open unofficial API [2][3], it doesn't require authentication or even signing a contract.

        If you have problems using it, please get in touch with me!

        [1] https://v5.vbb.transport.rest/api.html#get-radar [2] https://github.com/public-transport/hafas-client/tree/5.25.0... [3] https://github.com/public-transport/transport-apis/blob/8e05...

        • ElzearOP 3 years ago

          Hi, I know you! You're hard to miss when working on public transportation. Very happy to see you're looking at my project! I sent you an email.

          v5.vbb.transport.rest's frames were missing something I needed, if I recall correctly. With a fork of hafas-client, I got something to work okay. I was going to release it too, but then I realised I should use another user agent than 'my-awesome-program' which only VBB can provide, I think.

          • derhuerst 3 years ago

            > v5.vbb.transport.rest's frames were missing something I needed, if I recall correctly. With a fork of hafas-client, I got something to work okay.

            It would be great if you could create an Issue in hafas-client about this, so everyone can benefit from the changes.

            > I realised I should use another user agent than 'my-awesome-program' which only VBB can provide, I think

            If you're talking about hafas-client: No, you can use anything! It's merely about being transparent towards VBB who/what is using their API, but they don't have to approve it beforehand; They can't in fact, because the "mobile" HAFAS API just uses a static auth token.

            • ElzearOP 3 years ago

              Oh okay. Here is an old version of Ubähnchen with the toggle for "live mode / planned mode" on the top right: https://ubahnchen-inona1te6-lzear.vercel.app/?live The URL parameter still works in the current version by the way.

              When I changed 'my-awesome-program' to 'ubahnchen' or something else when creating the hafas-client, it stopped getting valid responses. So I thought I should wait for VBB to give me an ID that works.

              • derhuerst 3 years ago

                > When I changed 'my-awesome-program' to 'ubahnchen' or something else when creating the hafas-client, it stopped getting valid responses.

                Please report this as an Issue in the hafas-client repo, so we can discuss this further.

                > So I thought I should wait for VBB to give me an ID that works.

                This is not how it works: - The official VBB API is an entirely different API, which they give you an auth token for when you ask. - hafas-client uses the "mobile" API, which has a static universal auth token. But it sends a (slightly randomised) User-Agent in order to communicate who/what is making requests. It might be that some User-Agents are blocked.

    • rob74 3 years ago

      There is definitely a way to do it, actually the Munich S-Bahn has a realtime map : https://www.s-bahn-muenchen.de/fahren/live-map - not as smoothly animated though, and I'm not sure if the data used there is publically available. As an Easter Egg, the "50th anniversary" train (photo here, but the article is paywalled: https://railcolornews.com/2022/04/26/de-expert-s-bahn-munche...) is highlighted on the map.

  • MBCook 3 years ago

    Yeah the ridiculous speed confused me for a little bit before I saw the “x50“ up in the corner.

    This is really great, and despite saying it’s desktop optimized it worked great on my iPhone.

    Love it.

miniwark 3 years ago

The problem with Berlin is than there are many operators for public transport by train:

* U-Bahn, for the subways (underground & aerial)

* S-Bahn, for sub-urban lines (mostly aerial)

* Traway in est-Berlin

A map, live or not need at least to combine the U-Bahn and the S-Bahn, (and if possible the tramway too), because you generally need to use both networks (with the same ticket) to travel. Staying in only one of the network is just not practical.

sccxy 3 years ago

Looks great!

If author wants some inspiration then this tokyo map is awesome:

https://github.com/nagix/mini-tokyo-3d

  • jansan 3 years ago

    In the Shinjuku city hall many years ago there was an animation showing how population desitiy changes in Tokyo during one day. It was absolutely mindblowing, but I have never been able to find it online.

    If someone happens to know where I can find this animation I would be really grateful.

  • ElzearOP 3 years ago

    Thanks for sharing this! It will definitely be helpful, as I am considering updating my map to use WebGL.

  • codethief 3 years ago

    Wow, it even includes weather (rain) and airplanes.

bugmen0t 3 years ago

Reminds me of the official live map "Livekarte" at https://www.vbb.de/fahrinfo/

  • probably_wrong 3 years ago

    For those like me who just see a regular map, click on "Livekarte & Multi-Mobilität" on the right, then "Livekarte", and then "An".

Quanttek 3 years ago

Extremely slow for some reason in Firefox on Mac OS for me

  • jeroenhd 3 years ago

    Same here. A profile suggests that most native time is spent rendering the backdrop shadow of the text rendered to the canvas, and most of the remaining CPU time is spent on the drawText Javascript call.

    Looks like Mozilla has something to optimize!

  • runxel 3 years ago

    Totally unusable in Firefox on Windows 10 as well.

janfoeh 3 years ago

Buses and subway positions for Hamburg: https://hvv.live

  • jarek83 3 years ago

    I love it. I'm from Poland and lived for a while in Warsaw, where public transport also has all this kind of tracking, BUT the operator when asked about making this data available to travelers, he replied something like "Why would people need it? It's internal data and it will stay like that".

akie 3 years ago

It's super smooth on Chrome, but it's doing (say) 1 frame per second on Firefox.

  • artogahr 3 years ago

    Same for me, even I set "layers.acceleration.force-enabled" to true. Chrome and Chromium are smooth.

    EDIT: Turning "High Resolution" (in the settings of the webpage on top right) off and on seems to fix the issue somehow? It's smooth now, but reloading takes it back to choppy.

  • phil294 3 years ago

    It's definitely a website bug, as goes from 1 FPS to smooth if you go to S+U and back to U again. (debugger didn't help, but it's all minified anyway)

    • riggsdk 3 years ago

      The slowness in firefox comes from the station name drawing. Going from U to S+U and back again seems to reset the setting for drawing them. The settings option for drawing the station names is somewhat buggy.

      To optimize this the text should probably be drawn to another canvas/surface and layered behind the main one and not be updated that often.

  • y42 3 years ago

    Not even 1 FPS on my Firefox and it's also eating CPU like nothing. Good thing: This kind of simulates the sound of the subway.

    (Nevertheless: Beautiful!)

  • pindab0ter 3 years ago

    On Safari the animations are smooth but mouse clicks are barely registered or only after a few seconds.

  • rob74 3 years ago

    It's also smooth for me (also Chrome) in "U-Bahn only" mode, but when I switch to "U+S", it's noticeably less smooth (10 fps?). It gets better if you deactivate the "city map background" in the settings.

  • ale42 3 years ago

    Works fine on Firefox for me

  • hk__2 3 years ago

    Try clicking on the S+U on the right. In Chrome it’s super smooth on the U view, but somehow when you switch to the S+U one it’s very laggy.

  • jonas-w 3 years ago

    With firefox on android, even though it says it isn't optimized, it runs perfectly smooth even in s+u mode

  • pantalaimon 3 years ago

    It's getting choppy for me in Chrome when enabling the S and U Bahn mode

  • meinaccount00 3 years ago

    Worth checking that Firefox is (also) using the GPU correctly.

  • threatripper 3 years ago

    Same for me (FF103.0.2 on Ubuntu 22.04)

  • bambax 3 years ago

    Smooth for me on FF (desktop).

  • elberdude 3 years ago

    Seems good for me

philholden 3 years ago

I did something very similar to this in 2012:

http://philholden.me.uk/kraya/routemap/

I wanted to simply draw and SVG of the bus route map. The timetable had the lat long of stop positions. I was using d3 so having drawn the map it almost zero effort to animate the busses. It was just a standard transition with a delay and a duration.

hubraumhugo 3 years ago

Well executed side project with a great name! :) Where do you get the data from?

Vogtinator 3 years ago

An official live map with subway and tram positions in Nuremberg: http://infoportal.vag.de/InfoPortal/

amaccuish 3 years ago

Nice, only thing is it's not currently accurate. The U1 and U2 have temporarily combined into the U12.

  • ElzearOP 3 years ago

    Thanks for the comment! It made me realize I forgot to move a file. It's fixed now (you might need to clear your cache). And the live data toggle is now enabled.

fs111 3 years ago

This has exited forever for all parts of the VBB https://www.vbb.de/fahrinfo/ You can turn on individual forms (S-Bahn, U-Bahn, Bus, Ferries etc) of tranport on the right hand side menu.

bergenty 3 years ago

On a tangent, buying a ticket for a tourist is a real pain on the Berlin system. You have to know what a zone is, what specific station etc. would be great to have a standard fare like in NYC.

quantisan 3 years ago

https://tracker.geops.ch similar app for many major cities around the world. Sharing for ideas.

insane_dreamer 3 years ago

Mini Metro IRL. Kudos!

pushreply 3 years ago

so cool! nice work! maybe Munich is next? :)

purecode 3 years ago

There is a real Berlin live map of subway, bus and railway at: https://www.vbb.de/fahrinfo/ by the operator.

Seems no english version available, you have to

  - click upper right corner "Livekarte"
  - click on the menu again "Livekarte"
  - select means of transport: radio buttons for subway, railway etc
  - zoom in to see subway
Angostura 3 years ago

Live map showing trains on the London Underground

https://traintimes.org.uk/map/tube/

divan 3 years ago

What's the purpose of animation here?

It seems to have no information about actual train position, or am I missing something?

  • Closi 3 years ago

    I think it is just a toy :)

    But the trains are sort-of-actual positions based on the time in the top right hand corner and the latest estimated arrival times, but time is moving forwards at 50x speed.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection