Joystream / atlas

Whitelabel consumer and publisher experience for Joystream
https://www.joystream.org
GNU General Public License v3.0
100 stars 45 forks source link

Delete channel #1026

Open Bing4 opened 3 years ago

Bing4 commented 3 years ago

We need feature for channel deleting at the Studio

bedeho commented 3 years ago

I totally agree! It is planned, here is the core issue for the runtime

https://github.com/Joystream/joystream/issues/2465

But making it a priority now, hopefully we can bundle it into the next runtime upgrade :)

May I ask what is motivating you to request this? What is your situation?

Bing4 commented 3 years ago

I created new channel an hour ago, but was some mistakes while creating (I think problems with endpoint). And two similar channels was created.

bedeho commented 3 years ago

Totally makes sense, yep, will make this a priority.

Bing4 commented 3 years ago

Thank you!

traumschule commented 2 years ago

@Bing4 This has been implemented: https://github.com/Joystream/joystream/pull/2625

toiletgranny commented 2 years ago

Hey, thanks for the task! @dmtrjsg, @kdembler I started thinking about this and below you'll find a couple of questions (along with recommendations after my initial research & explorations) to help me understand the scope behind this along with the technical constraints we're operating within.

  1. Do we allow for deleting a channel if it contains videos with NFTs? Options:
    • No. Just no.
    • No. Instead, offer an option of bulk removing all videos without NFTs, playlists (once they're available), removing a channel avatar, and a cover image. All with a single click (if it's technically feasible).
    • [⭐ My recommendation] Yes. In case the channel has videos with NFTs, these are going to remain available in Atlas, but any trace of the channel name and avatar would be wiped out of Atlas. For example, on a video (NFT) page, where the channel name is currently displayed, there would be just a simple piece of text (not even a link) saying something like: "Channel deleted". But other than this, no channel page.
    • Yes. In case the channel has videos with NFTs, they are going to remain available, and the basic info about the channel is going to be preserved. For example, the channel page is going to remain available, but inside there would only be: the original channel avatar, original channel name, videos with NFTs, and nothing else (eg. things like the "Information" tab would be unavailable).
  2. Do we allow for hiding a channel, with an option of reversing this, as an alternative for an irreversible action? Options:
    • No.
    • [⭐ My recommendation] Yes. Perhaps not necessarily now, but still worth considering.
  3. Do we create a separate page for a deleted channel? Options:
    • No. We rely on what we currently have, eg. a page like this.
    • [⭐ My recommendation] Yes. We can create a page very similar to the one linked above (super simple), but saying "Channel deleted", instead of "Channel not found". Opening a link shared somewhere else, with an expectation of landing on a channel page, I can imagine this being very useful to know whether it's the link that's broken or if it's the channel that got deleted.

These kinds of decisions are best made when driven by proper research, eg. on what are the top reasons people delete their YouTube channels/TikTok accounts, etc. Considering the size of our team, currently available resources, the fact we're in the testnet, and the time expectations I'm guessing were behind this seemingly simple task (@dmtrjsg please correct me if I'm mistaken), for the sake of getting somewhere with this, relatively quickly, I'm going to assume that the top reasons behind removing creator's social media accounts/channels are:

  1. The channel was created by a mistake, or for testing purposes,
  2. The channel was created a long time ago, the content on it (if any) is not important,
  3. The channel owner needs to "go under the radar" for personal reasons (perhaps being driven primarily by emotions),
  4. (Very vague, I know) The channel owner makes a conscious decision, based on their beliefs, that they're better off (or the world is better off?) with their content being permanently deleted.

Finally, regardless of the above, we need to be mindful that once the channel deletion is a thing in Atlas, we'll need to take it into account with pretty much everything we do from now on. Things like, if — someday — a comment can be posted by a channel, how does that comment look like if the channel is no longer available? This is just something worth keeping in mind.

dmtrjsg commented 2 years ago

Good questions! @toiletgranny

1️⃣ Agree, and re "any trace of the channel name and avatar would be wiped out of Atlas" > I'd say all channel-related activities shall remain in member profiles and messages/ reactions. Indicating that channel is deleted with font/ avatar treatment would be a good idea 👌 2️⃣ I'd say retaining content is good for a content platform in general, so worth designing and taking a view on implementation later depending on tech effort. 3️⃣ Flexible here so let's see what Klaudiusz says, but I am not sure what value does it bring by simply knowing if it was a valid page and got deleted?

I can imagine the deleted pages thumbnails be optimised for previews in external services and user journeys to be extended with more/ somewhat advanced content suggestions on top of invitation to view homepage, but the frequency is super minimal, so I would not bother for deleted pages for now :)

