Closed lederer closed 7 years ago
Due to the opacity on the itinerary layers, overlapping routes will always have dot bleed-through. The alternative is to turn off opacity, in which case nothing beneath an itinerary linestring will be legible.
Only manipulating z-index results in this:
Now that I look at it, I think the reasoning behind the old style/behavior is that it makes it obvious that the highlighted itinerary changes on hover, in the common case that two itinerary lines overlap completely. In bringing to front with full opacity, it looks like nothing happened on the map.
@flibbertigibbet Is there a practical way we can detect when multiple itinerary lines overlap completely, so we can eliminate duplicates (ie, suppress all but one of them from appearing)?
When the itinerary lines overlap, they are not duplicates; they are different trips that happen to follow the same path (say, via different modes or at different times).
Different modes makes sense.
But trips that are entirely duplicative (in mode and path) except for their timing — those should be deduped. Users can choose alternate timing via the options menu.
Are those sorts of dupes easy enough to detect?
Again, there are no duplicates. Timing option is respected.
Maybe try plotting a few trips to see overlapping, differing trips?
Maybe I'm not following correctly?
Here is a walk+transit trip I queried a few minutes ago, with no timing option set:
It returned 3 trips. 2 of them were exactly the same from origin to destination — path, modes, itinerary — except their timings were 10 minutes apart. That's what I mean by duplicates, in this context. I'm proposing that in such cases, we only show one of those.
Right, and for that trip, the next bus in 10 minutes is among the top three best routes available, and so belongs in the results list. If the user toggles to the next 15 minute increment, they wouldn't even see that option.
A Certain Other Trip Planner used to behave the same way, as I recall, until they added their Schedule Explorer a year or two ago and put in schedule-derived trip frequency info to the trip summary, which presumably also takes into account time of day and day of week, and which we don't nearly have the resources to go re-implement ourselves now.
So, to try and distill the comparative negatives of the two approaches:
If we suppress the second trip, there's no way for it to surface (unless we use departure/arrival time increments smaller than 15 min, which for now I'd argue against for simplicity's sake).
If we don't suppress the second trip, we're foisting a confusing, noisy experience on our users. Functionally, yes they're different "trips" so to speak. But experientially they seem like dupes until you spend the time to scrutinize them enough to find the timing difference.
Agreed, a proper schedule-derived trip frequency component in the trip summary would solve this but is out of scope. But might we be able to pull off a quick-and-dirty cheap version that let's us avoid both negatives?
I think it comes down whether it's easy enough to detect these sorts of "dupes" within the top 3 trips that surface. If they're easy to detect, then could we:
What you're proposing would be much work and still loses information. I fail to understand why we can't simply redesign the linestring color highlighting with the understanding in mind that overlap is common.
We've already decided changing the styling to show the different modes along the route. How about we address that first?
FWIW, there may be some confusion at play. The linestring color changes implemented in #695 are good and strictly speaking they do solve this github issue.
The discussion I started with "Is there a practical way we can detect…" wasn't about calling that into question, it was about trying to find an affordable solution to resolve a pain point in the product that came up in this thread ("the common case that two itinerary lines overlap completely").
I should have made that a new issue. Regardless, if it's "much work", then it's not practical now. I'd hoped it was easy enough, but if not, so it goes. Perhaps we'll revisit in later revisions.
Okay.
Yes, munging together multiple trips to add multiple special cases that break the many forms of timing formatting and time/distance duration calculations involved would be much work, and doubtless introduce issues, while making separate trips no longer individually accessible to the user. There's only a maximum of three possible itineraries we ever display to start with, so I'm not seeing benefit to combining them. Presumably the departure time in the trip summary should be visible enough that users can see the difference.
I think once we modify the linestrings to show modes (#440), and consequently, change the background trip styling, it will be much easier to see what's going on with the map interactivity generally, and so adequately address the issue.
We may have to disagree on "seeing benefit to combining them". In my view, there is a cost, born by users, to not combining them: duplication & noise = confusion. Eliminating that cost amounts to the benefit. But not worth fixing this round, given the dev costs you mention.
I suspect mode colors won't help in the case when the only difference between trips is the origin/destination timing (like the example pasted above). But when overlapping paths have different mode segments, I agree mode colors should help quite a bit.
IOW, turn this…
into this…