Wednesday, October 9, 2013

Strava flagging proposal: a titration experiment

In my previous post, I noted that Strava segments can be flagged by a single, perhaps overopinionated, observer. Convinced a flag is unjust, other users redefine segments for essentially the same path. These new segments are typically flagged as well. This process may be further repeated, leading to a littered mess of redundent, flagged segments.

The obvious response is for Strava to allow segments to be unflagged. However, they need to be careful here, since it may well be the case if anyone can unflag a segment which had been flagged, enough users exist that persistent segment flagging could become essentially impossible. This would nullify the role of crowd-sanctioning that flagging is designed to play. There are segments which are intriniscally dangerous to contest, and Strava doesn't want to be found responsible for promoting dangerous competition.

So a balance is needed. But it doesn't take much imagination to derive a way to reach it.

It's a matter of titration. In chemistry, a titration experiment is one in which a basic solution is combined with an acidic solution in the proper ratio to yield a neutral solution. If the acid is more acidic than the base is basic, you need more base than acid to achieve a neutral balance.

The same can be applied here. There is some ratio of opinions that a segment is safe which balance a single opinion that it is not. Majority rule would imply that ratio is one. But perhaps one is not enough. Perhaps if the same number of people feel that something is safe as the number of people that feel it is dangerous, there is considerable doubt about the safety, enough to justify excluding that segment from competition. But at some point, the balance tips to concluding it is safe. For example, if 100 times as many people think a segment is safe as think it is dangerous, I think there is reasonable grounds to conclude it is safe. If the ratio is 10 times as many, I think most people would further conclude it is safe. Less than a ratio of 10, and reasonable people might disagree on the conclusion. But a 10:1 vote is fairly conclusive.

Don't like the ratio of ten? Fine, make it 20. Make it 17. Make it 42. Whatever. There exists a reasonable number. Presently there is no number.

So how do you conduct such a vote? I think the best way is to allow premium Strava users (this filters out marginal free accounts, perhaps multiple with the same person) to vote either up or down on a segment, one vote per account. Then Strava retains a list of who voted safe, who voted unsafe, and if the number of the latter is more than 10% of the former then the segment is flagged.

An alternate approach would be to wait for a segment to get flagged. Then you could introduce two widgets for that flagged segment: 1. support this flag, or 2. oppose this flag. If the number of opposers reaches at least ten times the number of supporters (including the original flag), the flag is removed, and those who flagged or voted can't do so again for that particular segment (the one vote per person policy).

The general idea here is that segments for which riders attempting speed records are a clear and obvious danger to other road users should be flagged. But sometimes the overzealous nullify segments which are perfectly qualified to be ridden safely under appropriate conditions. This approach would provide for a reasonable mechanism for these flags to be vetoed.

I think the real reason Strava doesn't do this sort of thing is a fear of lawsuit. It doesn't matter if a vote is 10 thousand to 1: it could be claimed they willfully ignored a warning that a segment was dangerous, exposing themselves. But I hope I'm wrong.

Good point. Strava ambassaders can delete segments, as can customer support. They used to allow comments on segments, but I don't think that's supported any longer. In any case, the voting principle should apply.

BTW, the segment quality issue is something I'd discussed with Wahoo about their "ride segment on a trainer" app. They should consider, I said, taking a match from the leaderboard, rather than the original segment, for altitude: often the original segment was designed long ago and measured with inferior altimetry, or none (and looked up on a map).

Not all users want to be listed on illegal segments like going over 15 mph on multi-use paths like the san andreas trail or perhaps the wrong way up hawk hill. I was the KOM holder of the SAT segment even though my best time was clearly ridden on 280. Nonetheless, I don't want some journalist, coworker, law enforcer, to be able to search some segment and call me out, thus I flag clearly illegal segments where I am the KOM holder.

Good point, Rob! That's what private rides are for, however. You could argue riders should be able to hide individual segment matches, but since segment matches could appear for new segments at any time, that would never be safe.

Even better, perhaps, would be to allow riders to crop data from the middle of rides, something for which I've long advocated, since it's common to get ride-train-ride sequences in my data stream. I've written a Perl script to strip these from the FIT file, but more commonly I just pick one of the ride portions and crop out the other, along with the train portion.

But in the end, if you set the ratio high (10 seems high) then there would be no fundamental reason to be embarrassed about any segment matches which survive that sort of "vote".

I've had a similar thought and had a polite email exchange with Strava about a segment that shouldn't be flagged as dangerous, but I sense that their hands are tied. Once anyone declares a segment to be dangerous they are in a spot of bother if they don't agree. The support person was sympathetic but said they could have 100 people write in saying that the segment was safe but they need to honor the one dissenting view.

It is a shame because I could see various forms of crowd sourcing the vote on this. I suspect the legal team has advised them to do it this way and no amount of technically excellent alternatives will trump this.