bedeho commented 2 years ago

I will just add this here https://github.com/Joystream/joystream/issues/2760

This is important for you all to understand, it will get implemented soon: and yes, deletion of videos with NFTs is going to be unavoidable, see issue.

Do we allow for deleting a channel if it contains videos with NFTs? Options:

The issue here is if you make something undeletable by this kind of feature, then people will abuse it. This gives an attack license to but content which is in conflict with platform policy as their avatar, cover photo for channel or video media. I will let your imagination simmer for a moment on truly how bad certain kinds of content people will eventually be inspired to put up if they knew it could not be removed. This is a sport for a certain kind of online person, and it would only be a matter of time before this would happen. The inability to remove such assets not only totally breaks the experience for other users, but infrastructure providers will be obliged to hold on to this data.

Do we allow for hiding a channel, with an option of reversing this, as an alternative for an irreversible action?

Yes, this is planned as part of the proposal above through HIDE_CHANNEL.

Do we create a separate page for a deleted channel? Options:

Yes a more dedicated page can make sense, in particular if we want to give more transparency around the moderation process and deliberation which led to the deletion - if that was the cause of the deletion.

toiletgranny commented 2 years ago

Thanks for your answers and the additional context, which is very helpful!

@bedeho while I now understand that deletion of NFT videos is going to be a thing in Atlas, I'm not sure if I can see how it affects the decision on how shall we proceed with a user-initiated channel deletion process (specifically in the case of channels with NFT videos) right now. Unless, what you meant by that was: no matter if there are NFT videos or not, the channel deletion process should always result in deleting all content?

The other two answers are clear to me, so thank you very much, gens!

bedeho commented 2 years ago

no matter if there are NFT videos or not, the channel deletion process should always result in deleting all content?

Yes this is what I meant.

  1. It is technically not possible to delete a channel without deleting all videos. The way channel deletion works currently is that you are automatically deleting all videos in the channel in the same go, and this would also delete all NFTs. There is a nuance here: perhaps one should only allow curators to delete channels or videos with NFTs, not the creator? This could simultaneously solve the policy problem described, but also prevent a reckless or hostile creator from deleting the NFT. I would say that this may be a better compromise, but it would require non-trivial effort on the system side to incorporate, so I think its better to keep it simple for now and see if this ever becomes an issue.
  2. There is also an implicit limitation issue here that you have not been made aware of: if a channel has more videos than some fixed, but not yet determined, number it will not be possible to delete the channel directly. You would then have to go in and delete enough videos separately so that the total number drops below this limit. It will also cost more to delete a channel with more videos than one with less. The ability to delete delete more than one video in one go would be subject to a similar limitation and cost structure.
toiletgranny commented 2 years ago

Alright, many thanks for clarifying that. In the light of the additional context and the scope of the task greatly exceeding the initial expectations, based on my chat with @dmtrjsg, we're putting this issue on hold for now.

dmtrjsg commented 2 years ago

Ok looks like unpacking this brought quite some cases to think about and this is growing outside of the initially anticipated 1-2d turnaround.

On that basis let's put this on hold till later times.

Conceptually, at the time of revival probably would make sense to:

  1. Create the deletion flow for simple cases (No NFTs in the channel, small number of videos)
  2. Design the flow of hiding the channel as this is supported already
  3. Show "Contact support for deleting this channel" in all other, more complex cases.

TBC later. Parking for now.