Cover photo

Some thoughts on farcaster channels

What they are, and what could they become?

Channels take advantage of FIP-2: Flexible targets for messages which introduced the idea that a cast can reply not only to other casts, but to any URL -a genius idea.

So, if you look "inside" this cast,

you will see something like this:

What makes the above cast part of the Warpcast channel is the specific parent_url, which this case points to this NFT collection. Any cast with parent_url=chain://eip155:7777777/erc721:0x10a77f29a6bbeae936f3f27cd60546072dae4e41 will appear in the Warpcast channel.

So, can anyone create a channel just by setting parent_url to some value?

Yes and no.

Yes, you could do it (the Warpcast client does not allow you to do this at the moment, but other Farcaster clients, like opencast, do.)

No, Warpcast, will not treat any parent_urlas a Channel. Setting for example parent_url= will not be treated as the Purple Submarine channel: Warpcast channels are a curated list of URLs managed by the Warpcast team.

Is it bad, that Channels are controlled by a small team?

I think that there is a lot of value in having a curated list of channels. I consider channels to be a client-controlled feature, not a farcaster protocol-level primitive (the primitive is FIP-2, mentioned above).

Eventually, I would like to see a way for users to "subscribe" to various channel directories.

For example, there could be the Warpcast channel directory, curated by the Warpcast team. And maybe some algorithmically generated directory by a service that keeps track of parent_urls used in casts, and adds them to its directory after they reach a certain size (number of casts, or number of users, or number of reactions). And also some DAO-controlled directory that curates a highly curated kids-friendly channels directory.

One of my favourite ideas is a directory based on a ERC721 contract. The contract allows one NFT to be minted per day, using a nouns-like auction. Each NFT minted becomes a new channel. The owner can set the artwork and description on-chain, which will create in a nice, "curated" (limited supply of 1/day, cost) but permissionless directory of channels available on-chain.

It would also be nice if farcaster clients allowed users to manually add a URL and set it as a channel: If channels are something like RSS feeds, we can have directories (like podcast directories maintained by Apple and others) but also allow users to manually enter a URL to subscribe to.

Most of the above can be implemented by what we already have in place. One limitation of the existing model is hierarchically organised channels that allow users to subscribe to a channel that includes sub-channels (for example, subscribe to Sports and see everything under Sports/Football, Sports/Basketball, etc.) Of course a client could implement something like this, but it will require significantly more resources to do it, because, at the protocol level, farcaster hubs do not provide a way to easily fetch this information.

Also, something that is not being addressed yet (Warpcast is doing some experiments) is if channels will have some kind of moderator/curator/owner and, if they do, if this will be somehow translated to a protocol-level feature, or remain a client-specific one.

Channels are a very interesting thing. Feature? Primitive? It's up to the community and the devs to decide. Are they a Warpcast feature or a Farcaster primitive?

There's a great discussion between @billzh.eth and @dwr.eth where Dan shares a lot of his thoughts on channels. Check it out:

Collect this post to permanently own it.
Purple Submarine logo
Subscribe to Purple Submarine and never miss a post.
  • Loading comments...