Transit Directions

November 23rd, 2009
mbta, transport
I want to use real time public transit data to give better public transit directions. Right now most transit directions work about the same way. You give them a start location, and end location, some time constraints ("get there by 4pm" or "leave now") and they propose multiple routes for you to choose among. A route is a series of legs, where each leg is a bus ride, a subway ride, or perhaps walking.

For the commuter rail, to take an example, this is pretty much the only reasonable way to do things. Along most of the commuter rail I have few alternatives: the trains are far faster than walking and there are usually no parallel transit routes. So if I want to get from home (porter square) to the contra dance in concord, all route options correspond to picking the appropriate fitchburg line train to take me there:

6:22 -- Walk, Fitchburg Line, Walk -- 7:18

  1. Walk: home - porter (7min)
  2. Fitchburg Line: porter - concord (29min)
  3. Walk: concord - scout house (12min)

5:42 -- Walk, Fitchburg Line, Walk -- 6:38

  1. Walk: home - porter (7min)
  2. Fitchburg Line: porter - concord (29min)
  3. Walk: concord - scout house (12min)

5:22 -- Walk, Fitchburg Line, Walk -- 6:11

  1. Walk: home - porter (7min)
  2. Fitchburg Line: porter - concord (29min)
  3. Walk: concord - scout house (12min)
Looking at options for the trip from my chinese class at Tufts and my job at BBN, I see several options, though:

10:22 -- Walk, Red Line, Bus 78, Walk -- 10:59

  1. Walk: tufts - davis (19min)
  2. Red Line: davis - harvard (5min)
  3. Wait: harvard (4min)
  4. Bus 78: harvard - concord and moulton (8min)
  5. Walk: concord and moulton - BBN (1min)

10:25 -- Walk, Red Line, Walk -- 11:05

  1. Walk: tufts - davis (19min)
  2. Red Line: davis - alewife (3min)
  3. Walk: alewife - BBN (17min)

10:49 -- Walk, Bus 96, Bus 78, Walk -- 11:29

  1. Walk: tufts - boston and winthrop (4min)
  2. Bus 96: boston and winthrop - harvard (19min)
  3. Wait: harvard (8min)
  4. Bus 78: harvard - concord and moulton (8min)
  5. Walk: concord and moulton - BBN (1min)
One big issue with these routes is that they are fragile. If my bus is late, I might miss the next connection. So what if we had a system that gave directions like:

10:22 --

  1. Walk tufts - boston av
  2. Walk to davis, but if a bus comes, get on it
    • If the bus is a 96, take it to harvard
    • If the bus is a 94, take it to davis
  3. If you're at davis, take the next train to alewife or harvard, whichever comes first
    • If alewife, walk from alewife to work
  4. If you're at harvard, walk along garden and then concord. If a bus comes, get on it. If the bus leaves concord av, get off it and walk
Clearly these directions are harder to read. But they do better if things go wrong. And if I had real time data (or any data that told me real performance instead of schedules), I could simulate several different pathfinding algorithms and see which one got there first the most.

Comment via: facebook, substack

Recent posts on blogs I like:

Linkpost for July

Effective Altruism

via Thing of Things July 3, 2026

Agentic test processes, LLM benchmarks, and other notes on agentic coding from Galapagos Island

I've been using AI fairly heavily since last November and the whole thing is a funny experience. An agent will do something that, if a human did it, you'd immediately fire them. My reaction, of course, is to act as if this is great and spin up a t…

via Posts on July 3, 2026

Variable fonts aren't universally supported

I make a lot of webpages. I also use Lockdown Mode on iOS and MacOS for a bit of extra security. Sometimes I realize that I forgot to test on Safari and it looks like crap, or I test and don’t notice that there’s been a problem for months (as was the case…

via Home June 27, 2026

more     (via openring)