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

YPP 2.0 #4772

Closed dmtrjsg closed 5 months ago

dmtrjsg commented 1 year ago

Context

Strategy review in the light of overwhelming number of suspended channels prompts opening Gleev to all categories of content.

The short term suggestion for implementation view is captured in the issue bwloe and superceded by this epic

This epic aims to encapsulate the work across Joystream systems landscape and operations. Raising it here, since the biggest impact will be on Atlas users, even though some child issues in other repos may be referenced from this epic.

Objectives

Narrative

We relax category requirements. All channels can sign up. Sign up entails mapping themselves into a list of exhaustive broad categories and they choose the language. Categories can be remapped later for individual videos. Language can be updated later. Both done by content curation team in the DAO.

Channels ~still need verification~ do not need verification for starting the sync. Verification is done by dedicated team part-jsg part dao. Team of verifiers assign the quality tier to the channels. Team also checks fixes category mapping ~and language.~ Language is taken form YT channel.

Tier 0 will be not rewarded at all. Tier 1,2,3 have higher thresholds based on quality of videos as key part - totally subjective. We don't disclose who comprises what tier, and only publish aggregate numbers. Tiers are explained on the landing page and are totally subjective.

Scope

Update category tree

  1. Reorganise category tree on the blockchain level as well as update Atlas mappings accordingly. New set of categories are in the Supporting Info section.
  2. Remap all current crypto subcategories to Crypto.

YT Sync

do two calls >

  1. Add ability to change category on a channel level = orion + ypp. Not on video level.
  2. Add ability to change language for a channel, not for videos, same as categories.

YPP Verification, Syncing

  1. Update requirements for checking channels sync trehsold
  2. Add ability to update YPP category
  3. Add language to the channel metadata endpoint
  4. Add endpoint to return the place in the sync queue of the earliest video for a given channel, number of videos in the pipe and ETA to full sync
  5. Extend suspended status with Reason (enum) and Introduce the notion of Tiers to the backend. Incorporate this to the verified status (enum). Add Endpoint to append the tier.
  6. Split syncing from rewards (verified with tier 1 will not be subject to rewards)
  7. Enable non-ypp channels to participate in referrals scheme*
  8. Batching syncing

Atlas

YPP landing page

Sign up flow update

Dashboard

Hubspot CRM

  1. Add tiers
  2. Add referrers

Notion

  1. Update program T&Cs

Operations

Supporting info

Categories

Art Animation and Film Autos and Vehicles Business and Finance Crypto DIY Education Entertainment Lifestyle Memes and Humour Music and Music Videos Nature News and Current Affairs People and Blogs Pets and Animals Sports Technology Travel Unboxing Video Games

Tiers

[Names can be updated, rewards to be calibrated later] 70% Iron - amateur quality, follwed by friends or rigged subscribers. 17% Bronze - Decent quality, something that you would follow if interested in the narrow topic and can compromise on quality for the content. 10% Silver - Popular, good quality, well done, enjoyable to watch even if not interested in the narrow topic. 3% Gold - Absolute gold standard of quality. Professionally done. Recognised influencer status. Large follower audience, likely > 100k.

bedeho commented 1 year ago

Dmitry

YPP 2 issue is smashing, really well done.

This actually seems like a pretty complex release now, really grew over time.

Some of my comments may be off the mark because stuff is alredy tackled before YPP2.

--

Add ability to change category for a set of videos already on platform

This is too unspecific I think, what we want is to introduce Orion level channel categories, and we want operator to be able to update the category of a channel at a later time. During signup, the user gets to specify this category.

We do not want to do anything with video categories, as they exist on chain, they are from this point on 100% irrelevant to anything in Atlas consumer, they only exist as part of Atlas STUDIO when publishing manually. We are also not introducing any new notion of

The old notion of "display categories" is effectively redundant.

So to summarise

Add ability to change language for a set of videos already on platform

Language is public information, we should not change that for a video, or create duplicate langauge information in Orion. I don't think its wise, and at any rate I don't see it as being terribly relevant to anything we are doing in this release.

Remap all current crypto subcategories to Crypto.

