Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

flag a challenge #1868

Closed
mvexel opened this issue Nov 21, 2022 · 11 comments
Closed

flag a challenge #1868

mvexel opened this issue Nov 21, 2022 · 11 comments

Comments

@mvexel
Copy link
Member

mvexel commented Nov 21, 2022

I would like to introduce the capability for any logged-in user to flag a challenge. The flow would be as follows:

UI Flow

  1. user clicks a "Flag" icon on the Challenge browse page.
  2. A modal pops up where the user describes the reasoning for flagging the challenge. Content of the modal below.
  3. If conditions for the modal are met, user clicks the Flag button
  4. The modal closes and the flag icon will be filled red to indicate the flag has been committed

Conditions

  1. The user must have done (changed status on) at least one task of the challenge for the "Flag" button to become clickable.
  2. The user-supplied explanation for flagging the challenge should be at least 100 characters. This should be configurable as an environment variable (deployment-level)
  3. When conditions are met and the user submits the flag,
    • A Github issue is opened in this repo with as title "Flag on Challenge ". The issue description is "User [OSM username] flagged Challenge [Challenge name, link back to challenge browse page].
    • An email is sent to the challenge creator notifying them "Your challenge has been Flagged by [username]. Please see the flag report [here] (link to github issue). Please contribute to the discussion at your earliest convenience. If you ignore this flag, your challenge may be deleted without further notice. Thanks for keeping MapRoulette great!"
  4. If a challenge is already flagged, it cannot be flagged again.
  5. Icon could be this one (and its closed variant).

Modal content

  • Text: "You are about to flag a Challenge. An issue will be created here and the Challenge creator will be notified by email. Any follow-up discussion should take place there. Flagging a Challenge does not disable it immediately. Please explain in detail what your issue is with this challenge, if possible linking to specific OSM changesets."
  • Text Input (minimum 100 characters, max 1000 characters)
  • Check box with label: "I have attempted to contact the Challenge creator"
  • Button (colored red) "Flag Challenge"
    Button should only be clickable if text input is within character limits and the checkbox is selected.
@atiannicelli
Copy link

What is the process for removing this flag? Just thinking that if a user flags a challenge and then the issue is resolved.

@atiannicelli
Copy link

Oh, Also, I hope it will be clear that a challenge should only be flagged if the challenge is of very bad quality. I would hope that if a single user performs one task of a challenge and that one task had an error in it or incorrectly flagged an issue where it doesn't exist that they will not flag the challenge. How can they know that there is a real problem with a challenge unless they perform a number of tasks to verify that the issue exists across all (or most?) tasks in the challenge.

I'm not suggesting that you require the user to do more than one task, but the text should make it clear that the challenge should not be flagged just because of one task that was bad.

@mcliquid
Copy link

In the context of the description, I would not call it flag but report. In my view, a flag is only a visual indication. Here a report would really be created.
There should also be a deadline for the challenge creator, which indicates how long he has time to answer.

@mvexel
Copy link
Member Author

mvexel commented Nov 23, 2022

@atiannicelli the issue being closed on the Github side would "unflag" the challenge. The outcome could be that the challenge is poorly enough designed that it should go away (be archived or even altogether deleted). Perhaps there's a GitHub label that we could use for that, which MapRoulette could pick up and trigger the needed operation.

And you're correct, the interface needs to make it clear that this is a serious operation. I have thought about the term "Flag" vs "Report" and landed on "Flag" for now, but as @mcliquid also states, this may not convey that gravity. I figured "Report" sounded too..Harsh? But perhaps it's the better way to go.

@mvexel
Copy link
Member Author

mvexel commented Nov 23, 2022

@mcliquid A deadline is nice in theory, but in practice it would depend on who can help adjudicate the issues that are reported.

I'm thinking one thing we could do is to have a warning in the Challenge and associated Task screens that this challenge has been Flagged / Reported X days ago and to proceed with care. With a link to the Github issue perhaps for clarification.

@mvexel
Copy link
Member Author

mvexel commented Nov 23, 2022

I added a template for the issue to be created to the report repo README

@mvexel
Copy link
Member Author

mvexel commented Nov 30, 2022

A few thoughts on this as I gather feedback.

First, I am leaning towards "Report" rather than "Flag". It conveys better that this is a serious action to take. I still don't quite like the implication that there is some entity / process behind this -- there isn't -- but I think "Report" is the better choice between the two options.

Second, I don't favor the UX of an icon to represent both the action "Report a challenge" and the status "This challenge is reported". I think something like this would work, looking for opinions here (try and look beyond the bad graphics editing..):

image

So in this graphic, small buttons would replace the "View Leaderboard" and "Get in Touch" text links, and another red-color button would open the reporting modal (as described above)

Once a challenge is reported, the button would change to "Reported" and not be clickable. @ryanscherler may have thoughts on this?

@ryanscherler
Copy link
Contributor

@mvexel I agree that less icons is better - labels are a good use here. I believe we already have labels in the system so this would be a good solution using existing UI elements.

@mvexel
Copy link
Member Author

mvexel commented Nov 30, 2022

@ryanscherler thanks. Except these are meant as buttons. Maybe they do look more like labels, which is not what I intended.

@mvexel
Copy link
Member Author

mvexel commented Dec 6, 2022

For the email we can use the following:

Then for the reporter

Hello, 

You just reported the Challenge "[Challenge Title](http://challenge.url)". 
The Challenge has not been deactivated, but it will show up as Reported in MapRoulette.
We created [an issue](http://link.to.issue) to track the report. 
Please discuss your issue with the Challenge reporter there.
The Challenge owner has been notified as well. Please allow a few days for them to respond.  
If you cannot come to a resolution, you can respond to this email explaining the situation.

Thanks,
The MapRoulette team.

For the Challenge owner:

Hello, 

Your Challenge "[Challenge Title](http://challenge.url)" has just been reported by a user. 
The Challenge has not been deactivated, but it will show up as Reported in MapRoulette.
We created [an issue](http://link.to.issue) to track the report. 
Please make it a priority to follow up with the reporter there and work to resolve this issue.
If you cannot come to a resolution, you can respond to this email explaining the situation.

Thanks,
The MapRoulette team.

@jschwarz2030
Copy link
Contributor

Resolved with #1933

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants