Readit News logoReadit News
AceyMan · 11 years ago
I commute in LA and observe (and am impacted) by this regularly; so much so, that I've been meaning to write the municipal operator about solving the issue, or at least reduce the tendency (attractor?).

My mitigation idea: When the buses become bunched; the forward bus should switch to 'Disembark Only' mode. (Most modern buses I've seen have a preset to post this on the LED signage). This way it can pass all the stops with folks waiting and (we hope) will make enough time up to get far enough down the line to remain un-bunched.

Then, by some condition (e.g.,"back to within 5 minutes of posted schedule") switch back to normal "pickup & drop-off" mode.

It's very cool to see someone else noticing and thinking about this phenomena.

To quote the great thinker Yogi Berra, "You can observe a lot just by watching."

cortesoft · 11 years ago
Your comment makes me think of this comic: https://xkcd.com/277/

I often times have the same thoughts, but I have a feeling there are lots of considerations that we aren't taking into account when we create our solutions.

ubernostrum · 11 years ago
I feel a bit weird about this, because my father actually worked for the local highway department and I ended up learning about the stuff that goes into road design and engineering... and most of the payoff of that is that I complain when I see stuff done wrong.

And it's not just light timing; my single biggest gripe is when I can tell from driving on a road that its speed limit has been set significantly differently from its design speed (in either direction -- there are some local streets obviously set too low, but also some highway stretches that are obviously set too high).

remarkEon · 11 years ago
I thought of that yesterday when they turned on these new meters on I5 that seemed to do nothing.

One thing the DoT could do to assuage our negative feelings is put the methodology out in the public after it's implemented. Show how the sausage is made, if you will. Then again, it's probably people who would otherwise be predisposed to looking up how a simulation would run in this case that would be less likely to whine in the first place. So it probably doesn't really matter, other than on principle.

sp332 · 11 years ago
I was thinking of https://xkcd.com/793/ Just jump in and fix it, can't take more than an afternoon right?
bluehawk · 11 years ago
I think this would work well, but my gut reaction is that a passenger who is already annoyed at a late bus watching that bus just go right on by would be unappreciative.
charliepark · 11 years ago
A couple of tweaks that might make it less problematic for you:

1. Bus #1's signage updates so it doesn't show the bus route externally; it's no longer "your" bus, so you aren't upset when it passes by

2. Bus #2 (which is ostensibly no more than half a block away) has an N% discount for passengers (where N increases according to demand).

3. When Bus #1 gets "bumped" (metaphorically) by Bus #2, bus company regulations have it pull over and let Bus #2 pass it; therefore, the less-crowded Bus #2 can pick up more of the waiting passengers. [Edit: Oh; I see this has been covered in some other comments already.]

r00fus · 11 years ago
Perhaps changing the signage to something like "Bus Full - Next bus in 5 min"
greggman · 11 years ago
Just tell me the next bus is just a minute or 2 away and much less crowded.

This happens in Japan too. The first bus is full with people packed in leaning on each other. Wait 20 seconds the next bus is empty and I get a seat.

The problem is I don't know they are bunched when the first bus arrives. I assume that's the only bus and that if don't get on it will be another 10 - 20 mins for the next bus. If I knew the busses were bunched I'd be more than happy to take the less crowded bus.

soperj · 11 years ago
until they realize that there is a bus coming within 5 minutes? Also, this means that the bus is less likely to be late.
fffrad · 11 years ago
Buses in LA actually do this. It says "Discharge Only".

If you ever waited for a bus in LA for an hour only to see it come and not stop for you, you would feel differently. Even though a lot of people take the bus in LA, buses aren't really the cities priority.

It has considerably improved in the 10 years I've had to take them but they are hardly reliable. You cannot take the bus without planning ahead.

For the bunching problem, we can't simply add more buses because they will end up being empty. We can't have too few because it already feels like there are too few.

I really hope there is a solution in the near future.

ArekDymalski · 11 years ago
>I really hope there is a solution in the near future.

Some time ago I've read about an experiment (in one of Scandinavian countries I believe) involving buses with the routes completely depending on the passenger's needs (via mobile apps). Unfortunately can't find the link right now.

nilkn · 11 years ago
It would be quite neat if you could toggle this behavior on or off in this simulation, to see it in action.
empressplay · 11 years ago
Buses in Vancouver already do this (or at least they did a few years ago), they'll switch the sign to "BUS FOLLOWING" or "DROP OFF ONLY".
arnorhs · 11 years ago
buses in san francisco do this. i have no idea how well it's working for them, but as a passenger, it's pretty frustrating to see your bus pass you by when you've been waiting 10 minutes already.
demodifier · 11 years ago
I regularly use Muni line 29. At least a couple of times a week, commute hour buses do this. Usually it works out okay for two reasons:

1. The next bus is right around the corner or I have my transit App to give an idea about delay if I cannot see the next bus yet. generally the delay is of teh order of 2 ~ 3 minutes.

2. The next bus is also has less people and the journey is thus more pleasant.

Things do screw up at times though. This weekend, a driver did not stop and indicated that there was a bus following him. The App showed the next bus was 20 minutes behind. I had to catch a different bus after that. I hope this does not happen on working days.

baddox · 11 years ago
I don't think they're implementing this idea. The only times I have seen a bus fly by a stop is when the bus is clearly completely full.

Deleted Comment

cafard · 11 years ago
The Metrobuses in Washington do this at times, though sometimes it is because there really is no room left.
Balgair · 11 years ago
Clearly you have not ridden the buses in LA then. I did this for 2 years to get about the westside. Even imagining that people would read the sign, or know the English language clearly enough to do so, is laughable. The average bus rider in my small experience (not talking about the actual average, that I do not know) is typically Spanish speaking, is crazy drugged out/drunk, or will not care no matter how much you try to reason with them. I kid you not, I have seen on more than one occasion a homeless person heave feces at the buses that pass them by when they are too full to legally allow more people on. Maybe not most, but enough of the population of passengers are too nuts to reason with that trying to enforce a disembark only policy will lead to deaths of drivers (not that the drivers are all that different than passengers either, you cannot believe that some are considered qualified to drive by any rational person). At the end of the day, trying to deal with real people leads to unreal problems.
andrewliebchen · 11 years ago
> At the end of the day, trying to deal with real people leads to unreal problems.

It's funny you say this, because you've managed to reduce real people (transit riders) into an unreal stereotype ("crazy drugged out/drunk").

eru · 11 years ago
Post the sign in Spanish and English, then?
derefr · 11 years ago
Note how this would all go away if the empty buses could pass the full buses. Which they usually can, since even on single-lane roads, the bus stop is out of the way of traffic.

But then there are trolleybuses. When the busses are all hooked to a single overhead cable run, as is common in places like Vancouver, the driver of one trolleybus would have to de-latch and then re-latch their "rabbit ears" (i.e. get out of the bus twice) in order to pass another trolleybus. Needless to say, this is uncommon. (Someone on HN: please, come up with a trolley pole design that can hot-pass another trolley pole pair while remaining on the line, and sell it to cities.)

barrkel · 11 years ago
I don't quite note how it would all go away with less full buses passing more full buses.

For one thing, it would be incorrect for an empty bus to pass a full bus - a full bus can't take any more passengers, and the people who don't fit on the full bus would have to wait even longer, for the next bus again.

Secondly, people get off at stops, not just get on. The bus that overtakes won't get a big lead, because it probably has to stop anyway. It can only leave when it looks like the front bus is going to fit all the passengers.

Thirdly, the bunching that has already occurred (to make it possible for one bus to overtake another) means that the bus stops ahead have far more people at them. Instead of merely bunching together, one full bus followed by one empty bus, you'd have two fairly full buses leap-frogging one another.

The only way get back to a situation where the buses are on opposite sides again, minimizing variance in bus wait time, is to have a bus pause when it gets too far ahead of schedule.

derefr · 11 years ago
Note that bunching isn't actually the problem—in fact, bus runs are frequently planned in bunches, with two shorter busses arriving in series simulating a the arrival of a single double-length bus.

The problem, in practice, is people cramming into the nearly-full first bus of a bunch (and delaying the bus further as people slowly fight their way off and on), with another nearly-empty bus following along with nobody getting on it.

This problem would go away if people could be trained to wait for the second bus in the "bunch", rather than getting on the lead one. But, since that change-of-perspective is unlikely to happen, "two fairly full busses leap-frogging one-another" is actually a good solution. It's load-balancing, basically.

dredmorbius · 11 years ago
it would be incorrect for an empty bus to pass a full bus

You've got it precisely backwards.

If the empty bus passes the full bus, then the empty bus is picking up passengers, while the full bus, arriving at freshly cleared stops, only unloads.

Eventually the loading factor levels out and the problem's cleared

learnstats2 · 11 years ago
>Note how this would all go away if the empty buses could pass the full buses.

It's more complicated than that and has to be managed carefully.

Here's what happens in the unmanaged case:

- The empty bus passes the full bus

- There are passengers waiting at the next stop

- The empty bus stops to pick them up

- There are no passengers waiting

- The full bus typically doesn't have to stop

- The full bus passes the empty bus

Now these buses are irrevocably bunched.

P.S. This site doesn't work for me at all.

jules · 11 years ago
Exactly. A method that does work is to make the full bus exit-only: no new passengers are allowed to enter the bus. You keep that bus exit-only until it has caught up to its schedule. This also works fine with trolley buses. Unfortunately this is hard to match with human psychology of the people trying to enter a bus.
lotharbot · 11 years ago
A fairly full bus will still stop at many stops (maybe not all) even if nobody is waiting to get on, because there will be people waiting to get off.
ccleve · 11 years ago
> P.S. This site doesn't work for me at all.

Use Chrome. Doesn't work on Firefox.

jakejake · 11 years ago
In Chicago on very rare occasions when the train is running late they will have an impromptu "express" train where they skip the next 4 or 5 stops. They announce it so you know not to get on the train if your stop is being skipped.

It seems like such a huge deal for them to do this - it's very rare. It must be a giant pain, even though it makes a lot of sense. Not only does it get the train back on schedule, but it reduces the riders on that train, which further speeds it up. If there was an easy, intelligent way to allow the bus to go into "express" mode and alert the riders then the busses could avoid getting bunched up.

dredmorbius · 11 years ago
Given that trains share track, switching, and a whole mess of other stuff, I'm really surprised they do this at all. I suspect it's only possible with significantly automated / computerized controls, or by having a secondary switching and traffic control pattern that they can run.
minimax · 11 years ago
I'm not sure how often you're on the CTA but I've found trains running express during rush hour to be a pretty common occurrence.
koenigdavidmj · 11 years ago
The trolleybuses that Seattle is in the process of ordering are capable of driving off-wire on battery power for quite a ways (enough to bypass a construction detour), and can also detach and reattach themselves without the operator directly manipulating the wires.
seanmcdirmid · 11 years ago
Trolley buses are common on hilly routes where electricity provides torque needed to navigate steep grades. Very common in the pacific northwest (Seattle) and much of the alps (e.g. Lausanne).

Buses tend to bunch in Beijing also, bad traffic prevents them from passing very well.

seanp2k2 · 11 years ago
And San Francisco.
SomeStupidPoint · 11 years ago
The passing technique for trolleybuses is actually for the lead bus to pull their rabbit ears down and reraise them once the other bus has passed (when I've seen it done, such as the case where one bus has mechanical trouble and is being replaced by another).

When well executed, it's actually a pretty smooth maneuver that takes just a moment of cooperation, but I agree with your (main) point that it's not efficient enough to do in live traffic as a routine thing.

nwp90 · 11 years ago
When I lived in London, and used buses fairly regularly, I started thinking about ways to improve the service and stop bunching. I considered the reason stated here, and some of the solutions, but later realised that the root cause was that the drivers liked to stop and chat and perhaps play cards with each other at the (presumably unsupervised) "bus station" at the far end of the route. Once I'd observed 3 of them waiting for each other, chatting, and then all leaving at once on the same route, my interest in trying to think of ways to fix the problem waned.
brc · 11 years ago
I lived in London and used to ride the 9, which at the time was one of the last routemaster buses.

I also learned that the drivers are comfortable in their chair, and they get paid whether they are late or early, whether they take off smoothly or like a jackrabbit, and whether people are crammed in or left waiting on here stop because they weren't quick enough.

In other words, automation has to be a part of any solution, because the drivers do not care.

nwp90 · 11 years ago
I'm sure there are several valuable lessons hidden away in there - concerning assumptions, human factors, jumping to "obvious" solutions without having verified the actual cause of a problem, unintended consequences etc. etc.

Would be interesting to look at a system where it does actually work well and see what's different.

eru · 11 years ago
You could give them smartphones to make them less social.
_delirium · 11 years ago
Fwiw a relevant general concept is that of stable vs. unstable equilibria. In a stable equilibrium, small deviations will tend to correct back to the equilibrium, while in an unstable one, small deviations get magnified and the system drifts away from it (absent active intervention). Given some assumptions, such as those implemented by this simulation, evenly spaced buses represent an unstable equilibrium, since a bus slightly early or late will cause an asymmetry in passenger load that pushes things further in the "wrong" direction.
hoverbear · 11 years ago
It makes me sad that this doesn't seem to work in Firefox!
NathanCH · 11 years ago
Some developers who use Chrome don't bother with cross-browser testing, I've noticed. Not sure why but it's a common problem I experience with HN links.
Sir_Cmpwn · 11 years ago
Yet another example of a lazy Chrome dev. This is getting too prevalent.
judk · 11 years ago
Google is turning into Microsoft 2000. It is the natural order of things.
roghummal · 11 years ago
Or Safari.
TorKlingberg · 11 years ago
Or IE 11.
lewis500 · 11 years ago
going to fix that
tiffanyh · 11 years ago
Hi Lewis

I too don't run Chrome.

But from what I can see running Firefox, this looks great.

Any ETA on when your site will be fixed for non-Chrome users?

Deleted Comment

itsybitsycoder · 11 years ago
Where I live, if a bus gets late enough (or too full) and the driver knows there's another bus right behind, they'll start skipping stops. I don't think that would help in this simulation because people getting on seem to be equally likely to want to get off on each stop, but IME that's not really accurate for most bus routes. People want to get on the bus at all sorts of random places, but 90% of people are getting off at the same two or three stops (transfer point, city center, etc). It would be interesting to see these things would affect the bunching, I think.
Animats · 11 years ago
There's a bug in that simulator:

    00:12:07.824 "Error: Argument 1 of SVGPathElement.getPointAtLength is not a finite floating-point value.
    [6]</MapCtrl</MapCtrl.prototype.place_bus@http://setosa.io/bus/dist/bundle.js:380:10
    $parseFunctionCall@http://setosa.io/bus/dist/bundle.js:29490:15
    expressionInputWatch@http://setosa.io/bus/dist/bundle.js:29899:31
    $RootScopeProvider/this.$get</Scope.prototype.$digest@http://setosa.io/bus/dist/bundle.js:31386:34
    $RootScopeProvider/this.$get</Scope.prototype.$evalAsync/<@http://setosa.io/bus/dist/bundle.js:31591:15
    completeOutstandingRequest@http://setosa.io/bus/dist/bundle.js:22010:7
    Browser/self.defer/timeoutId<@http://setosa.io/bus/dist/bundle.js:22398:7
    "1 bundle.js:28741:17
    consoleLog/<() bundle.js:28741
    $ExceptionHandlerProvider/this.$get</<() bundle.js:25682
    $RootScopeProvider/this.$get</Scope.prototype.$digest() bundle.js:31412
    $RootScopeProvider/this.$get</Scope.prototype.$evalAsync/<() bundle.js:31591
    completeOutstandingRequest() bundle.js:22010
    Browser/self.defer/timeoutId<() bundle.js:22398
No buses are drawn.

mmanfrin · 11 years ago
This site/group also did a fantastic visualization on gridlock vs. bottlenecks:

http://setosa.io/blog/2014/09/02/gridlock/

FatalErrorr · 11 years ago
I've never heard of them before, but they have some really amazing things! I am thoroughly impressed.