Never Missing the Train Again

(lilymara.xyz)

71 points | by thimabi a day ago ago

22 comments

  • alsodumb 10 minutes ago

    This sounds like a fun project, but there are existing apps whose default page is "when is the next bus/train coming up on stops near me"

    Transit App (https://transitapp.com/) is one of them and I freaking love their interface overall. This app's default view shows you the next bus (in either directions) at the 3-4 transit stops closest to your current location. And you can customize/add favs too. It's a beautiful app, also allows for multi/mixed-modal route planning (part walking, part bike, part bus).

    • parl_match a minute ago

      To be honest, I found having something physical and on the wall and always present _really_ helpful. When the train/bus comes every 15 minutes, being able to casually look and see if you should make a dash for it is way better than pulling out your phone, bringing up an app, and entering your destination.

  • crazygringo an hour ago

    You don't have to jailbreak your Kindle, or render images.

    You can just point its web browser at any webpage you design, and disable the Kindle's "screensaver" (its ads or sleep screen) with debug commands [1, 2].

    You'll be stuck with a browser bar along some edge of the Kindle (you can rotate the device orientation to put it at the bottom or right edge), but it's a small price to pay for being able to write your weather/transit/news screen in easy HTML/CSS/JS and whatever backend language you want, and run it on a cheap DigitalOcean $4 instance or whatever.

    [1] https://blog.notfaqs.com/2018/06/kindle-e-reader-disable-scr...

    [2] https://www.mobileread.com/forums/showthread.php?t=198334

    • DannyPage 23 minutes ago

      I looked into this with my 4th generation Kindle; it seems like it won't be able to use any HTTPS website due to invalid certificate. However, setting it up to talk to a server on my local network would be the way to go. Thanks for the idea!

    • cptcobalt 32 minutes ago

      It would be even cooler if Amazon also encouraged and built a "Kiosk mode" browser view of the kindle for this sort of display hacking.

      • FrecklySunbeam 26 minutes ago

        (author here) I've also been thinking about this - I've since built out a Rust library (https://github.com/lily-mara/kindling) for scaffolding the server piece of this and I've been considering creating a Kindle client app that integrates with it. This is possible but would require using the Kindle Java SDK, which does not fill me with excitement.

        • stavros 9 minutes ago

          That would be fantastic, although even just the way you've done this here is great. I've got a few old Kindles that would be good to convert to displays, and if I could just install a server and a client, it would take a lot of the work out of it.

          • FrecklySunbeam 4 minutes ago

            No matter what, jailbreaking would be the most difficult step in the process, but the library I linked above takes a lot of the work out of it. It's entirely undocumented atm (I am surely the only one using it), but it comes with an install script you can run on the Kindle to do the setup once you have the jailbreak done.

    • philips an hour ago

      I am almost certain disable screensaver was removed for later Kindles.

      • crazygringo 16 minutes ago

        I didn't seem to be last I checked -- the older Kindles require the sequence:

          ;debugOn
          ~disableScreensaver
          ;debugOff
        
        while newer ones only require:

          ~ds
        
        I know that for some ad-supported Kindles it doesn't work unless you pay to remove the ads (for obvious reasons), but if you pay then it will.

        But last I checked was a couple of years ago. I'd be very curious if anyone can report it not working. (Also note the command doesn't survive reboot, you have to re-disable after rebooting.)

  • mmoustafa 10 minutes ago

    If you want a transportation app built for locals I highly recommend Transit. When you open the app it shows you the transit options closest to you, where they’re heading, and when the next one arrives. Never have to put in a destination.

  • 43920 16 minutes ago

    Not to diminish OP’s project, but the stated goal of “know when each transit line has an upcoming train/tram/bus” is probably already achieved by https://transitapp.com/ - the default view when you open the app is a list of nearby transit lines, sorted by distance and showing the next departure for each.

  • pimlottc an hour ago

    The CTA (in Chicago) has a nice customizable “next train screen” web app that’s perfect for this:

    https://www.transitchicago.com/developers/diydisplay/

  • pkulak 2 hours ago

    Super cool. I did the same kind of thing with my tidbyt display:

    https://github.com/pkulak/tidbyt

    My local transit agency (Trimet) is _really_ good with their api. It's public, and a single HTTP GET to get the ETA on every bus that serves a given stop, so it wasn't event that much work.

  • sourcepluck 40 minutes ago

    A. "Busses" should be "buses", I think? Or am I stepping into a holy war... Maybe it's a British vs American English thing, but a quick look says that Merriam-Webster agrees. Maybe it's a choice by the author, in which case, fair enough. If I was the author, I'd prefer knowing, anyway.

    B. Super cool article! I've an old Nook somewhere being neglected which I am now moving up my list of devices to do some messing with and find a use for. Excellent stuff.

    • BalinKing 17 minutes ago

      Apple's built-in dictionary has both "buses" and "busses". The OED lists both as well, but says that "busses" is primarily American English.

    • Terr_ 23 minutes ago

      Yeah, the plural noun is "buses", while "busses" is a conjugated verb.

      Ex: "When the regular buses aren't running, he busses people around in the minivan."

      • BalinKing 16 minutes ago

        The OED says that "busses" is an acceptable plural in American English (I haven't read the article though, so I don't know what dialect the author speaks/writes).

  • ramses0 an hour ago

    R.I.P. Pebble:

    https://developer.rebble.io/developer.pebble.com/community/a...

    """ Caltrain is a Pebble app that displays upcoming trains at a station, and where those trains will stop along the remainder of each of their routes.

    Finally, it uses PebbleKit JS to retrieve your location on launch. If it gets a response before you manually choose a station, it will automatically show the station closest to you. """

    ...you could literally map that "applet" to long-press on a button, and get the info in like 5 seconds.

    For extra "dick tracy" spice, call an uber from your wristwatch with 3-4 clicks (long-press, ok, next, ok => "your uber will arrive in __ minutes"). Actually, reviewing the app docs, it looks like it was only two long-presses to request $LAST_USED_CAR to $CURRENT_LOCATION.

    https://www.uber.com/blog/pebble-smartwatch/

    https://pebble-help-legacy.rebble.io/help.getpebble.com/cust...

    Buttons, people! Buttons!

  • fatnoah 2 hours ago

    I love this. As a formerly car-free resident of Boston, I cobbled together something far cruder to handle the cases of there being many ways for me to get from point A to point B, but the "best" way depended on time and any stops I'd make along the way.

    For example, I walked my son to school before heading to work, and sometimes I got breakfast after dropoff. Having the "next departure" view let me have a more fluid experience that handled the non-deterministic nature of walking with a 4 year old in a very interesting place, or deciding whether to hustle to get the train because missing it hit a schedule gap, etc.

  • sofixa 2 hours ago

    Nice. I have something similar with a repurposed Lenovo ThinkSmart View tablet/conference room device, with Home Assistant and its integration to my local transit authority. The advantage is that it's much more out of the box (okay, I did have to flash a custom Android ROM on the Lenovo, but still), it can show whatever I want, and I can also use it to control stuff like my lights or robot vacuum.