🤡

re:meme

🤡
re:meme User Guide

High Level Brief

An app that allows users to post ‘original content’ and other users can ‘remix’ that content by adding in additional elements to the ‘original content’ as a base.

This will be built off of the Lens Protocol

Used for:

User Experience

UX will mirror many elements of Imgflip

[P0 - prioritized before Discover Page] Homepage

  • A randomized display of a meme
image

[P1 - not in scope for MVP] Discover page

  • User can see ‘New’ meme templates
  • User can see ‘Hot’ meme templates (as defined by number of ‘remixes’)
Example from imgflip
Example from imgflip

Login → Profile page

  • Login = connect wallet
  • User can see their created memes
  • Users’ Lens Profile NFT is displayed
    • If user doesn’t have one, kick them to the Lens Claim Page

Create new template

  • User can upload a new template and post it
image

Remix

  • User can ONLY remix on the ‘remix’ button in the associated meme template page OR on a meme using the meme template
image
  • Can add text fields
  • Can choose different fonts and colors for the text
  • Can post (i.e., mint) the meme
  • Post-mint, can copy link to the remixed meme
    • OR user can make another meme
image
image

Implementation

Option 1: Memes are comments

  1. User with Lens Profile makes a post
    1. The post is a meme template with specific Lens Memixer reference module
    2. Lens Memixer reference module allows comments to be made (i.e., remixes)
  2. Another user remixes the meme template
    1. Remixed meme = a comment that links to original meme template with separate image URI
    2. Note: there’s no check that the image URI will actually content the same image as the meme template because image URI checks are not enforced in Lens
    3. Lens Memixer reference module checks that the remixed meme’s collect module will distribute royalties back to the original meme template creator
  3. A separate user wants to collect the remixed meme
    1. Royalties are split between meme template creator and remixed meme creator

Pros

  • least complex implementation

Cons

  • can’t sell the canonical meme

Option 2: Memes are Profile NFTs

  1. User makes a Lens Profile NFT that contains the meme as the only post (1 publication)
  2. Every remix is a mirrorof the original post
image

Pros

  • ownership in the form of the Profile NFT

Cons

  • complex implementation (new Factory contract primitive needed)
  • no link to the original creator of the meme
  • hard to visualize the user flow
    • how do you enforce the rights in this case?

Option 3: Memes are comments with admin contracts

  1. Users makes the canonical meme as the publication
    1. Delegates the Collect and Reference Module to another admin contract
      1. We’ll call these modules “Passthrough Modules” or “Proxy Modules”
      2. With this, the Collect and Reference Modules are now upgradeable
  2. Need a factory contract that creates this admin contract for each new meme template
  3. Also need a way to transfer the admin rights for this contract
    1. Idea: an NFT contract Memix Owner where the ownership of the NFT determines who has the admin rights over the contract
    2. admin contract mints a new NFT from Memix Owner collection for every new meme created
  4. Admin contract methods
    1. Collect module logic
      1. Set royalty upon mint
    2. Reference module logic
    3. changeAdmin()
    4. changeReferenceModule()
    5. changeCollectModule()

Pros

  • the most complete solution for ownership

Cons

  • the most technically complex implementation
    • need an NFT contract that will determine the admin address
  • concept of “ownership” is up for debate

💡
TO NOTE: all three options require a simpleProxy standard for Lens Protocol in which case the Follow, Reference, and Collect Modules have passthrough modules that point to another smart contract (one that is able to set Owner , change logic, and update)

Open Questions

  • [For Option 3] Is the ability to change the Modules the same as “owning” the meme?
  • [For Option 2] Does it matter if someone who isn’t the original creator who owns the canonical meme?
  • [For all options] Is it important for derivative royalties to flow back to the original meme creator?
  • [For Option 3] What permissions does the meme owner have (e.g., update the logic for the Collect/Reference/Follow modules, modify derivative rights)?