We are not remapping anything on-chain, all videos will remain in the same on-chain categories they are already in, a mass migration on-chain is not practical for how the system will need to treat this kind of data.

We can migrate the current default video category for future videos of existing channels in Orion, this is a totally off-chain concept, and it impacts what video category future

What we are remapping is the the current default video category for future videos of existing channels, which only impacts what on-chain category youtube synch elects to place new videos. We also have to introduce an initial Orion level category for all channels, this can only be done once the Orion category space has been seeded with some initial set of categories, read more about that below on categories. Importantly, we since we don't want to ask users both for what video category to select and what Orion category to select, we have to have a mapping which allows us to infer what video category to use by default as are sult of the Orion category.

Extend suspended status with Reason (enum)

Make sure to combine verification status (will be paid or not) and actual status (gold, bronze, ..) into one field, to avoid redundant representation which can cause overdetermination that conflicts.

Categories

I'm not sure I buy these categories, they seem so vague. Perhaps we can try to find categories that match the current set of unverfieid channels? We could ask curators to review and find a list of categories where the categorization is at a level where they could imagine a community forming around each category. So like "Lifestyle", that seems way too broad.

Enable non-ypp channels to participate in referrals scheme*

What does this actually imply in terms of changes to products or infra or tools?

Missing

dmtrjsg commented 1 year ago

@bedeho Thank you for the feedback Bedeho!

Need to clarify a few things..

Missing

missing no longer using default youtube email

  • already fixed and deployed. If mask is @plus.google.com we don't prepopulate, but prepopulate for @gmail.com addresses Missing ability for users to define their own category
  • omitted deliberately. Perhaps can take a form of suggesting a category to be added by us to both Orion and Chain levels.

Update Categories Set

Overall: From my pov list of categories just needs to be exhaustive so we don't have anything uncaptured. Communities would form around one ore more set of categories or a subset of categories so I do not see practical or possible to predict how this would be going. It would be great to put a system in place which allows to more granularity in categories added at a later stage without compromising the integrity of previous/ current mappings.

Perhaps we can try to find categories that match the current set of unverfieid channels?

We don't have a good representation with the recent subscribers.

We could ask curators to review and find a list of categories where the categorization is at a level where they could imagine a community forming around each category

Who is the best person to task this for?

lifestyle

Thought that would entail everything that high streets magazines have:

Categories Mapping

From my POV the objective of categorisation is to allocate the videos synced to the matching category so that category attribute can be used in serving the relevant content to the users, be it via some sort of category browsing representation or "related" videos feed.

q:

  1. Would not Channel category cascade down to the video category for synced videos? If that is the case, why don't we want to bring on-chain categories and Orion categories to the same set of values via introducing new ones to the chain and remapping some existing values of on chain categories to an updated set of Orion categories.
  2. Videos have "no new categories concept" -> meaning that we would need to operate on the current set? Which is practically replicated from YT back in the days.

Trying to re-phrase the suggested process for understanding:

  1. Agree on new set of comprehensive exhaustive top level categories in Orion on channel level.
  2. Extend chain level video categories set so that it can be mapped with additional or new Orion channel level categories. Multiple blockchain categories can be mapped to single Orion category, but not vice versa.
  3. Channel categories for synced videos will be propagated to video categories (via mapping).
  4. Video category for manual upload matches the set of values for Channel sync categories. Video category can be changed only by User. This would entail tx with record update on chain.
  5. Sync category of Channel can be changed by YT sync operator, as well as channel owner in YPP Dashboard (the latter is already possible now)
  6. We do not allow users to create new categories.
  7. We can collect their suggestion of new categories, and categories have to be added on both Orion and Chain level.
  8. We do not migrate any existing videos, only map current blockchain level to Orion refreshed list of categories.

Language

  1. Right now if you go to search results and filter results by language, there are multiple languages displayed under "English".
  2. There seems to be a bug now which does not map YT channel language with synced videos language, and that would be great to fix for the future videos.
  3. For the already synced videos if language is already added to chain we would probably need to bite the bullet and leave it as is :<

Non YPP

What does this actually imply in terms of changes to products or infra or tools?

Creating new entries from channel ID in hubspot. Covered here in more detail: