Subways
I am a big subway nerd. I have been a paid member of the NYC transit museum for many years, and have even taken subway tours (thanks to my wife) and station tours (also thanks to my wife). I find the subway so fascinating in design, construction, operation, success, and failure. If you live in NYC, chances are, you take a subway at least sometimes. If you're a tourist, there is absolutely no better way to get around.
Like all things, technology is supposed to help. The MTA has an app now, and there are dozens of apps made to help navigate the city. Besides the MTA app, there is an app called CityMapper which has transit information for hundreds of cities around the world, including New York. In my opinion, this app is the only real competition, and the app I would recommend most folks use...for now. There is also Transit and Subway Time, but those have their limitations as well.
Yamtam - Yet Another Mass Transit All-in-One Map
However, I am working on a little project - https://yamtam.nyc. I have a few gripes about CityMapper and I think I have come up with a decent solution to all of them. This originally started as a project to help identify the accessibility features of the MTA, but I think it can be a lot more. Firstly, yamtam operates right in a mobile browser with no need to install any apps. The whole thing weighs about 20MB decompressed. You CAN install it to your home screen or app drawer or whatever, and when you do, it works just like you would expect, only downloading the bits it must. What are the bits? Very lightweight html, a single javascript library, some style data, and a massively compressed representation of the state of the entire MTA subway system. When I say entire, I mean it. I am collecting data from at least 2 dozen sources, sometimes every few minutes, or just daily, depending. Every time you have an internet connection, you download ~200 kB of data which represents every line, station, stop, elevator, escalation, and alert in the system. This is used even when you're in the tunnels and have no internet, which solves my first gripe with CityMapper which gladly tells me I have no internet even though I did have it moments ago. When you open the app, it does exactly one thing: geolocates me and tells me all about my nearest station. This is the most important thing at this point in my journey. Can I enter my nearest station? Is it closed? Are the trains at that station running? Are the escalators and elevators working? The mere act of opening the app is all you need to do, and you have this data for your closest and every other station in the system.
Anyway, I'll continue to post about this here, but figured it was worth talking about a little bit. Just getting a .nyc domain required a little extra validation - you can only get one if you live in the five boroughs, so you get a little extra validation that I am not only the creator, but I'm also a customer!
CLI tool published to PyPI
For those of you who prefer the CLI, I published a small tool to PyPI. It allows you to do things like this:
Upgrades will come over time, but it works well for what it does.
Widgets
Yamtam also works with Glimpse 2 (iOS) and Widgetify (Android) to allow adding a widget. Each
info pane has a widget link at the bottom. For example, Forest Hills-71 Av is G08. Enter the URL in the widget app:
https://yamtam.nyc/widget.html?stations={"G08":{"E":{"dir":"S","term":"ALL"}}}&settings={"bgcolor":"DDD","fgcolor":"222","title":"E FH To WTC"}
You can customize the colors by changing bgcolor and fgcolor, these are normal web hex colors.
Note the minimum refresh is 15 minutes on iOS and 5 minutes on Android, so not perfectly real-time.