I often see people say Farcaster isn't "sufficiently decentralized".
You're free to define what "sufficiently decentralized" means to you, of course, but how we think about it is laid out in Varun's blog post:
A social network achieves sufficient decentralization if two users can find each other and communicate, even if the rest of the network wants to prevent it. This implies that users can always reach their audience, which can only be true if developers can build many clients on the network. If only one client existed, it could stop users from communicating. Achieving this only requires three decentralized features: the ability to claim a unique username, post messages under that name, and read messages from any valid name.
You might ask: "But if most people use Warpcast, doesn't that mean it's de facto centralized?"
Depends on the perspective.
For a developer, if you are building on the protocol, then you're free to sign up your own users or convince users to move over to your app (it's easy for users to use multiple clients at the same time).
For an account with an audience, let's say you were unfairly nerfed by Warpcast, i.e. you don't appear on the app. There's definitely a lot of friction to get people to start using another client if they already don't, but the protocol itself is not restricting your ability to communicate. That's an important distinction because on web2 / centralized social networks, the app and the "protocol" (i.e. the database) is the same thing.
So if you're argument is Farcaster is not sufficiently "decentralized" (or "decentralized" if you don't like the sufficient framing) then you're defining decentralization as a protocol or network that has at least 2 independent, roughly equivalent functionality and UX clients (because majority of consumers revealed preference is UX over principles).
That's a reasonable definition.
But in practice, in the near-term, there's unlikely to be multiple, well-resourced enough clients that are full-time building on the protocol for amazing UX. That's not a knock on people building, just the reality that in 2024 consumers expect a lot of our their daily driver apps.
In the medium to long-term, dedicated individuals, small teams or open source projects can likely hit the UX bar. But that will probably take years of sustained effort.
So protocols in the early days are unlikely to hit the bar of 2 independent, roughly equivalent and functionality UX clients.
This is something I've changed my mind on over the years.
"But if Warpcast didn't have exclusivity on DCs and channels, then other clients could better compete"
Yes, but having both be interoperable / in the protocol doesn't magically mean all of that surface area gets built out in other clients.
I would assume other clients can move quicker by copying whatever patterns Warpcast has iterated to (avoiding all of our mistakes) and then in some cases, improve the UX.
But building out a robust chat UX in 2024 that's passable (not even Telegram level snappy) is a lot of work. That's effort not being spent on differentiating features or other core parts of the app. Same goes for channels.
And arguably, the most important part of a feed-based social app is the feed, which is mostly backend (machine learning, performance).
One advantage for other clients are dedicated infrastructure companies like @neynar, @openrank etc.
But it's still a lot of work.
To close: it's easy to have a bunch of opinions on how the ecosystem should be built. But if you talk to the people building the apps, they often have a different perspective having been in the salt mines.
That's not to say we are doing everything perfectly (we're not!) and we don't make mistakes. One of the reasons we are holding Developer Day next week is to get candid feedback from a group of developers working in the ecosystem daily. Goal is to get everyone better aligned and rowing in the same direction to make Farcaster successful.
Dan Romero
Over 900 subscribers
I think it's also an issue of trust. If Warpcast will build so many features outside of protocol, to test them why not open-sourcing it so have transparency, history, and accountability? Most other protocols(Bluesky, Lens, Mastodon, etc) that are working on decentralized social have their main clients open-source. If the team didn't have so much power and wasn't involved in everything that touches the Farcaster ecosystem, the power of abuse wouldn't be so high but as it stands the power of abuse is almost unlimited. I mean instead of saying "build your own client" 100 times, isn't more helpful to say "fork our own client?". There's a clear reticence of open sourcing which only makes people suspicious, everybody knows the cost of open sourcing is not so high that the team can't afford it so the logical conclusion is that the plans for further decentralization, community building, fairness, and transparency are murky. Is there a VC directive to not open-sourcing it? At least if it is we know, and then we're not confused about what is happening. I think is much easier to evade criticism by doing what proves good faith rather than finding an excuse for why you're not doing it.
✨ New on Warpcast: Mini-app experiment We're exploring launching mini-apps from frames and deep links. Thanks to @paragraph and @matthewfox for working with us on the first prototypes. More coming soon. Try out Paragraph and Flappycaster in the frames below 👇
Tap "Read" to read this @paragraph post inline: https://dwr.email/what-does-sufficient-decentralization-mean
Tap "Play Now" to launch Flappycaster: https://www.flappycaster.com/
Under the hood, these are deep links to composer actions. If you're interested in building your own, see the developer docs here: https://warpcast.notion.site/Composer-Action-Deep-Links-55c401c4679244a1a6e8ffb8c0942872
imagine it in landscape mode
Bro wtf is this music tho 😂😂😭
This is so cool
Oh hell yeah
I can't share the score from the frame
So you were the one that created flappy caster 🤯🤯 I play the game when I’ve got nothing to do, it’s kinda fun, but I’m not really good at it
wow, this is great
i like
we might need PiP mode now hehe like i had this paragraph one open, then got a notification from someone replying to one of my casts, and clicking that navigated the warp cast screen behind the open miniapp
or "tabs" like TG has for having multiple webviews be cool to flag "media playback" too, so you could collapse it but listen to a podcast or something while you use the app
the arrow got removed bc we stay in the app, lfg 😏
super cool 🤯
Wowow, paragraph mini app looks neat and it works amazing 💜
Thanks! will be useful⚡️👍🏼
From a technical standpoint, will it be possible to easily convert any frame into a mini app? Or is there much more that goes into it?
A mini app view is a full HTML/CSS/JS webpage, so it's both easier and harder in some ways. Easier because you can use a full interactive canvas and any web framework you want, harder because there's more to set up than a simple image.
Cool! Thank you So if I already have a website set up, eg a blog website like paragraph, but on my own domain/hosting, it’s in a way easier than frames because I don’t need to run a separate app? (Not a dev so trying to understand how it works in practical terms)
oh my....@gotoalberto here we go @horsefacts.eth how will this impact a /frames-devs ? It always felt like /frames where baby apps. This unlock the stuff like webapp to ajax..literally 🤣
What are the payment rails for mini-app? Your explanation above is very helpful.
@unionavatars @caicrucial miniapps in warpcast
The experience on mobile is really good!
yea this flappycaster ux is much nicer
Finally opening mini-apps from the Frame is much more convenient and smooth. the stage is set, and now it’s up to the builders to showcase their talents.
@horsefacts.eth just dmed you!
this is a great experience!
In case you missed it: what does sufficient decentralization mean? https://dwr.email/what-does-sufficient-decentralization-mean
it would be so great if clicking *Read* opened an article that i could scroll, or even an external link, but unfortunately, that's not the case
The mobile experience is great. On desktop it sucks. Click on the image.
Desktop -- you can click on the link, too.
on mobile it doesn't scroll for me, maybe an android issue? probably an overflow css issue but i clicked the image and that opened an external link, so thanks!!
great read, also @reidtandy this is a much better experience!! well done
I did next to nothing, other than cheer from the sidelines! Major s/o to @colin & @horsefacts.eth 👏 🙌
I think you/we are on the right path. If I have to be more strict: - This definition does not have to do with decentralization, I would call it "sufficiently censorship resistant". Decentralization is an implementation that usually favors it, but there's not a 1-to-1 relationship. - Farcaster is censorship resistant right now, but it is extremely easy to lose this property the next moment: You just have to push a hub update, and all hubs will update to the new, censored version. And if I try to run the old version, it probably won't work because of the specific dynamics of the current network. Of course, may say "well, go ahead and implement your version, etc.", and I will respond, "no, no, it's ok, it's good enough for now" 🤣
I missed it. Thanks for sharing it again. Sometimes I wonder to myself what would happen if we had an open source Warpcast...
wow a purple button
I talked about @v's post yesterday when asked about decentralization - now I need to read yours. I do appreciate how much you each share and engage with users.
Could you make the back button close the mini app and go back to the feed instead of closing warpcast entirely? I never use the back button to close an app that's what the home button is for, thanks
We came for decentralized social (community), but Warpcast monopolized the community (Channel). This alone makes other clients far behind. hope to decentralize the channel as soon as possible, or open more channel interfaces, such as channel creating
Just one question can illustrate whether farcaster is "sufficiently decentralized": if warpcast is gone, will farcaster still exist? The definition of existence is whether there will be people running Hubble, whether there will be developers building Farcaster, whether Farcaster will attract more developers to build, and whether Farcaster will grow into the infrastructure of web3. Come and vote !!! https://canvass.fun/p/g811p4
Who said: A bilion-plus daily active users of the ( Farcaster ) protocol, thousands of apps and services and any interest you have or any guirk in terms of the way you wish something existed. Now? Warpcast is almost a monopoly
I often see people Farcaster isn't "sufficiently decentralized". You're free to define what "sufficiently decentralized" means to you, of course, but how we think about it is laid out in Varun's blog post. https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks
"But if most people use Warpcast, doesn't that mean it's de facto centralized?" Depends on the perspective. For a developer, if you are building on the protocol, then you're free to sign up your own users or convince users to move over to your app (it's easy for users to use multiple clients at the same time). For an account with an audience, let's say you were unfairly nerfed by Warpcast, i.e. you don't appear on the app. There's definitely a lot of friction to get people to start using another client if they already don't, but the protocol itself is not restricting your ability to communicate. That's an important distinction because on web2 / centralized social networks, the app and the "protocol" (i.e. the database) is the same thing.
So if you're argument is Farcaster is not sufficiently "decentralized" (or "decentralized" if you don't like the sufficient framing) then you're defining decentralization as a protocol or network that has at least 2 independent, roughly equivalent functionality and UX clients (because majority of consumers revealed preference is UX over principles). That's a reasonable definition. But in practice, in the near-term, there's unlikely to be multiple, well-resourced enough clients that are full-time building on the protocol for amazing UX. That's not a knock on people building, just the reality that in 2024 consumers expect a lot of our their daily driver apps. In the medium to long-term, dedicated individuals, small teams or open source projects can likely hit the UX bar. But that will probably take years of sustained effort. So protocols in the early days are unlikely to hit the bar of 2 independent, roughly equivalent and functionality UX clients. This is something I've changed my mind on over the years.
"But if Warpcast didn't have exclusivity on DCs and channels, then other clients could better compete" Yes, but having both be interoperable / in the protocol doesn't magically mean all of that surface area gets built out in other clients. I would assume other clients can move quicker by copying whatever patterns Warpcast has iterated to (avoiding all of our mistakes) and then in some cases, improve the UX. But building out a robust chat UX in 2024 that's passable (not even Telegram level snappy) is *a lot* of work. That's effort not being spent on differentiating features or other core parts of the app. Same goes for channels. And arguably, the most important part of a feed-based social app is the feed, which is mostly backend (machine learning, performance). One advantage for other clients are dedicated infrastructure companies like @neynar, @openrank etc. But it's still a lot of work.
intredasting.. ⚡️
thoughtful breakdown. do you think that this bar would be more likely to be hit if warpcast was open-source?
RE: users moving to another app: is there a way to "sign in with Farcaster" that doesn't have a Warpcast dependency? That's something I keep mentally snagging on - can a user banned on Warpcast use an alternative client as long as logging into that client requires Warpcast? (I also can't use Supercast because of that dependency)
You can create an account on Supercast without Warpcast. We will have Sign in with Farcaster without Warpcast at some point. But not a top priority for any ecosystem dev yet.
Supercast has direct sign up now 👍
No complaints from me. I got it all up and running and then drowned in the firehouse of data coming my way. I think you guys @v are doing a great job as decentralised data AT SCALE is an unsolved problem you are solving.
Warpcast goes down for an hour, I go to @super and still have reach to my audience. Facebook goes down? Well, that means Instagram and Threads are probably down, so there goes any chance at all to contact anyone there until it's back up. Warpcast decides to quit the game entirely? As long as people are still running hubs, the network can continue through other clients. Facebook or X poofs? We lose contact with everyone we've known online for decades, along with every bit of the content we've put there. I'd say Farcaster is quite sufficiently decentralized for my standards.
Structurally, indeed. In ethos? I’m not sure. But if the goal is for the structure to be decentralized only, then yes. You should, however, be free to message whoever you want to message. You should be able to reply to whoever.
Im sorry but this is the most loose definition of decentralization, and essentially making twitter sufficiently decentralized... you can always change the current setting because you control the protocol
What’s your definition?
In my definition the protocol would be an open source project that is managed by several small groups (and not one main group). not just the client ability to read the protocol. since warpcast is almost exclusively the used client, and all sign ups are done via warpcast, its not decentrlized becuase if you're blocked or nerfed on wc, you're essentially blocked on the network. Hope this makes sense
kinda cant believe i fell for this shit tbh as if they actually were concerned with decentralization in a proper sense at all…. kinda hurts bro
decentralization as a marketing tactic
This would make a great blog post “Sufficient decentralization in practice”
https://dwr.email/what-does-sufficient-decentralization-mean
Many people directly equate Warpcast with Farcaster, then criticize Farcaster for being too centralized.
I think it’s interesting how users prioritize experience over principles sometimes. it really depends on who’s looking at it though, Users care about smooth experiences, and it makes sense. I’m all for seeing smaller teams step up and bring fresh ideas to the table and The Dev's Day sounds like a great chance to get everyone on the same page and spark some cool collaborations, it feels like we’re just scratching the surface of what’s possible here
No issues with me on the "sufficiently decentralized" term. Makes sense IMO. I do feel focusing on making Farcaster as open as possible (DM's / channels) before find tuning the feed should be a priority though. If all clients have the same features, then we have X amount of projects building clients with similar features, each will get more users because of a fair playing field. End result is, more devs / clients / users able to "crack" the feed / spam issues. I'm reluctant, or should I say unable to use any other client full time without DM's and channel features. Would prioritising a level playing field here not be the better play for the whole ecosystem?
I think it’s a reasonable request. But prioritizing the playing field and then not having anyone make a significant, long term investment in building is incorrect prioritization. There are virtually no sign ups from other clients and permissionless sign ups have been live for almost a year. Huge lift, no developer pay off. Developers overwhelmingly want us to get 100x more good users for the protocol before anything else.
It's kind of a chicken and egg thing though isn't it? Probably don't have sign ups because currently they lack all the features. Currently, other clients are for power users, not "normies" IMO. I feel this would change if all things are equal IMO. But I get your point about it being a big, time consuming lift for you guys.
I think you are confused, sir. It is because many functions are controlled by Warpcast that third-party clients are not competitive and have to register with Warpcast. It is because of the monopoly that this situation occurs.
Another one question: has there been any substantial progress in Farcaster in the past 2024?
Can't agree anymore. The reason for not opening up is profit, Warpcast wants to have this piece of cake alone.
This is FUD.
appreciate u guys putting this out there time and time again nearly everything starts out centralized, with the goal of decentralizing over time, fc is leading this in social
I mean someone using 3 letters as a username is quite decentralized enough 😂 Can’t be done in most social networks I believe.
Just one question can illustrate whether farcaster is "sufficiently decentralized": if warpcast is gone, will farcaster still exist?
Define Farcaster existing
The definition of existence is whether there will be people running Hubble, whether there will be developers building Farcaster, whether Farcaster will attract more developers to build, and whether Farcaster will grow into the infrastructure of web3.
Put the thread into an essay here: https://dwr.email/what-does-sufficient-decentralization-mean
Bug on Warpcast mobile: when opening the composer action from the frame overlay, the composer action overlay opens behind the frame.
whoops, will fix
So, the answers is.. "ehhh... maybe?" 😀 Reality is always tougher than imagination. Forecaster is dominated by Warpcast, Warpcast has to follow AppStore's rules, so what started as a censorship resistant protocol (that's the essence of "two users can find each other and communicate" imo), is in practice censored by Apple. However, Farcaster still has escape hatches. And it's important to preserve them and add more if possible, and not get into a state of mind where we make additional compromises because "it's more efficient/fast/easy and Warpcast already controls this aspect of the ecosystem, anyway". Your usual argument about network growth holds value here. We have to make sure that when a network size able, to sustain multiple good clients, is reached, and it makes sense for other apps to compete with WC, the protocol allows it, and it has not been compromised in the process.
I think my argument boils down to: it’s decentralized for developers, but not much incentive to care about Farcaster today since it’s small (the people here are pioneers, different calculus). Grow the pie, people will care.
We agree.
first of all, this frame to mini app is incredible!! second, it there are some bugs, i.e. auto-closing the frame / it doesn't scroll on android will read later when i'm not a my kids salute emoji
Mini app opens behind the frame:
good read fyi - the mini app loads behind the frame when i click read don’t know if warpcast issue or paragraph issue but thought to call it out
Thanks will fix.
Is it possible not open Paragraph mini app in Web? Not a good UX..
Tnx dear💎
I was hoping farcaster would go in a direction where anyone could connect to it via their EVM wallet and actually register via the wallet address, but I don't know for sure if this is possible
Keep up the good work
I'm supporting you through /microsub! 224 $DEGEN (Please mute the keyword "ms!t" if you prefer not to see these casts.)
I'm supporting you through /microsub! 28 $DEGEN (Please mute the keyword "ms!t" if you prefer not to see these casts.)