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

Better error handling on filtered out videos #3213

Closed
2 tasks
bedeho opened this issue Sep 5, 2022 · 21 comments
Closed
2 tasks

Better error handling on filtered out videos #3213

bedeho opened this issue Sep 5, 2022 · 21 comments
Assignees
Labels
carthage Carthagne Network idea Idea for a new feature

Comments

@bedeho
Copy link
Member

bedeho commented Sep 5, 2022

## Context

Atlas instances will filter out videos that are not within the category space of a given instance, and this means that even if you provie a valid video ID to the player, you should not get playback. We should have a better explainer of why the video cannot be played than simply "missing video" or whatever the default message is when a video literally does not exist.

Additionally, content censored by DAO should be presumed to be the worst offenses, it basically stuff the DAO is considering potentially not even willing to provide any infrastructure for regardless of what jurisdiction to which end consumer is subject. It is on the cusp of getting removed. Ironically, currently the infrastructure just entirely ignores this signal, but this will get fixed: Joystream/joystream#4326. As you will read in that issue, infra level provisions will be made to allow certain key stakeholders ultimately relevant to the adjudication process to consume it, but noone else. Atlas must follow this approach.

Scope

  • Update the design of the unavailable video page based on the designs added here
  • Copy should go ""This video was deleted by creator, moderated by the DAO content curation team or not included to be viewed by the application operators."
@bedeho bedeho added idea Idea for a new feature pending-triage Requires triage before any work can begin carthage Carthagne Network labels Sep 5, 2022
@kdembler kdembler added design and removed pending-triage Requires triage before any work can begin labels Sep 15, 2022
@kdembler
Copy link
Member

So with the current setup, we won't be able to differentiate between "video does not exist" and "video is not available in this gateway", it will look the same to us. I suggest we just design a single screen that gives a bit of info and can explain both cases

@toiletgranny
Copy link
Contributor

toiletgranny commented Sep 19, 2022

@bedeho @kdembler @dmtrjsg I'm afraid I don't understand this part:

Atlas instances will filter out videos that are not within the category space of a given instance and this means that even if you provie a valid video ID to the player, you should not get playback.

Does this mean that video IDs are shared across all instances of Atlas? If so, if a video is uploaded to AtlasInstance1, can it be accessed on AtlasInstance2?

I'd appreciate it if you guys could point me to some further reading on the subject or schedule a quick one-on-one call to discuss this in voice.

@kdembler
Copy link
Member

Does this mean that video IDs are shared across all instances of Atlas?

Yes

If so, if a video is uploaded to AtlasInstance1, can it be accessed on AtlasInstance1?

That ultimately depends on settings of AtlasInstance2 - only if it has overlapping category settings (video category is handled by both AtlasInstance1 and AtlasInstance2)

I'd appreciate it if you guys could point me to some further reading on the subject or schedule a quick one-on-one call to discuss this in voice.

I'm afraid there isn't any resource to do this reading, I will be happy to hop on a call and help out though

@toiletgranny
Copy link
Contributor

I'd love that, thank you! Will reach out to you on Slack!

@toiletgranny
Copy link
Contributor

toiletgranny commented Sep 20, 2022

@bedeho @kdembler Alright, this is ready to be reviewed. The high-level idea is to mimic layout of the Video page in its typical shape and form. Instead of the player, there's a message letting you know that the video is unavailable and giving you possible reasons.

image

The "Either there is no such video..." copy is my best attempt at coming up with something that gives you just enough information while not overloading you with technicalities. Of course, the intention here is to have the word [Atlas] replaced with the name of a particular instance of Atlas.

Designs, docs, and changelog can be found here.


About alternative options for this view, at first, I thought of exploring ways to offer users some helping hand such as "click this button to check if this video exists on other platforms". After a while I thought to myself, how often would it be the case that I enter a video URL, starting with a particular gateway domain name, pointing to a video that's available on a different gateway? With an actual intention of seeing this video? And I'm afraid the answer would be quite insignificant. Or not significant enough to complicate the UX for the vast majority of users who see this page because of a simple typo and who are better off double-checking the video ID rather than having them wonder about and looking through multiple instances of Atlas. And so this is what has led me to this, ultimately, quite simple solution.

cc @dmtrjsg

@dmtrjsg
Copy link

dmtrjsg commented Sep 21, 2022

@toiletgranny suggest to go with

"This video was deleted by creator, moderated by the content curation team or not included by the application operator."

@kdembler
Copy link
Member

moderated by the content curation team

Those can still be viewed with a direct link atm

@dmtrjsg
Copy link

dmtrjsg commented Sep 21, 2022

@kdembler is this a setting on the app side? Is there value in it if that was moderated?

@kdembler
Copy link
Member

Not a setting - the video will not show up in any feeds, can only be accessed directly. In terms of value, I think it's helpful if curators can watch the curated video for example. Let's say some curator A censored your video but you disagree and you raise a dispute with curator B. They should be able to see your video somehow to resolve the dispute.

Do you think there's harm in supporting those via direct link?

@dmtrjsg
Copy link

dmtrjsg commented Sep 21, 2022

Yes if someone spams via out of app media posting this link so people who receive it will land on our end. For that purpose I would suggest to exclude it.

Curators for your scenario could prob extract the video from the chain? Or not possible?

@kdembler
Copy link
Member

Yes if someone spams via out of app media posting this link so people who receive it will land on our end

I'm not fully following, could you expand a bit? Keep in mind that the app operator can exclude specific videos independently from the curators.

Curators for your scenario could prob extract the video from the chain? Or not possible?

They could, but 99% of them today use Atlas to do their work

@dmtrjsg
Copy link

dmtrjsg commented Sep 21, 2022

  1. So if someone send out a mass email with obscene stuff and includes a link to Atlas, that video will be seen by the recipients. And I think its not favourable for GW operators.

  2. Is there a way to see it somehow out of Atlas?

@kdembler
Copy link
Member

Is there a way to see it somehow out of Atlas?

While technically possible, I don't think any other tool for easy lookup exist at the moment. Maybe instead of hiding the video entirely, we would display some kind of prominent banner/overlay that mentions that this video was marked as censored?

@bedeho I think we could use your input in this discussion (starting here: #3213 (comment))

@dmtrjsg
Copy link

dmtrjsg commented Sep 21, 2022

I think disputes are fairly rare, but like the video moderated overlay idea, will work to soften the potential damage of distributing malicious intent materials.

@toiletgranny
Copy link
Contributor

So what's the final call then, gens? @dmtrjsg Should I cook this banner/overlay up right away while I'm still at it, or do we leave it for a separate ticket? Happy to do so.

For what it's worth, I don't believe adding a banner/overlay to an obscene video is enough; I think it shouldn't be possible for anyone (except for curators) to watch it in Atlas.

@dmtrjsg
Copy link

dmtrjsg commented Sep 28, 2022

I'm in favour of putting down completely, but overlay could also be ok as will cover us at least from social media backlash or other sort of accusations that we promote bad content.

Pending clarification from @bedeho

@dmtrjsg
Copy link

dmtrjsg commented Sep 29, 2022

Just to clarify the question:

How does peer review of correctness of decision to filter out a video (via "moderated by content curators") happens in case of dispute is raised? Is it possible to reach the video and check content via other ways and not in the GW? Klaudiuz made a fair point that totally filtering out the videos and not just showing an overlay "Moderated by Content Curation team" will be beneficial for this case.

While I am thinking there is more harm to make a curated video accessible since this can be used to distribute direct like via mass email or post it somewhere which would land the audience to the video page and if still accessible it will do more damage for our publicity.

@bedeho
Copy link
Member Author

bedeho commented Sep 29, 2022

How does peer review of correctness of decision to filter out a video (via "moderated by content curators") happens in case of dispute is raised?

There is currently no dispute system made, that would require a few extra metaprotocol messages, and most importantly, integration into the product experience.

Is it possible to reach the video and check content via other ways and not in the GW?

Yes, even if content is not in a gateway (I guess because gateway is choosing not to surface as a matter of local policy?), then content would still be served by distributors, and listed by query nodes. I a suspect though this is not the core of wht you are really wanting to understand.

Klaudiuz made a #3213 (comment) totally filtering out the videos and not just showing an overlay "Moderated by Content Curation team" will be beneficial for this case.

I don't fully grock this context and how the question relates to it, but I think it would be a mistake to try to make Atlas serve internal purposes of curator team, separate tooling will 100% be needed, and trying to cater to needs of a very small specialised group inside Atlas does not make sense. Dispute system inside Atlas could make sense, as it impacts all creators.

While I am thinking there is more harm to make a curated video accessible since this can be used to distribute direct like via mass email or post it somewhere which would land the audience to the video page and if still accessible it will do more damage for our publicity.

Content censored by DAO should be presumed to be the worst offenses, it basically stuff the DAO is considering potentially not even willing to provide any infrastructure for regardless of what jurisdiction to which end consumer is subject. It is on the cusp of getting removed. Ironically, currently the infrastructure just entirely ignores this signal, but this will get fixed: Joystream/joystream#4326. As you will read in that issue, infra level provisions will be made to allow certain key stakeholders ultimately relevant to the adjudication process to consume it, but noone else. Atlas must follow this approach.

@dmtrjsg
Copy link

dmtrjsg commented Sep 29, 2022

✅ 🏁

On the basis of the above comment, let's move forward with the copy for the overlay copy:
""This video was deleted by creator, moderated by the content curation team or not included by the application operator." and the videos moderated by the content curation team will be made not visible in 4326 mentioned above.

@kdembler
Copy link
Member

🤝

@toiletgranny
Copy link
Contributor

Designs updated ✅

@rafalpawlow rafalpawlow self-assigned this Sep 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
carthage Carthagne Network idea Idea for a new feature
Projects
None yet
Development

No branches or pull requests

5 participants